Real-time reporting based on instrumentation of software
First Claim
1. A method for processing data generated by instrumented software, the method comprising:
- receiving, from one or more external systems, information identifying a plurality of data streams, each data stream generated by an instance of instrumented software executing on the one or more external systems, each data stream comprising tuples, each tuple including values of a first set of attributes of the data stream;
receiving metadata objects describing each of the plurality of data streams, the metadata objects for a data stream describing a second set of attributes, each attribute of the second set distinct from the first set, wherein each metadata object is associated with information identifying a data stream and is associated with one or more properties each comprising a property name and a property value;
receiving a specification of an expression, the expression aggregating data across at least two of the plurality of data streams, the expression based on at least an attribute of the first set and an attribute of the second set, wherein the expression specifies a metadata object having a property name and property value;
selecting the at least two of the plurality of data streams based on the specified metadata object, the at least two of the plurality of data streams having metadata objects with a property value matching the property value of the specified metadata object;
evaluating the expression using at least two of the data streams over a plurality of time intervals to generate an output data stream, the evaluation of the expression comprising, for each time interval;
receiving one or more tuples from the plurality of data streams, each tuple comprising a data value associated with a point in time,determining a value of the expression based on the data values of the received tuples, andproviding the value of the expression for the output data stream; and
sending the output data stream for display via a user interface.
4 Assignments
0 Petitions
Accused Products
Abstract
A data analysis system processes data generated by instrumented software. The data analysis system receives data streams generated by instances of instrumented software executing on systems. The data analysis system also receives metadata describing data streams. The data analysis system receives an expression based on the metadata. The data analysis system receives data of data streams for each time interval and computes the result of the expression based on the received data values. The data analysis system repeats these steps for each time interval. The data analysis system may quantize data values of data streams for each time interval by generating an aggregate value for the time interval based on data received for each data stream for that time interval. The data analysis system evaluates the expression using the quantized data for the time interval.
59 Citations
15 Claims
-
1. A method for processing data generated by instrumented software, the method comprising:
-
receiving, from one or more external systems, information identifying a plurality of data streams, each data stream generated by an instance of instrumented software executing on the one or more external systems, each data stream comprising tuples, each tuple including values of a first set of attributes of the data stream; receiving metadata objects describing each of the plurality of data streams, the metadata objects for a data stream describing a second set of attributes, each attribute of the second set distinct from the first set, wherein each metadata object is associated with information identifying a data stream and is associated with one or more properties each comprising a property name and a property value; receiving a specification of an expression, the expression aggregating data across at least two of the plurality of data streams, the expression based on at least an attribute of the first set and an attribute of the second set, wherein the expression specifies a metadata object having a property name and property value; selecting the at least two of the plurality of data streams based on the specified metadata object, the at least two of the plurality of data streams having metadata objects with a property value matching the property value of the specified metadata object; evaluating the expression using at least two of the data streams over a plurality of time intervals to generate an output data stream, the evaluation of the expression comprising, for each time interval; receiving one or more tuples from the plurality of data streams, each tuple comprising a data value associated with a point in time, determining a value of the expression based on the data values of the received tuples, and providing the value of the expression for the output data stream; and sending the output data stream for display via a user interface. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer readable non-transitory storage medium storing instructions for processing data generated by instrumented software, the instructions executable by a processor to perform operations comprising:
-
receiving, from one or more external systems, information identifying a plurality of data streams, each data stream generated by an instance of instrumented software executing on the one or more external systems, each data stream comprising tuples, each tuple including values of a first set of attributes of the data stream; receiving metadata objects describing each of the plurality of data streams, the metadata objects for a data stream describing a second set of attributes, each attribute of the second set distinct from the first set, wherein each metadata object is associated with information identifying a data stream and is associated with one or more properties each comprising a property name and a property value; receiving a specification of an expression, the expression aggregating data across at least two of the plurality of data streams, the expression based on at least an attribute of the first set and an attribute of the second set, wherein the expression specifies a metadata object having a property name and property value; selecting the at least two of the plurality of data streams based on the specified metadata object, the at least two of the plurality of data streams having metadata objects with a property value matching the property value of the specified metadata object; evaluating the expression using at least two of the data streams over a plurality of time intervals to generate an output data stream, the evaluation of the expression comprising, for each time interval; receiving one or more tuples from the plurality of data streams, each tuple comprising a data value associated with a point in time, determining a value of the expression based on the data values of the received tuples, and providing the value of the expression for the output data stream; and sending the output data stream for display via a user interface. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer-implemented system for processing data generated by instrumented software, the system comprising:
-
a computer processor; and computer readable non-transitory storage medium storing instructions thereon, the instructions executable by a processor to perform operations comprising; receiving, from one or more external systems, information identifying a plurality of data streams, each data stream generated by an instance of instrumented software executing on the one or more external systems, each data stream comprising tuples, each tuple including values of a first set of attributes of the data stream; receiving metadata objects describing each of the plurality of data streams, the metadata objects for a data stream describing a second set of attributes, each attribute of the second set distinct from the first set, wherein each metadata object is associated with information identifying a data stream and is associated with one or more properties each comprising a property name and a property value; receiving a specification of an expression, the expression aggregating data across at least two of the plurality of data streams, the expression based on at least an attribute of the first set and an attribute of the second set, wherein the expression specifies a metadata object having a property name and property value; selecting the at least two of the plurality of data streams based on the specified metadata object, the at least two of the plurality of data streams having metadata objects with a property value matching the property value of the specified metadata object; evaluating the expression using at least two of the data streams over a plurality of time intervals to generate an output data stream, the evaluation of the expression comprising, for each time interval; receiving one or more tuples from the plurality of data streams, each tuple comprising a data value associated with a point in time, determining a value of the expression based on the data values of the received tuples, and providing the value of the expression for the output data stream; and sending the output data stream for display via a user interface. - View Dependent Claims (12, 13, 14, 15)
-
Specification