IP Library Granted Patent US 12693953
Granted Patent B1
US 12693953 · App. 17/031,290 · Granted Jul 28, 2026

Monitoring metrics associated with a user-initiated action in a microservices-based architecture

Inventors: Mayank Agarwal (Mountain View, CA); Steven Flanders (Nashua, NH); Steven Karis (Redwood City, CA); Justin Smith (San Francisco, CA)
Assignee: Cisco Technology, Inc.
G06F11/323G06F11/3006G06F11/3466G06F2201/865
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12693953
App. No.
17/031,290
Granted
Jul 28, 2026
Kind
B1
Abstract

A method of identifying traces associated with a discrete user-initiated instantiation of a process within a microservices-based application comprises aggregating ingested spans associated with the microservices-based application into traces. The method further comprises identifying a first set of traces from the traces associated with a workflow, wherein the workflow comprises a group of microservices associated with the process implemented by the microservices-based application. Also, the method comprises identifying a second set of traces from the first set of traces, wherein the second set of traces is associated with a discrete user-initiated instantiation of the process.

Claims (38)

1 . A method of identifying traces associated with a discrete user-initiated instantiation of a client process within a microservices-based application, the method comprising:

aggregating a plurality of ingested spans associated with the microservices-based application into a plurality of traces, the plurality of ingested spans being generated as a result of execution of the microservices-based application in a distributed computing environment, wherein aggregation of the plurality of ingested spans into the plurality of traces occurs at a sub-second resolution;

identifying a first set of traces from the plurality of traces associated with a workflow, wherein the workflow comprises a group of microservices associated with the client process implemented by the microservices-based application, wherein identifying the first set of traces comprises including in the first set of traces, one or more traces from the plurality of traces that have a same workflow tag value assigned to them;

rendering, in a first graphical user interface, an application topology graph comprising the group of microservices included in the workflow;

detecting, a user interaction with respect to the application topology graph, wherein the user interaction corresponds to a selection of a service included in the group of microservices associated with the workflow;

identifying, in real time, based on the selection executed with respect to the first graphical user interface, a second set of traces from the first set of traces, wherein identifying the second set of traces comprises including in the second set of traces, one or more traces from the first set of traces that have a same workflow identifier tag value assigned to them, wherein the workflow identifier tag value assigned to each trace in the second set of traces is determined based on the user interaction, and wherein a workflow identifier tag is different from a workflow tag, wherein the first set of traces are aggregated in a first time period and the second set of traces are aggregated in a second time period that is smaller than the first time period, the second time period being determined based on a time instance corresponding to the user interaction with the first graphical user interface; and

causing a waterfall graph to be rendered in a second graphical user interface, the waterfall graph including at least: (i) a list of traces included in the second set of traces along with performance metrics of attributes associated with each trace included in the second set of traces, and (ii) a hyperlink associated with each trace included in the second set of traces, wherein the hyperlink upon being clicked, provides a user access to information associated with the trace and all spans included in the trace.

2 . The method of claim 1 , further comprising:

grouping the second set of traces to enable user access thereof through the graphical user interface.

3 . The method of claim 1 , wherein the workflow is associated with the workflow tag extracted from at least one span associated with each of the first set of traces, and wherein further the workflow tag is part of a set of global tags attributed to each of the plurality of traces.

4 . The method of claim 1 , further comprising:

computing metrics for the first set of traces associated with the workflow.

5 . The method of claim 1 , further comprising:

computing metrics for the first set of traces associated with the workflow;

rendering, in the graphical user interface, the application topology graph comprising the group of microservices in the workflow; and

displaying the metrics in the graphical user interface alongside the application topology graph to a user.

6 . The method of claim 1 , further comprising:

computing a first set of metrics for the first set of traces associated with the workflow;

and computing a second set of metrics by filtering the first set of metrics by an additional selected dimension.

7 . The method of claim 1 , further comprising: modifying, in the first graphical user interface, a rendering of the application topology graph comprising the group of microservices in the workflow based on the user interaction.

8 . A non-transitory computer-readable medium having computer-readable program code embodied therein for causing a computer system to perform a method of identifying traces associated with a discrete user-initiated instantiation of a client process within a microservices-based application, the method comprising:

aggregating a plurality of ingested spans associated with the microservices-based application into a plurality of traces, the plurality of ingested spans being generated as a result of execution of the microservices-based application in a distributed computing environment, wherein aggregation of the plurality of ingested spans into the plurality of traces occurs at a sub-second resolution;

identifying a first set of traces from the plurality of traces associated with a workflow, wherein the workflow comprises a group of microservices associated with the client process implemented by the microservices-based application, wherein identifying the first set of traces comprises including in the first set of traces, one or more traces from the plurality of traces that have a same workflow tag value assigned to them;

rendering, in a first graphical user interface, an application topology graph comprising the group of microservices included in the workflow;

detecting, a user interaction with respect to the application topology graph, wherein the user interaction corresponds to a selection of a service included in the group of microservices associated with the workflow;

identifying, in real time, based on the selection executed with respect to the first graphical user interface, a second set of traces from the first set of traces, wherein identifying the second set of traces comprises including in the second set of traces, one or more traces from the first set of traces that have a same workflow identifier tag value assigned to them, wherein the workflow identifier tag value assigned to each trace in the second set of traces is determined based on the user interaction, and wherein a workflow identifier tag is different from a workflow tag, wherein the first set of traces are aggregated in a first time period and the second set of traces are aggregated in a second time period that is smaller than the first time period, the second time period being determined based on a time instance corresponding to the user interaction with the first graphical user interface; and

causing a waterfall graph to be rendered in a second graphical user interface, the waterfall graph including at least: (i) a list of traces included in the second set of traces along with performance metrics of attributes associated with each trace included in the second set of traces, and (ii) a hyperlink associated with each trace included in the second set of traces, wherein the hyperlink upon being clicked, provides a user access to information associated with the trace and all spans included in the trace.

9 . The non-transitory computer-readable medium of claim 8 , wherein the method further comprises grouping the second set of traces to enable user access thereof through the graphical user interface.

10 . The non-transitory computer-readable medium of claim 8 , wherein the workflow is associated with the workflow tag extracted from at least one span associated with each of the first set of traces, and wherein further the workflow tag is part of a set of global tags attributed to each of the plurality of traces.

11 . The non-transitory computer-readable medium of claim 8 , wherein the method further comprises computing metrics for the first set of traces associated with the workflow.

12 . A system for performing a method of identifying traces associated with a discrete user-initiated instantiation of a client process within a microservices-based application, the system comprising:

a processing device communicatively coupled with a memory and configured to:

aggregate a plurality of ingested spans associated with the microservices based application into a plurality of traces, the plurality of ingested spans being generated as a result of execution of the microservices-based application in a distributed computing environment;

identify a first set of traces from the plurality of traces associated with a workflow, wherein the workflow comprises a group of microservices associated with the client process implemented by the microservices-based application, wherein identifying the first set of traces comprises including in the first set of traces, one or more traces from the plurality of traces that have a same workflow tag value assigned to them;

rendering, in a first graphical user interface, an application topology graph comprising the group of microservices included in the workflow;

detect, a user interaction with respect to the application topology graph, wherein the user interaction corresponds to a selection of a service included in the group of microservices associated with the workflow;

identify, based on the selection executed with respect to the first graphical user interface, a second set of traces from the first set of traces, wherein identifying the second set of traces comprises including in the second set of traces, one or more traces from the first set of traces that have a same workflow identifier tag value assigned to them, wherein the workflow identifier tag value assigned to each trace in the second set of traces is determined based on the user interaction, and wherein a workflow identifier tag is different from a workflow tag, wherein the first set of traces are aggregated in a first time period and the second set of traces are aggregated in a second time period that is smaller than the first time period, the second time period being determined based on a time instance corresponding to the user interaction with the first graphical user interface; and

cause a waterfall graph to be rendered in a second graphical user interface, the waterfall graph including at least: (i) a list of traces included in the second set of traces along with performance metrics of attributes associated with each trace included in the second set of traces, and (ii) a hyperlink associated with each trace included in the second set of traces, wherein the hyperlink upon being clicked, provides a user access to information associated with the trace and all spans included in the trace.