US 12,141,047 B1
Configuring automated workflows for application performance monitoring
Gergely Danyi, Cupertino, CA (US); Sakshi Garg, San Francisco, CA (US); Maxime Petazzoni, San Mateo, CA (US); Sahinaz Safari Sanjani, San Mateo, CA (US); Timothy Matthew Robin Williamson, Santa Barbara, CA (US); and Eric Wohlstadter, Atherton, CA (US)
Assigned to SPLUNK Inc., San Francisco, CA (US)
Filed by Splunk Inc., San Francisco, CA (US)
Filed on Jan. 31, 2022, as Appl. No. 17/589,637.
Claims priority of provisional application 63/257,056, filed on Oct. 18, 2021.
Int. Cl. G06F 9/44 (2018.01); G06F 11/36 (2006.01)
CPC G06F 11/3612 (2013.01) [G06F 11/3636 (2013.01); G06F 11/3664 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of computing real-time metrics for automated workflows in a distributed computing environment comprising microservices, the method comprising:
detecting, via one or more processors, a user request associated with an execution of a microservices-based distributed application within the distributed computing environment;
monitoring, via the one or more processors, tasks associated with the microservices-based distributed application that executes within the distributed computing environment to generate a plurality of ingested spans for a plurality of user requests, including the user request;
aggregating, via the one or more processors, the plurality of ingested spans into a plurality of traces, wherein individual ones of the plurality of traces are associated with the user request, of the user requests, that propagates between two or more microservices;
determining, via the one or more processors, a configuration of a plurality of rules, wherein the configuration indicates an execution priority of the plurality of rules, and wherein rules are associated with determining a manner in which workflow names are assigned to a plurality of workflows associated with the plurality of traces;
executing via the one or more processors, the plurality of rules according to the execution priority to determine the plurality of workflows associated with the plurality of traces, wherein each workflow of the plurality of workflows is associated with a respective trace of the plurality of traces, and wherein each workflow is operable to group together activity associated with a client process within a respective trace;
assigning, via the one or more processors, a name to each workflow of the plurality of workflows based on the executing of the plurality of rules, wherein at least a portion of assigned names are based at least in part an occurrence of one or more service names specified in at least a portion of the rules; and
computing, via the one or more processors, the real-time metrics for each of the plurality of the workflows.