In a microservices-based application, tracking errors by mapping traces to error stacks

US11928014B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11928014-B1
Application numberUS-202217681446-A
CountryUS
Kind codeB1
Filing dateFeb 25, 2022
Priority dateNov 1, 2019
Publication dateMar 12, 2024
Grant dateMar 12, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of tracking errors in a system comprising microservices comprises ingesting a plurality of spans generated by the microservices during a given duration of time. The method further comprises consolidating the plurality of spans associated with the given duration of time into a plurality of traces, wherein each trace comprises a subset of the plurality of spans that comprise a common trace identifier. For each trace, the method comprises: a) mapping a respective trace to one or more error stacks computed for the respective trace and to one or more attributes determined for the respective trace; and b) emitting each error stack computed from the respective trace with an associated pair of attributes. The method then comprises reducing duplicate pairs of error stack and associated attributes and maintaining a count for each pair of error stack and associated attributes.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of tracking errors in a system comprising microservices, the method comprising: consolidating a plurality of ingested spans associated with a first duration of time into a plurality of traces, wherein each of the plurality of traces comprise a subset of the plurality of ingested spans; for each trace of the plurality of traces: mapping a respective trace to one or more error stacks computed for the respective trace and to one or more attributes determined for the respective trace; and pairing each error stack computed from the respective trace with a set of associated attributes. 2. The method of claim 1 , further comprising: reducing duplicate pairs of error stacks and associated attributes and maintaining a count value for each pair of error stack and associated attributes. 3. The method of claim 1 , further comprising: reducing duplicate pairs of error stacks and associated attributes and maintaining a count value for each pair of error stack and associated attributes; storing each pair of error stack and associated attributes with the count value in a database, wherein the count value is associated with a number of times each pair occurred during the first duration of time; and storing each pair of error stack and associated attributes with a summary metric in the database, and wherein the database is operable to be queried by a client. 4. The method of claim 1 , further comprising: repeating the consolidating, the mapping, and the pairing for each subsequent duration of time. 5. The method of claim 1 , wherein the one or more attributes determined for the respective trace pertain to a user request. 6. The method of claim 1 , wherein the one or more error stacks computed for the respective trace comprises an ordered list of span error frames, wherein a top-most frame in the ordered list is associated with a root cause error span, wherein each subsequent span error frame is associated with a parent span of a prior span in the ordered list, wherein a root cause error span comprises an error span associated with a microservice that originated an error, and wherein each span error frame in the ordered list comprises summary information associated with a respective span. 7. The method of claim 1 , further comprising: reducing duplicate pairs of error stacks and associated attributes and maintaining a count value for each pair of error stack and associated attributes; storing each pair of error stack and associated attributes with the count value in a database, wherein the count value is associated with a number of times each pair occurred during the first duration of time; and providing a user a graphical user interface (GUI) to query the database. 8. The method of claim 1 , further comprising: reducing duplicate pairs of error stacks and associated attributes and maintaining a count value for each pair of error stack and associated attributes; storing each pair of error stack and associated attributes with the count value in a database, wherein the count value is associated with a number of times each pair occurred during the first duration of time; and providing a graphical user interface (GUI) to query the database, wherein the GUI provides a user options to filter error information for each stored error stack across the associated attributes. 9. The method of claim 1 , further comprising: prior to the consolidating, flagging spans, from the plurality of ingested spans, that are associated with probe data; reducing duplicate pairs of error stacks and associated attributes and maintaining a count value for each pair of error stack and associated attributes; storing each pair of error stack and associated attributes with the count value in a database, wherein the count value is associated with a number of times each pair occurred during the first duration of time; rendering a graphical user interface (GUI) operable to submit a query to the database; and responsive to a user selection of an exclude option in the GUI, excluding the probe data from a result set displayed in response to the query. 10. The method of claim 1 , further comprising: prior to the consolidating, excluding spans from the plurality of ingested spans that are associated with probe data. 11. The method of claim 1 , further comprising: prior to the consolidating, excluding spans from the plurality of ingested spans that are associated with probe data, wherein the probe data is defined based on user-specified criteria entered using a GUI. 12. The method of claim 1 , further comprising: prior to the consolidating, excluding spans from the plurality of ingested spans that are associated with probe data, wherein the probe data is defined based on user-specified criteria. 13. A non-transitory computer-readable medium having computer-readable program code embodied therein for causing a computer system to perform a method for tracking errors in a system comprising microservices, the method comprising: consolidating a plurality of ingested spans associated with a first duration of time into a plurality of traces, wherein each of the plurality of traces comprise a subset of the plurality of ingested spans; for each trace of the plurality of traces: mapping a respective trace to one or more error stacks computed for the respective trace and to one or more attributes determined for the respective trace; and pairing each error stack computed from the respective trace with a set of associated attributes. 14. The non-transitory computer-readable medium of claim 13 , wherein the method further comprises: reducing duplicate pairs of error stacks and associated attributes and maintaining a count value for each pair of error stack and associated attributes. 15. The non-transitory computer-readable medium of claim 13 , wherein the method further comprises: reducing duplicate pairs of error stacks and associated attributes and maintaining a count value for each pair of error stack and associated attributes; storing each pair of error stack and associated attributes with the count value in a database, wherein the count value is associated with a number of times each pair occurred during the first duration of time; and storing each pair of error stack and associated attributes with a summary metric in the database, and wherein the database is operable to be queried by a client. 16. The non-transitory computer-readable medium of claim 13 , wherein the method further comprises: repeating the consolidating, the mapping, and the pairing for each subsequent duration of time. 17. The non-transitory computer-readable medium of claim 13 , wherein the method further comprises, wherein the one or more attributes determined for the respective trace pertain to a user request. 18. The non-transitory computer-readable medium of claim 13 , wherein the one or more error stacks computed for the respective trace comprises an ordered list of span error frames, wherein a top-most frame in the ordered list is associated with a root cause error span, wherein each subsequent span error frame is associated with a parent span of a prior span in the ordered list, wherein a root cause error span comprises an error span associated with a microservice that originated an error, and wherein each span error frame in the ordered list comprises summary information associated with a respective span. 19. A system for tracking errors in a network comprising microservices, the system comprising: a processing device communicatively coupled with a mem

Assignees

Inventors

Classifications

  • G06F11/079Primary

    Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36) · CPC title

  • Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06) · CPC title

  • Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40) · CPC title

  • Performance evaluation by tracing or monitoring · CPC title

  • Prevention of errors by analysis, debugging or testing of software · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11928014B1 cover?
A method of tracking errors in a system comprising microservices comprises ingesting a plurality of spans generated by the microservices during a given duration of time. The method further comprises consolidating the plurality of spans associated with the given duration of time into a plurality of traces, wherein each trace comprises a subset of the plurality of spans that comprise a common tra…
Who is the assignee on this patent?
Splunk Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/079. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 12 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).