IP Library Granted Patent US 11,126,538
Granted Patent B1
US 11,126,538 · App. 17/021,896 · Granted Sep 21, 2021

User interface for specifying data stream processing language programs for analyzing instrumented software

Inventors: Eyal Ophir (Mountain View, CA); Kevin Cheng (Sunnyvale, CA)
Assignee: Splunk Inc.
G06F11/3644G06F11/3692G06F16/24568G06F16/24578
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 11,126,538
App. No.
17/021,896
Granted
Sep 21, 2021
Kind
B1
Abstract

An instrumentation analysis system processes data streams by executing instructions specified using a data stream language program. A user interface allows users to specify data stream language programs. The user interface presents widgets to the user to specify various components of a data stream language program, including a filter expression, an analytical function representing an aggregation or transformation, and so on. The user interface allows users to specify an expression based on results of previously specified data stream language programs. The instrumentation analysis system processes the data stream language programs specified by the user to generate a set of result data streams and plots the result data streams, for example, on a screen of a client device.

Claims (47)

1. A computer-implemented method for specifying data stream language programs through a user interface for analyzing instrumented software, the method comprising:

receiving, through the user interface, specifications of the data stream language program for generating one or more sets of graphs based on filtered data of a plurality of data streams, the filtered data generated based on received filter expressions;

receiving, through the user interface, one or more analytical functions for the one or more sets of graphs, each analytical function comprising at least one of a transformation or an aggregation;

generating the one or more sets of graphs based on the specifications of the data stream language program and the one or more analytical functions; and

associating each of the one or more sets of graphs with a label.

2. The computer-implemented method of claim 1 , further comprising:

generating the user interface for specifying the data stream language program, the user interface comprising one or more user interface elements for receiving the filter expressions.

3. The computer-implemented method of claim 1 , wherein the filter expressions comprise values of one or more names of metrics of data streams.

4. The computer-implemented method of claim 1 , wherein the filter expressions are received through widgets of the user interface.

5. The computer-implemented method of claim 1 , further comprising:

generating, through the one or more analytical functions, an aggregate value based on a plurality of data values, each data value obtained from a distinct input data stream for each of the data stream language programs.

6. The computer-implemented method of claim 1 , further comprising:

calculating, through the one or more analytical functions, a mean over a collection of data points by dividing a sum of the collection by a number of the data points in the collection.

7. The computer-implemented method of claim 1 , further comprising:

receiving, through the user interface, a time shift value for a data stream language program corresponding to a plot line of a graph, the time shift value specifying a length of a time interval.

8. The computer-implemented method of claim 1 , further comprising:

selecting a metric from a catalog of metrics for each of the data stream language programs.

9. The computer-implemented method of claim 1 , further comprising:

generating, through the data stream language program, data streams that identify a limiting resource.

10. The computer-implemented method of claim 9 , further comprising:

receiving, through the user interface, a detector to alert a user when an overall utilization of the limiting resource reaches a limit.

11. A system for specifying data stream language programs through a user interface for analyzing instrumented software, the system comprising:

at least one memory having instructions stored thereon; and

at least one processor configured to execute the instructions, wherein the at least one processor is configured to:

receive, through the user interface, specifications of the data stream language program for generating one or more sets of graphs based on filtered data of a plurality of data streams, the filtered data generated based on received filter expressions;

receive, through the user interface, one or more analytical functions for the one or more sets of graphs, each analytical function comprising at least one of a transformation or an aggregation;

generate the one or more sets of graphs based on the specifications of the data stream language program and the one or more analytical functions; and

associate each of the one or more sets of graphs with a label.

12. The system of claim 11 , further configured to:

generate the user interface for specifying the data stream language program, the user interface comprising one or more user interface elements for receiving the filter expressions.

13. The system of claim 11 , wherein the filter expressions comprise values of one or more names of metrics of data streams.

14. The system of claim 11 , wherein the filter expressions are received through widgets of the user interface.

15. The system of claim 11 , further configured to:

generate, through the one or more analytical functions, an aggregate value based on a plurality of data values, each data value obtained from a distinct input data stream for each of the data stream language programs.

16. The system of claim 11 , further configured to:

calculate, through the one or more analytical functions, a mean over a collection of data points by dividing a sum of the collection by a number of the data points in the collection.

17. The system of claim 11 , further configured to:

receive, through the user interface, a time shift value for a data stream language program corresponding to a plot line of a graph, the time shift value specifying a length of a time interval.

18. The system of claim 11 , further configured to:

select a metric from a catalog of metrics for each of the data stream language programs.

19. The system of claim 11 , further configured to:

generate, through the data stream language program, data streams that identify a limiting resource.

20. A non-transitory computer-readable storage medium comprising instructions stored thereon, which when executed by one or more processors, cause the one or more processors to perform operations for specifying data stream language programs through a user interface for analyzing instrumented software, comprising:

receiving, through the user interface, specifications of the data stream language program for generating one or more sets of graphs based on filtered data of a plurality of data streams, the filtered data generated based on received filter expressions;

receiving, through the user interface, one or more analytical functions for the one or more sets of graphs, each analytical function comprising at least one of a transformation or an aggregation;

generating the one or more sets of graphs based on the specifications of the data stream language program and the one or more analytical functions; and

associating each of the one or more sets of graphs with a label.

Assignments (5)
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 →
MERGER AND CHANGE OF NAME Recorded Oct 6, 2020
From: SIGNALFX, INC.; SOLIS MERGER SUB II, LLC; SIGNALFX LLC
To: SIGNALFX LLC
Reel/Frame 053989/0175 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2020
From: SIGNALFX LLC
To: SPLUNK INC.
Reel/Frame 053989/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2020
From: OPHIR, EYAL; CHENG, KEVIN
To: SIGNALFX, INC.
Reel/Frame 053991/0687 →
Continuity (4)
Continuation 16538634 · Aug 12, 2019
Continuation 15867663 · Jan 10, 2018
Continuation 15277787 · Sep 27, 2016
Provisional Application 62307188 · Mar 11, 2016