IP Library Granted Patent US 10,073,767
Granted Patent B2
US 10,073,767 · App. 15/409,300 · Granted Sep 11, 2018

Trace Management

Inventors: Mukesh Gadiya (Sunnyvale, CA); James Thomas Bayer (Palo Alto, CA); Justin Keith Roozeboom (Broomfield, CO)
Assignee: Pivotal Software, Inc.
G06F11/3692G06F11/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,073,767
App. No.
15/409,300
Granted
Sep 11, 2018
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 (59)

1. A method comprising:

presenting, on a display device, a view including one or more traces, each trace including calls between applications of a plurality of microservices deployed on a distributed computing system including one or more computer processors;

receiving a first input selecting a trace from the one or more presented traces;

in response to the first input, presenting a status pane and a log pane in the view, the status pane displaying a call stack of the applications that made the calls in the trace, the log pane displaying log entries corresponding to the calls, wherein:

the call stack includes identifiers of the applications arranged in a display structure that shows dependencies of the calls, and

the log entries are aggregated from the microservices; and

in response to a second input selecting an application from the call stack, emphasizing a log entry in the log pane that corresponds to the selected application.

2. The method of claim 1 , wherein at least one of the calls is an inter-microservice call, and the log entries are stored in a centralized log repository by the plurality of microservices.

3. The method of claim 1 , wherein:

each identifier of an application in the call stack is displayed in association with a respective latency indicator, each latency indicator representing a respective latency of a call of the application; and

the second input selecting the application comprises a selection of a latency indicator associated with the application.

4. The method of claim 3 , comprising:

in response to a third input for sorting the applications based on latencies, rearranging the call stack, including changing orders of the applications represented in the call stack from an order based on call sequence into an order based on the latencies.

5. The method of claim 1 , wherein emphasizing the log entry in the log pane comprises hiding log entries corresponding to unselected applications in the log pane.

6. The method of claim 1 , wherein:

the second input selecting the application is a multi-selection input selecting the application and another application; and

emphasizing the log entry is associated with emphasizing another log entry associated with the other application.

7. The method of claim 1 , wherein the call stack is displayed in a multi-tenancy mode, wherein in the multi-tenancy mode, one or more applications from one or more microservices to which a user lacks access privileges are hidden from the display, causing the call stack to display a broken sequence of calls.

8. A method comprising:

presenting, on a display device, a view including one or more traces, each trace including calls between applications of a plurality of microservices deployed on a distributed computing system including one or more computer processors;

receiving a first input selecting a trace from the one or more presented traces;

in response to the first input, presenting a status pane and a log pane in the view, the status pane displaying latency indicators of the calls in the trace, the log pane displaying log entries corresponding to the calls, wherein:

each latency indicator corresponds to a respective call between two of the applications, the latency indicator representing a latency of the call, and

the log entries are aggregated from the microservices; and

in response to a second input selecting a latency indicator of the latency indicators, emphasizing a log entry in the log pane generated by a call that corresponds to the selected latency indicator.

9. The method of claim 8 , comprising:

in response to a third input for sorting the applications based on latencies, rearranging the latency indicators and the log entries based on latency time.

10. The method of claim 8 , wherein:

the second input selecting the application is a multi-selection input selecting the latency indicator and another latency indicator; and

emphasizing the log entry is associated with emphasizing another log entry associated with the other latency indicator.

11. The method of claim 8 , comprising displaying a call stack in association with the latency indicators.

12. A non-transitory computer readable storage medium storing instructions executable by a data processing apparatus and upon such execution cause the data processing apparatus to perform operations comprising:

presenting, on a display device, a view including one or more traces, each trace including calls between applications of a plurality of microservices deployed on a distributed computing system including one or more computer processors;

receiving a first input selecting a trace from the one or more presented traces;

in response to the first input, presenting a status pane and a log pane in the view, the status pane displaying latency indicators of the calls in the trace, the log pane displaying log entries corresponding to the calls, wherein:

each latency indicator corresponds to a respective call between two of the applications, the latency indicator representing a latency of the call, and

the log entries are aggregated from the microservices; and

in response to a second input selecting a latency indicator of the latency indicators, emphasizing a log entry in the log pane generated by a call that corresponds to the selected latency indicator.

13. The non-transitory computer readable storage medium of claim 12 , the operations comprising:

in response to a third input for sorting the applications based on latencies, rearranging the latency indicators and the log entries based on latency time.

14. A system comprising:

one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

presenting, on a display device, a view including one or more traces, each trace including calls between applications of a plurality of microservices deployed on a distributed computing system including one or more computer processors;

receiving a first input selecting a trace from the one or more presented traces;

in response to the first input, presenting a status pane and a log pane in the view, the status pane displaying a call stack of the applications that made the calls in the trace, the log pane displaying log entries corresponding to the calls, wherein:

the call stack includes identifiers of the applications arranged in a display structure that shows dependencies of the calls, and

the log entries are aggregated from the microservices; and

in response to a second input selecting an application from the call stack, emphasizing a log entry in the log pane that corresponds to the selected application.

15. The system of claim 14 , wherein at least one of the calls is an inter-microservice call, and the log entries are stored in a centralized log repository by the plurality of microservices.

16. The system of claim 14 , wherein:

each identifier of an application in the call stack is displayed in association with a respective latency indicator, each latency indicator representing a respective latency of a call of the application; and

the second input selecting the application comprises a selection of a latency indicator associated with the application.

17. The system of claim 16 , the operations comprising:

in response to a third input for sorting the applications based on latencies, rearranging the call stack, including changing orders of the applications represented in the call stack from an order based on call sequence into an order based on the latencies.

18. The system of claim 14 , wherein emphasizing the log entry in the log pane comprises hiding log entries corresponding to unselected applications in the log pane.

19. The system of claim 14 , wherein:

the second input selecting the application is a multi-selection input selecting the application and another application; and

emphasizing the log entry is associated with emphasizing another log entry associated with the other application.

20. The system of claim 14 , wherein the call stack is displayed in a multi-tenancy mode, wherein in the multi-tenancy mode, one or more applications from one or more microservices to which a user lacks access privileges are hidden from the display, causing the call stack to display a broken sequence of calls.

Assignments (2)
MERGER Recorded May 20, 2026
From: PIVOTAL SOFTWARE, INC.
To: VMWARE LLC
Reel/Frame 075613/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: GADIYA, MUKESH; BAYER, JAMES THOMAS; ROOZEBOOM, JUSTIN KEITH
To: PIVOTAL SOFTWARE, INC.
Reel/Frame 045502/0458 →
Continuity (1)
Related Publication 20180203795A1 · Jul 19, 2018
Cited By (1)
US 12,417,125