IP Library Granted Patent US 10,469,344
Granted Patent B2
US 10,469,344 · App. 15/582,153 · Granted Nov 5, 2019

Systems and methods for monitoring and analyzing performance in a computer system with state distribution ring

Inventors: Tristan Fletcher (Pacifica, CA); Cary Glen Noel (Pleasant Hill, CA)
Assignee: SPLUNK INC.
H04L43/045G06F3/04842G06F9/451G06F9/45558G06F11/324G06F11/3409G06T11/206G09G5/36H04L12/44H04L12/4641H04L41/22H04L43/062H04L43/0817H04L43/0876H04L43/16G06F3/0482G06F3/04847G06F11/3433G06F2009/4557G06F2201/815G06F2201/835G06F2201/86G06T2200/24H04L67/10
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,469,344
App. No.
15/582,153
Granted
Nov 5, 2019
Kind
B2
Abstract

A system that displays performance data for a computing environment. During operation, the system determines performance states for a plurality of entities that comprise the computing environment based on values of a performance metric for the entities. Next, the system displays the computing environment as a tree comprising nodes representing the plurality of entities and edges representing parent-child relationships between the plurality of entities. Then, for each parent node in the tree, the system determines counts of one or more performance states for descendants of the parent node in the tree. Finally, the system displays a graphical representation of the determined counts while displaying the parent node. In some embodiments, displaying the graphical representation of the determined counts includes displaying a circular ring comprising visually distinct sections associated with different performance states, wherein the visually distinct sections are sized proportionately with the determined counts for the associated performance states.

Claims (103)

1. A computer-implemented method for displaying performance data for components of a computing environment, the method comprising:

receiving, from a user, an identification of a component type and a performance metric for determining a performance state for each component of the component type operating in the computing environment;

dynamically generating a query for retrieving data based on the identification of the component type and the performance metric;

upon execution of the query, retrieving (i) a value for the identified performance metric for each component that matches the component type, and (ii) an identity for each component that matches the component type;

determining a performance state for each component based on the associated value according to the identified performance metric;

retrieving architectural information including relationships between the components of the computing environment;

dynamically generating, based on the architectural information, a visual output including a tree comprising:

leaf nodes representing the components matching the component type,

parent nodes representing parent components of the components matching the component type, and

links representing parent-child relationships between the components represented by the leaf nodes and the parent nodes,

wherein individual nodes in the tree are displayed with respective graphical indications of the performance states of the respective represented components, based upon execution of the dynamically generated query, to differentiate between components of the computing environment operating within a normal range and components experiencing performance problems.

2. The method of claim 1 , wherein:

the query is executed by an indexer,

prior to the execution of the query by the indexer, the indexer:

receives raw machine data;

segments the raw machine data into events;

determines timestamps for the events;

associates the timestamps with the events;

transforms data in the events; and

stores the events in a data store associated with the indexer, and

upon execution of the query, the indexer generates the value for the identified performance metric based on the stored events.

3. The method of claim 2 , wherein, prior to the execution of the query by the indexer, the indexer identifies a set of keywords contained in the events and indexes the set of keywords.

4. The method of claim 1 , wherein each parent node is represented in the visual output as a circular ring comprising visually distinct sections, each visually distinct section being associated with a different performance state and sized proportionately with a number of child nodes that are determined to be in the associated performance state.

5. The method of claim 4 , wherein, for each parent node, information describing attributes of the parent node is within the circular ring.

6. The method of claim 4 , wherein performance states are associated with different colors, and wherein each visually distinct section includes a colored portion having a color associated with the performance state associated the visually distinct section.

7. The method of claim 4 , wherein performance states are associated with different colors, wherein each leaf node includes a colored portion having a color associated with the performance state of the component represented by the leaf node, and wherein each visually distinct section includes a colored portion having a color associated with the performance state associated the visually distinct section.

8. The method of claim 3 , wherein the generation of the visual output includes:

determining a sorted order for child nodes of each parent node based on the values associated with the components represented by the child nodes, and

displaying the child nodes for each parent node in the sorted order.

9. The method of claim 1 , wherein a component type can be one of: a virtual machine, a host system that executes one or more virtual machines, a cluster comprising one or more host systems, and a virtual center comprising one or more clusters.

10. The method of claim 1 , wherein a performance state can be one of a critical state, a warning state, a normal state, and an unknown state.

11. The method of claim 1 , further comprising receiving, from the user, one or more time ranges, wherein the generated query is for retrieving data based on the identification of the component type and the performance metric and the one or more time ranges, and wherein the retrieved value is collected during the one or more time ranges.

12. The method of claim 1 , wherein the performance metric relates to one or more of:

response time;

central-processing unit (CPU) utilization;

memory utilization;

disk utilization;

network utilization; and

power consumption.

13. The method of claim 1 , further comprising:

receiving, from the user, an input command to pin a node of the tree; and

in response to receiving the input command, dynamically generating a second visual output including state information associated with the node to be pinned, wherein the state information includes a set of data associated with the component represented by the node and selected based on at least one of: a component type of the component represented by the node and a node type of the node.

14. A system that displays performance data for a computing environment, the system comprising:

a computing cluster comprising a plurality of processors and associated memories; and

a performance-monitoring mechanism that executes on the computing cluster and is configured to:

receive, from a user, an identification of a component type and a performance metric for determining a performance state for each component of the component type operating in the computing environment;

dynamically generate a query for retrieving data based on the identification of the component type and the performance metric;

upon execution of the query, retrieve (i) a value for the identified performance metric for each component that matches the component type, and (ii) an identity for each component that matches the component type;

determine a performance state for each component based on the associated value according to the identified performance metric;

retrieve architectural information including relationships between the components of the computing environment;

dynamically generate, based on the architectural information, a visual output including a tree comprising:

leaf nodes representing the components matching the component type,

parent nodes representing parent components of the components matching the component type, and

links representing parent-child relationships between the components represented by the leaf nodes and the parent nodes,

wherein individual nodes in the tree are displayed with respective graphical indications of the performance states of the respective represented components, based upon execution of the dynamically generated query, to differentiate between components of the computing environment operating within a normal range and components experiencing performance problems.

15. The system of claim 14 , wherein:

the query is executed by an indexer,

prior to the execution of the query by the indexer, the indexer:

receives raw machine data;

segments the raw machine data into events;

determines timestamps for the events;

associates the timestamps with the events;

transforms data in the events; and

stores the events in a data store associated with the indexer, and

upon execution of the query, the indexer generates the value for the identified performance metric based on the stored events.

16. The system of claim 14 , wherein each parent node is represented in the visual output as a circular ring comprising visually distinct sections, each visually distinct section being associated with a different performance state and sized proportionately with a number of child nodes that are determined to be in the associated performance state.

17. The system of claim 16 , wherein, for each parent node, information describing attributes of the parent node is within the circular ring.

18. The system of claim 16 , wherein performance states are associated with different colors, and wherein each visually distinct section includes a colored portion having a color associated with the performance state associated the visually distinct section.

19. The system of claim 16 , wherein performance states are associated with different colors, wherein each leaf node includes a colored portion having a color associated with the performance state of the component represented by the leaf node, and wherein each visually distinct section includes a colored portion having a color associated with the performance state associated the visually distinct section.

20. The system of claim 14 , wherein the generation of the visual output includes:

determining a sorted order for child nodes of each parent node based on the values associated with the components represented by the child nodes, and

displaying the child nodes for each parent node in the sorted order.

21. The system of claim 14 , wherein the performance-monitoring mechanism is further configured to receive, from the user, one or more time ranges, wherein the generated query is for retrieving data based on the identification of the component type and the performance metric and the one or more time ranges, and wherein the retrieved value is collected during the one or more time ranges.

22. The system of claim 14 , wherein the performance-monitoring mechanism is further configured to receive, from the user, an input command to pin a node of the tree; and in response to receiving the input command, dynamically generate a second visual output including state information associated with the node to be pinned, wherein the state information includes a set of data associated with the component represented by the node and selected based on at least one of: a component type of the component represented by the node and a node type of the node.

23. A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method comprising:

receiving, from a user, an identification of a component type and a performance metric for determining a performance state for each component of the component type operating in the computing environment;

dynamically generating a query for retrieving data based on the identification of the component type and the performance metric;

upon execution of the query, retrieving (i) a value for the identified performance metric for each component that matches the component type, and (ii) an identity for each component that matches the component type;

determining a performance state for each component based on the associated value according to the identified performance metric;

retrieving architectural information including relationships between the components of the computing environment;

dynamically generating, based on the architectural information, a visual output including a tree comprising:

leaf nodes representing the components matching the component type,

parent nodes representing parent components of the components matching the component type, and

links representing parent-child relationships between the components represented by the leaf nodes and the parent nodes,

wherein individual nodes in the tree are displayed with respective graphical indications of the performance states of the respective represented components, based upon execution of the dynamically generated query, to differentiate between components of the computing environment operating within a normal range and components experiencing performance problems.

24. The non-transitory computer-readable medium of claim 23 , wherein:

the query is executed by an indexer,

prior to the execution of the query by the indexer, the indexer:

receives raw machine data;

segments the raw machine data into events;

determines timestamps for the events;

associates the timestamps with the events;

transforms data in the events; and

stores the events in a data store associated with the indexer, and

upon execution of the query, the indexer generates the value for the identified performance metric based on the stored events.

25. The non-transitory computer-readable medium of claim 23 , wherein each parent node is represented in the visual output as a circular ring comprising visually distinct sections, each visually distinct section being associated with a different performance state and sized proportionately with a number of child nodes that are determined to be in the associated performance state.

26. The non-transitory computer-readable medium of claim 25 , wherein, for each parent node, information describing attributes of the parent node is within the circular ring.

27. The non-transitory computer-readable medium of claim 25 , wherein performance states are associated with different colors, wherein each leaf node includes a colored portion having a color associated with the performance state of the component represented by the leaf node, and wherein each visually distinct section includes a colored portion having a color associated with the performance state associated the visually distinct section.

28. The non-transitory computer-readable medium of claim 23 , wherein the generation of the visual output includes:

determining a sorted order for child nodes of each parent node based on the values associated with the components represented by the child nodes, and

displaying the child nodes for each parent node in the sorted order.

29. The non-transitory computer-readable medium of claim 23 , the method further includes receiving, from the user, one or more time ranges, wherein the generated query is for retrieving data based on the identification of the component type and the performance metric and the one or more time ranges, and wherein the retrieved value is collected during the one or more time ranges.

30. The non-transitory computer-readable medium of claim 23 , the method further includes receiving, from the user, an input command to pin a node of the tree; and in response to receiving the input command, dynamically generating a second visual output including state information associated with the node to be pinned, wherein the state information includes a set of data associated with the component represented by the node and selected based on at least one of: a component type of the component represented by the node and a node type of the node.

Assignments (4)
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 →
CHANGE OF NAME Recorded Jan 6, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 069825/0782 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2018
From: FLETCHER, TRISTAN; NOEL, CARY GLEN
To: SPLUNK INC.
Reel/Frame 045893/0627 →
Continuity (12)
Continuation 15215191 · Jul 20, 2016
Continuation 14609045 · Jan 29, 2015
Continuation 14253529 · Apr 15, 2014
Continuation In Part 14167316 · Jan 29, 2014
Continuation 13874423 · Apr 30, 2013
Continuation In Part 13874434 · Apr 30, 2013
Continuation In Part 13874441 · Apr 30, 2013
Continuation In Part 13874448 · Apr 30, 2013
Provisional Application 61883869 · Sep 27, 2013
Provisional Application 61900700 · Nov 6, 2013
Provisional Application 61979484 · Apr 14, 2014
Related Publication 20170264512A1 · Sep 14, 2017