IP Library Granted Patent US 10,877,986
Granted Patent B2
US 10,877,986 · App. 16/262,824 · Granted Dec 29, 2020

Obtaining performance data via an application programming interface (API) for correlation with log data

Inventors: Brian Bingham (Denver, CO); Tristan Fletcher (Pleasant Hill, CA); Alok Anant Bhide (Mountain Viea, CA)
Assignee: SPLUNK Inc.
G06F16/248G06F9/45533G06F11/323G06F16/2455H04L41/069H04L41/22H04L43/06G06F11/3409G06F2201/815
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,877,986
App. No.
16/262,824
Granted
Dec 29, 2020
Kind
B2
Abstract

The disclosed system and method acquire and store performance measurements relating to performance of a component in an information technology (IT) environment and log data produced by the IT environment, in association with corresponding time stamps. The disclosed system and method correlate at least one of the performance measurements with at least one of the portions of log data.

Claims (69)

1. A method comprising:

acquiring, by a computer system, a plurality of portions of log data from at least one log file, the portions of log data representing activity of at least one hardware or software component of an information technology (IT) environment;

acquiring, by a computer system, a plurality of performance measurements for a performance metric associated with at least one hardware or software component of the IT environment, wherein said acquiring includes acquiring the plurality of performance measurements via an application programming interface (API) of a third-party software application that collects the performance measurements;

storing, by the computer system, the acquired performance measurements and the acquired portions of log data from the at least one log file;

correlating, by the computer system, at least one of the stored performance measurements with at least one of the stored portions of log data from the at least one log file, based on a correlation criterion, wherein said correlating includes

in response to a user-specified search query including the correlation criterion, applying the search query to the stored performance measurements and stored portions of log data,

causing display of an indication of a performance measurement that satisfies the correlation criterion, and

causing display of an indication of a portion of log data from the at least one log file, that satisfies the correlation criterion.

2. A method as recited in claim 1 , wherein the API is an API of a software application for managing a virtual machine environment.

3. A method as recited in claim 1 , wherein the correlation criterion is a time-based.

4. A method as recited in claim 1 , wherein the correlation criterion is not a time-based criterion.

5. A method as recited in claim 1 , wherein the correlation criterion is a user-specified search criterion.

6. A method as recited in claim 1 , wherein the correlation criterion is a user-specified search criterion that is not a time-based criterion.

7. A method as recited in claim 1 , wherein said correlating comprises causing concurrent display of the performance measurements that satisfy the correlation criterion and a listing of raw log data that satisfy the correlation criterion.

8. A method as recited in claim 1 , wherein the user-specified search criterion relates to a machine in the IT environment.

9. A method as recited in claim 1 , further comprising:

obtaining the correlation criterion from a user input to a graphical user interface element that enables a user to input a search criterion as said correlation criterion but does not enable input of a complete search query.

10. A method as recited in claim 1 , further comprising:

obtaining the correlation criterion from a user's selection from a drop-down list in a graphical user interface.

11. A method as recited in claim 1 , wherein the correlation criterion relates to a machine in the IT environment and is specified by user's selection from a drop-down list of machines included in the IT environment.

12. A method as recited in claim 1 , further comprising, prior to said correlating:

obtaining the correlation criterion from a search query input by a user into a query box in a text-based search query language.

13. A method as recited in claim 1 , wherein

said storing comprises storing each of the acquired performance measurements and each of the acquired portions of log data with a time-stamp in a time-series data store;

said correlating further comprises identifying at least one of the stored performance measurements and at least one of the stored portions of log data that have time stamps that satisfy a user-specified time criterion.

14. A method as recited in claim 1 , wherein the performance measurements have been determined by direct measurement of a hardware or software component in the IT environment.

15. A method as recited in claim 1 , wherein the plurality of portions of log data are from a text-based log file.

16. A method as recited in claim 1 , wherein the plurality of performance measurements are not derived from a log file and are acquired independently of the plurality of portions of log data.

17. A method as recited in claim 1 , wherein the plurality of performance measurements are acquired independently of the plurality of portions of log data, and wherein the performance measurements have been determined by direct measurement of a hardware or software component in the IT environment and the plurality of portions of log data are from a text-based log file.

18. A method as recited in claim 1 , wherein the plurality of performance measurements are acquired independently of the plurality of portions of log data by direct measurement of a hardware or software component in the IT environment, and the plurality of portions of log data are acquired independently of the performance measurements.

19. A method as recited in claim 1 , wherein the performance measurements are stored in a first time-series data store, and the portions of log data are stored in a second time-series data store separate from the first time-series data store.

20. A method as recited in claim 1 , wherein the performance measurements are stored in a time-series data store in a first format, and the portions of log data are stored in said time-series data store in a second format different from the first format.

21. A method as recited in claim 1 , wherein the performance measurements are stored in a first time-series data store in a first format, and the portions of log data are stored in a second time-series data store separate from the first time-series data store in a second format different from the first format.

22. A method as recited in claim 1 , wherein the performance measurements are stored in a first time-series data store in a first format, and the portions of log data are stored in a second time-series data store separate from the first time-series data store in a second format different from the first format;

the method further comprising:

receiving a user-specified search query in a query language for searching the first and second time-series data stores, the user-specified search query containing the correlation criterion;

wherein said correlating includes, in response to the user-specified search query, searching the first time-series data store for performance data that satisfy the correlation criterion and searching the second time-series data store for log data that satisfy the correlation criterion.

23. A method as recited in claim 1 , wherein the performance measurements are stored in a first time-series data store in a first format, and the portions of log data are stored in a second time-series data store separate from the first time-series data store in a second format different from the first format;

the method further comprising:

receiving a user-specified search query in a query language for searching the first and second time-series data stores, the user-specified search query containing the correlation criterion, wherein the correlation criterion comprises a user-specified value or a user-specified range of values, for a user-specified field;

wherein said correlating includes, in response to the user-specified search query, searching the first time-series data store for performance data that satisfy the correlation criterion and searching the second time-series data store for log data that satisfy the correlation criterion.

24. A method as recited in claim 1 , further comprising:

acquiring structure data indicative of structure characteristics of the IT environment;

storing the acquired structure data indicative of structure characteristics of the IT environment; and

correlating a performance characteristic of the IT environment with a structure characteristic of the IT environment, based on the stored performance measurements and stored structure data.

25. A method as recited in claim 1 , further comprising:

acquiring structure data indicative of structure characteristics of the IT environment, wherein the structure data is derived from log data from the IT environment;

storing the acquired structure data indicative of structure characteristics of the IT environment; and

correlating a performance characteristic of the IT environment with a structure characteristic of the IT environment, based on the stored performance measurements and stored structure data.

26. A method as recited in claim 1 , wherein the performance metric comprises a performance metric for at least one hardware or software resource of a computer system.

27. A method as recited in claim 1 , wherein the performance metric comprises a performance metric for at least one of a virtual machine, a virtual machine host, or a virtual machine cluster.

28. A method as recited in claim 1 , wherein the plurality of performance measurements are repeatedly retrieved via the application programming interface of the third-party software application and stored in persistent storage as events.

29. A non-transitory machine-readable storage medium for use in a processing system of a data intake and query system, the non-transitory machine-readable storage medium storing instructions, an execution of which in the processing system causes the processing system to perform operations comprising:

acquiring a plurality of portions of log data from at least one log file, the portions of log data representing activity of at least one hardware or software component of an information technology (IT) environment;

acquiring a plurality of performance measurements for a performance metric associated with at least one hardware or software component of the IT environment, wherein said acquiring includes acquiring the plurality of performance measurements via an application programming interface (API) of a third-party software application that collects the performance measurements;

storing the acquired performance measurements and the acquired portions of log data from the at least one log file; and

correlating at least one of the stored performance measurements with at least one of the stored portions of log data from the at least one log file, based on a correlation criterion, wherein said correlating includes

in response to a user-specified search query including the correlation criterion, applying the search query to the stored performance measurements and stored portions of log data,

causing display of an indication of a performance measurement that satisfies the correlation criterion, and

causing display of an indication of a portion of log data from the at least one log file, that satisfies the correlation criterion.

30. A system comprising:

a communication device through which to communicate on a computer network; and

at least one processor operatively coupled to the communication device and configured to perform operations including acquiring a plurality of portions of log data from at least one log file, the portions of log data representing activity of at least one hardware or software component of an information technology (IT) environment;

acquiring a plurality of performance measurements for a performance metric associated with at least one hardware or software component of the IT environment, wherein said acquiring includes acquiring the plurality of performance measurements via an application programming interface (API) of a third-party software application that collects the performance measurements;

storing the acquired performance measurements and the acquired portions of log data from the at least one log file; and

correlating at least one of the stored performance measurements with at least one of the stored portions of log data from the at least one log file, based on a correlation criterion, wherein said correlating includes

in response to a user-specified search query including the correlation criterion, applying the search query to the stored performance measurements and stored portions of log data,

causing display of an indication of a performance measurement that satisfies the correlation criterion, and

causing display of an indication of a portion of log data from the at least one log file, that satisfies the correlation criterion.

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 Mar 26, 2019
From: BINGHAM, BRIAN; FLETCHER, TRISTAN; BHIDE, ALOK ANANT
To: SPLUNK INC.
Reel/Frame 048705/0530 →
Continuity (17)
Continuation 15421353 · Jan 31, 2017
Continuation In Part 14167316 · Jan 29, 2014
Continuation In Part 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
Continuation In Part 14801721 · Jul 16, 2015
Continuation 14253548 · Apr 15, 2014
Continuation In Part 14167316
Continuation In Part 13874423
Continuation In Part 13874434
Continuation In Part 13874441
Continuation In Part 13874448
Provisional Application 61883869 · Sep 27, 2013
Provisional Application 61900700 · Nov 6, 2013
Provisional Application 61979484 · Apr 14, 2014
Related Publication 20190179815A1 · Jun 13, 2019