Application topology graph for representing uninstrumented objects in a microservices-based architecture

US11755446B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11755446-B1
Application numberUS-202218076206-A
CountryUS
Kind codeB1
Filing dateDec 6, 2022
Priority dateJan 24, 2020
Publication dateSep 12, 2023
Grant dateSep 12, 2023

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 rendering a graphical user interface (GUI) comprising an application topology graph for a microservice architecture comprises generating a plurality of traces from a first plurality of spans generated by instrumented services in the architecture and generating generate a second plurality of spans for uninstrumented services using information extracted from the first plurality of spans. The method further comprises grouping the second plurality of spans with the plurality of traces. Subsequently, the method comprises traversing the traces and collecting a plurality of span pairs from the plurality of traces, wherein each pair of the span pairs is associated with a call between two services. The method also comprises aggregating information across the plurality of span pairs to reduce duplicative information associated with multiple occurrences of a same span pair from the plurality of span pairs. Finally, the method comprises rendering the application topology graph using the aggregated information.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for rendering a graphical user interface (GUI) comprising an application topology graph for a client application, the method comprising: ingesting a plurality of spans associated with a trace; identifying leaf spans from the plurality of spans; and for each leaf span in the plurality of spans: determining, by applying rules to tags and associated values thereof of a respective leaf span, whether the respective leaf span is associated with a call to a corresponding uninstrumented service; responsive to determining that the respective leaf span is associated with the call to the corresponding uninstrumented service, composing a span for the corresponding uninstrumented service; and rendering, based on the span for the corresponding uninstrumented service, a node for the corresponding uninstrumented service in the application topology graph rendered in the GUI. 2. The method of claim 1 , wherein composing the span for the corresponding uninstrumented service further comprises inheriting one or more tags of the respective leaf span in the span for the corresponding uninstrumented service. 3. The method of claim 1 , wherein responsive to determining that the respective leaf span is associated with the call to the corresponding uninstrumented service further comprises creating a data object to keep track of the corresponding uninstrumented service. 4. The method of claim 1 , wherein the corresponding uninstrumented service is selected from a group consisting of: an originating uninstrumented service initiating the call to an instrumented service, an uninstrumented target service receiving the call from the instrumented service, and an uninstrumented intermediary service occurring between two instrumented services. 5. The method of claim 1 , further comprising: rendering a plurality of instrumented services associated with the client application, wherein each of the plurality of instrumented services is rendered with a different visual attribute as compared to uninstrumented services. 6. The method of claim 1 , further comprising: incorporating the span for the corresponding uninstrumented service in the trace. 7. The method of claim 1 , further comprising: rendering directional edges between nodes in the application topology graph, wherein a directional edge is indicative of a source service that initiated the call and a target service that received the call. 8. The method of claim 7 , wherein a display thickness of the directional edge is determined based on a number of calls made by the source service to the target service. 9. The method of claim 1 , wherein a display size of each node included in the application topology graph is determined by a first number of calls received by a service corresponding to the node and a second number of calls made by the service to other services. 10. A non-transitory computer-readable medium having computer-readable program code embodied therein for causing a computer system to perform a method of rendering a graphical user interface (GUI) comprising an application topology graph for a client application, the method comprising: ingesting a plurality of spans associated with a trace; identifying leaf spans from the plurality of spans; and for each leaf span in the plurality of spans: determining, by applying rules to tags and associated values thereof of a respective leaf span, whether the respective leaf span is associated with a call to a corresponding uninstrumented service; responsive to determining that the respective leaf span is associated with the call to the corresponding uninstrumented service, composing a span for the corresponding uninstrumented service; and rendering, based on the span for the corresponding uninstrumented service, a node for the corresponding uninstrumented service in the application topology graph rendered in the GUI. 11. The non-transitory computer-readable medium of claim 10 , wherein composing the span for the corresponding uninstrumented service further comprises inheriting one or more tags of the respective leaf span in the span for the corresponding uninstrumented service. 12. The non-transitory computer-readable medium of claim 10 , wherein responsive to determining that the respective leaf span is associated with the call to the corresponding uninstrumented service, the method further comprises creating a data object to keep track of the corresponding uninstrumented service. 13. The non-transitory computer-readable medium of claim 10 , wherein the corresponding uninstrumented service is selected from a group consisting of: an originating uninstrumented service initiating the call to an instrumented service, an uninstrumented target service receiving the call from the instrumented service, and an uninstrumented intermediary service occurring between two instrumented services. 14. The non-transitory computer-readable medium of claim 10 , the method further comprising: rendering a plurality of instrumented services associated with the client application, wherein each of the plurality of instrumented services is rendered with a different visual attribute as compared to uninstrumented services. 15. The non-transitory computer-readable medium of claim 10 , the method further comprising: rendering directional edges between nodes in the application topology graph, wherein a directional edge is indicative of a source service that initiated the call and a target service that received the call. 16. The non-transitory computer-readable medium of claim 15 , wherein a display thickness of the directional edge is determined based on a number of calls made by the source service to the target service. 17. The non-transitory computer-readable medium of claim 10 , wherein a display size of each node included in the application topology graph is determined by a first number of calls received by a service corresponding to the node and a second number of calls made by the service to other services. 18. A system for rendering a graphical user interface (GUI) comprising an application topology graph for a client application, the system comprising: a memory; and a processing device communicatively coupled with the memory and configured to: ingest a plurality of spans associated with a trace; identify leaf spans from the plurality of spans; and for each leaf span in the plurality of spans: determine, by applying rules to tags and associated values thereof of a respective leaf span, whether the respective leaf span is associated with a call to a corresponding uninstrumented service; responsive to determining that the respective leaf span is associated with the call to the corresponding uninstrumented service, compose a span for the corresponding uninstrumented service; and render, based on the span for the corresponding uninstrumented service, a node for the corresponding uninstrumented service in the application topology graph rendered in the GUI. 19. The system of claim 18 , wherein the processing device composes the span for the corresponding uninstrumented service by inheriting one or more tags of the respective leaf span in the span for the corresponding uninstrumented service. 20. The system of claim 18 , wherein the corresponding uninstrumented service is selected from a group consisting of: an originating uninstrumented service initiating the call to an instrumented service, an uninstrumented target service receiving the call from the instrumented service, and an uninstrumented intermediary service occu

Assignees

Inventors

Classifications

  • G06F11/323Primary

    Visualisation of programs or trace data · CPC title

  • where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title

  • Performance evaluation by tracing or monitoring · CPC title

  • Monitoring of software · CPC title

  • Alarm or error message display · 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 US11755446B1 cover?
A method of rendering a graphical user interface (GUI) comprising an application topology graph for a microservice architecture comprises generating a plurality of traces from a first plurality of spans generated by instrumented services in the architecture and generating generate a second plurality of spans for uninstrumented services using information extracted from the first plurality of spa…
Who is the assignee on this patent?
Splunk Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/323. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 12 2023 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).