IP Library › Granted Patent US 11,789,804
Granted Patent B1
US 11,789,804 · App. 17/589,556 · Granted Oct 17, 2023

Identifying the root cause of failure observed in connection to a workflow

Inventors: Gergely Danyi (Cupertino, CA); Sakshi Garg (San Francisco, CA); Maxime Petazzoni (San Mateo, CA); Sahinaz Safari Sanjani (San Mateo, CA); Timothy Matthew Robin Williamson (Santa Barbara, CA); Eric Wohlstadter (Atherton, CA)
Assignee: SPLUNK Inc.
G06F11/079G06F11/0751G06F11/0778
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 11,789,804
App. No.
17/589,556
Granted
Oct 17, 2023
Kind
B1
Abstract

A method of identifying a root cause of a failure for a trace within a microservices-based application includes determining if a root span of the trace is an error span resulting in an error experienced by a user at a front end of the microservices-based application. If the root span of the trace is an error span, the method analyzes a plurality of spans comprising the trace to determine if the trace comprises at least one leaf error span. If the trace comprises a single leaf error span, the method attributes the root cause of the failure in the trace to a service associated with the single leaf error span. If the trace comprises multiple leaf error spans the method attributes the root cause of the failure in the trace to a service associated with a leaf error span of the multiple leaf error spans comprising a latest starting timestamp.

Claims (46)

1. A method of identifying a root cause of a failure for a trace within a microservices-based application, the method comprising:

determining if a root span of the trace is an error span resulting in an error experienced by a user at a front end of the microservices-based application;

responsive to a determination that the root span of the trace is the error span, analyzing a plurality of spans comprising the trace to determine if the trace comprises at least one leaf error span that is a last error span of a chain of unbroken error spans starting at the root span;

responsive to a determination that the trace comprises the at least one leaf error span, attributing the root cause of the failure in the trace to a service associated with the at least one leaf error span; and

responsive to a determination that the trace comprises multiple leaf error spans, attributing the root cause of the failure in the trace to a service associated with a leaf error span of the multiple leaf error spans that comprises a latest starting timestamp.

2. The method of claim 1 , wherein the trace is associated with a workflow, wherein the workflow is operable to group together a plurality of spans in the trace generated in response to a client process implemented by a group of services comprised within the microservices-based application.

3. The method of claim 1 , wherein the trace is tagged with a global tag comprising a name of the service associated with the root cause of the failure.

4. The method of claim 1 , wherein the trace is tagged with a global tag comprising a name of the service associated with the root cause of the failure, and further comprising:

computing metrics for the service associated with the root cause of the failure using the global tag.

5. The method of claim 1 , further comprising:

displaying the trace as a graphical element in a graphical user interface, wherein the graphical element visually indicates which service in the trace is associated with the root cause of the failure.

6. The method of claim 1 , wherein the trace is tagged with a global tag comprising a name of the service associated with the root cause of the failure, and further comprising:

computing metrics for the service associated with the root cause of the failure using the global tag and a data set associated with a metric time series modality.

7. The method of claim 1 , wherein the trace is tagged with a global tag comprising a name of the service associated with the root cause of the failure, and further comprising:

computing metrics for the service associated with the root cause of the failure using the global tag and a data set associated with a metric events modality.

8. The method of claim 1 , wherein the trace is tagged with a global tag comprising a name of the service associated with the root cause of the failure, and further comprising:

computing metrics for the service associated with the root cause of the failure using the global tag, wherein the metrics comprise: request; error; and latency related metrics.

9. The method of claim 1 , further comprising:

displaying the trace as a graphical element in a graphical user interface, wherein the graphical element visually indicates which service in the trace is associated with the root cause of the failure; and

providing a client with information regarding a service team connected with the service associated with the root cause of the failure through the graphical user interface.

10. A non-transitory computer-readable medium having computer-readable program code embodied therein for causing a computer system to perform a method of identifying a root cause of a failure for a trace within a microservices-based application, the method comprising:

determining if a root span of the trace is an error span resulting in an error experienced by a user at a front end of the microservices-based application;

responsive to a determination that the root span of the trace is an error span, analyzing a plurality of spans comprising the trace to determine if the trace comprises at least one leaf error span that is a last error span of a chain of unbroken error spans starting at the root span;

responsive to a determination that the trace comprises at least one leaf error span, attributing the root cause of the failure in the trace to a service associated with the at least one leaf error span; and

responsive to a determination that the trace comprises multiple leaf error spans, attributing the root cause of the failure in the trace to a service associated with a leaf error span of the multiple leaf error spans that comprises a latest starting timestamp.

11. The non-transitory computer-readable medium of claim 10 , wherein the trace is associated with a workflow, wherein the workflow groups together a plurality of spans in the trace generated in response to a client process implemented by a group of services comprised within the microservices-based application.

12. The non-transitory computer-readable medium of claim 10 , wherein the trace is tagged with a global tag comprising a name of the service associated with the root cause of the failure.

13. The non-transitory computer-readable medium of claim 10 , wherein the trace is tagged with a global tag comprising a name of the service associated with the root cause of the failure, and wherein the method further comprises:

computing metrics for the service associated with the root cause of the failure using the global tag.

14. The non-transitory computer-readable medium of claim 10 , wherein the method further comprises:

displaying the trace as a graphical element in a graphical user interface, wherein the graphical element visually indicates which service in the trace is associated with the root cause of the failure.

15. The non-transitory computer-readable medium of claim 10 , wherein the trace is tagged with a global tag comprising a name of the service associated with the root cause of the failure, and wherein the method further comprises:

computing metrics for the service associated with the root cause of the failure using the global tag and a data set associated with a metric time series modality.

16. The non-transitory computer-readable medium of claim 10 , wherein the trace is tagged with a global tag comprising a name of the service associated with the root cause of the failure, and wherein the method further comprises:

computing metrics for the service associated with the root cause of the failure using the global tag and a data set associated with a metric events modality.

17. The non-transitory computer-readable medium of claim 10 , wherein the trace is tagged with a global tag comprising a name of the service associated with the root cause of the failure, and wherein the method further comprises:

computing metrics for the service associated with the root cause of the failure using the global tag, wherein the metrics comprise: request; error; and latency related metrics.

18. The non-transitory computer-readable medium of claim 10 , wherein the method further comprises:

displaying the trace as a service graph in a graphical user interface, wherein the service graph visually indicates which service in the trace is associated with the root cause of the failure; and

providing a client information regarding a service team connected with the service associated with the root cause of the failure through the graphical user interface.

19. A system for performing a method of identifying a root cause of a failure for a trace within a microservices-based application, the system comprising: a processing device communicatively coupled with a memory and configured to:

determine if a root span of the trace is an error span resulting in an error experienced by a user at a front end of the microservices-based application;

responsive to a determination that the root span of the trace is the error span, analyzing a plurality of spans comprising the trace to determine if the trace comprises at least one leaf error span that is a last error span of a chain of unbroken error spans starting at the root span;

responsive to a determination that the trace comprises the at least one leaf error span, attribute the root cause of the failure in the trace to a service associated with the at least one leaf error span; and

responsive to a determination that the trace comprises multiple leaf error spans, attribute the root cause of the failure in the trace to a service associated with a leaf error span of the multiple leaf error spans comprising a latest starting timestamp.

20. The system of claim 19 , wherein the trace is associated with a workflow, wherein the workflow groups together a plurality of spans in the trace generated in response to a client process implemented by a group of services comprised within the microservices-based application.

Assignments (3)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2022
From: DANYI, GERGELY; GARG, SAKSHI; PETAZZONI, MAXIME; SANJANI, SAHINAZ SAFARI; WILLIAMSON, TIMOTHY MATTHEW ROBIN; WOHLSTADTER, ERIC
To: SPLUNK INC.
Reel/Frame 058836/0195 →
Continuity (1)
Provisional Application 63257056 · Oct 18, 2021
Cited By (5)
US 12,321,729 US 12,438,766 US 12,455,884 US 12,608,297 US 12,657,117