IP Library Granted Patent US 10,489,285
Granted Patent B2
US 10,489,285 · App. 16/126,804 · Granted Nov 26, 2019

Trace management

Inventors: Mukesh Gadiya (Sunnyvale, CA); James Thomas Bayer (Palo Alto, CA); Justin Keith Rooseboom (Broomfield, CO)
Assignee: Pivotal Software, Inc.
G06F11/3692G06F11/323G06F11/3495G06F11/3612G06F11/3636H04L67/02
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 10,489,285
App. No.
16/126,804
Granted
Nov 26, 2019
Kind
B2
Abstract

Systems, methods, and computer program products for trace management in a distributed computing environment are described. A trace manager receives a request to analyze a trace of a series of calls between applications serving requests in a microservice architecture. The trace manager determines metrics including, for example, latency information and start time for the series of calls. The trace manager presents the metrics in association with log entries correlated to the series of calls. A call stack, or one or more latency indicators, provides a user interface of selecting one or more calls. A user selection of a particular call in the call stack or a latency indicator causes one or more corresponding log entries to be emphasized or filtered. The call stack and the one or more latency indicators can have various display configurations.

Claims (39)

1. A distributed computing system comprising:

a plurality of computers and one or more storage devices storing instructions that are operable, when executed by the plurality of computers, to cause the plurality of computers to perform operations comprising:

receiving, by a trace manager of the distributed computing system, a request to present a trace view presentation that presents a visual representation of latency for a plurality of calls between microservice applications installed on respective nodes in the distributed computing system;

processing a plurality of log entries generated by one or more of the microservice applications to determine respective start and end points of each call of the plurality of calls between the microservice applications;

generating the trace view presentation for a particular call of the plurality of calls, wherein the trace view presentation presents a plurality of respective traces for the particular call and one or more other calls, each trace of the plurality of traces having a length that represents a measure of latency for a call represented by the trace relative to other traces in the trace view presentation; and

providing the trace view presentation for the particular call for display in response to receiving the request.

2. The system of claim 1 , wherein generating the trace view presentation comprises generating a status pane comprising the plurality of respective traces and a log pane comprising a visual representation of log entries corresponding to the plurality of traces.

3. The system of claim 2 , wherein the operations further comprise:

receiving, through the trace view presentation, a user selection of a log entry in the log pane; and

in response, visually distinguishing a trace corresponding to the selected log entry from other traces in the status pane.

4. The system of claim 1 , wherein the trace view presentation presents, in association with each trace, a visual indication of a name of a microservice application that made a call represented by the trace.

5. The system of claim 1 , wherein the trace view presentation comprises a call stack pane that represents which microservice applications called which other microservice applications.

6. The system of claim 5 , wherein the microservice applications in the call stack pane are aligned along a horizontal axis with respective traces for calls by the microservice applications.

7. The system of claim 1 , wherein the trace view presentation presents the plurality of traces in a sorted order according to respective measures of latency of each trace.

8. One or more non-transitory computer storage media encoded with computer program instructions that when executed by a distributed computing system comprising a plurality of computers cause the plurality of computers to perform operations comprising:

receiving, by a trace manager of the distributed computing system, a request to present a trace view presentation that presents a visual representation of latency for a plurality of calls between microservice applications installed on respective nodes in the distributed computing system;

processing a plurality of log entries generated by one or more of the microservice applications to determine respective start and end points of each call of the plurality of calls between the microservice applications;

generating the trace view presentation for a particular call of the plurality of calls, wherein the trace view presentation presents a plurality of respective traces for the particular call and one or more other calls, each trace of the plurality of traces having a length that represents a measure of latency for a call represented by the trace relative to other traces in the trace view presentation; and

providing the trace view presentation for the particular call for display in response to receiving the request.

9. The one or more computer storage media of claim 8 , wherein generating the trace view presentation comprises generating a status pane comprising the plurality of respective traces and a log pane comprising a visual representation of log entries corresponding to the plurality of traces.

10. The one or more computer storage media of claim 9 , wherein the operations further comprise:

receiving, through the trace view presentation, a user selection of a log entry in the log pane; and

in response, visually distinguishing a trace corresponding to the selected log entry from other traces in the status pane.

11. The one or more computer storage media of claim 8 , wherein the trace view presentation presents, in association with each trace, a visual indication of a name of a microservice application that made a call represented by the trace.

12. The one or more computer storage media of claim 8 , wherein the trace view presentation comprises a call stack pane that represents which microservice applications called which other microservice applications.

13. The one or more computer storage media of claim 12 , wherein the microservice applications in the call stack pane are aligned along a horizontal axis with respective traces for calls by the microservice applications.

14. The one or more computer storage media of claim 8 , wherein the trace view presentation presents the plurality of traces in a sorted order according to respective measures of latency of each trace.

15. A method performed by a distributed computing system comprising a plurality of computers, the method comprising:

receiving, by a trace manager of the distributed computing system, a request to present a trace view presentation that presents a visual representation of latency for a plurality of calls between microservice applications installed on respective nodes in the distributed computing system;

processing a plurality of log entries generated by one or more of the microservice applications to determine respective start and end points of each call of the plurality of calls between the microservice applications;

generating the trace view presentation for a particular call of the plurality of calls, wherein the trace view presentation presents a plurality of respective traces for the particular call and one or more other calls, each trace of the plurality of traces having a length that represents a measure of latency for a call represented by the trace relative to other traces in the trace view presentation; and

providing the trace view presentation for the particular call for display in response to receiving the request.

16. The method of claim 15 , wherein generating the trace view presentation comprises generating a status pane comprising the plurality of respective traces and a log pane comprising a visual representation of log entries corresponding to the plurality of traces.

17. The method of claim 16 , further comprising:

receiving, through the trace view presentation, a user selection of a log entry in the log pane; and

in response, visually distinguishing a trace corresponding to the selected log entry from other traces in the status pane.

18. The method of claim 15 , wherein the trace view presentation presents, in association with each trace, a visual indication of a name of a microservice application that made a call represented by the trace.

19. The method of claim 15 , wherein the trace view presentation comprises a call stack pane that represents which microservice applications called which other microservice applications.

20. The method of claim 19 , wherein the microservice applications in the call stack pane are aligned along a horizontal axis with respective traces for calls by the microservice applications.

Assignments (2)
MERGER Recorded May 20, 2026
From: PIVOTAL SOFTWARE, INC.
To: VMWARE LLC
Reel/Frame 075613/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2019
From: GADIYA, MUKESH; BAYER, JAMES THOMAS; ROOZEBOOM, JUSTIN KEITH
To: PIVOTAL SOFTWARE, INC.
Reel/Frame 048462/0147 →
Continuity (2)
Continuation 15409300 · Jan 18, 2017
Related Publication 20190004936A1 · Jan 3, 2019