Stream application performance monitoring metrics
First Claim
1. A non-transitory computer-readable storage medium storing an application, which, when executed on a processor in a stream-based computing system, performs an operation comprising:
- receiving, at a first processing element of a plurality of processing elements of the stream-based computing system that are configured to process data tuples flowing through the stream-based computing system, one or more tuples associated with a first data stream, each of the one or more tuples including a plurality of data attributes;
processing each of the one or more tuples at the first processing element;
for each of the one or more tuples, associating the tuple with respective metadata that includes information related to the processing of the tuple by the first processing element and includes at least a first and a second counter that each correspond to a respective one of the plurality of data attributes of the tuple, wherein the first and second counters indicate a number of times that the corresponding data attribute has changed;
updating, at one or more of the plurality of processing elements that are located downstream of the first processing element, at least one of the first and second counters based on further processing of the one or more tuples by the one or more downstream processing elements;
calculating, after the one or more tuples have flowed through the plurality of processing elements, performance metrics based on the metadata associated with the one or more tuples;
displaying the calculated performance metrics via a user interface on a display device; and
automatically adjusting, based on the calculated performance metrics, a configuration of the stream-based computing system.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are disclosed for calculating performance metrics associated with a data stream. A processing element configured to process data tuples flowing through a stream-based computing system receives data tuples via the data stream. Each of the one or more tuples is processed at the processing element, and each of the one or more tuples are associated with metadata that includes information related to the processing of the tuple by the processing element. Performance metrics are then calculated for the data stream based on the metadata associated with the one or more tuples.
19 Citations
18 Claims
-
1. A non-transitory computer-readable storage medium storing an application, which, when executed on a processor in a stream-based computing system, performs an operation comprising:
-
receiving, at a first processing element of a plurality of processing elements of the stream-based computing system that are configured to process data tuples flowing through the stream-based computing system, one or more tuples associated with a first data stream, each of the one or more tuples including a plurality of data attributes; processing each of the one or more tuples at the first processing element; for each of the one or more tuples, associating the tuple with respective metadata that includes information related to the processing of the tuple by the first processing element and includes at least a first and a second counter that each correspond to a respective one of the plurality of data attributes of the tuple, wherein the first and second counters indicate a number of times that the corresponding data attribute has changed; updating, at one or more of the plurality of processing elements that are located downstream of the first processing element, at least one of the first and second counters based on further processing of the one or more tuples by the one or more downstream processing elements; calculating, after the one or more tuples have flowed through the plurality of processing elements, performance metrics based on the metadata associated with the one or more tuples; displaying the calculated performance metrics via a user interface on a display device; and automatically adjusting, based on the calculated performance metrics, a configuration of the stream-based computing system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A stream-based computing system, comprising:
-
a plurality of compute nodes collectively providing a plurality of processing elements for processing data tuples flowing through the stream-based computing system, each compute node comprising a respective processor and a respective memory, wherein the memory stores a stream performance monitor which, when executed on the compute node, is configured to perform an operation for calculating performance metrics, the operation comprising; receiving, at a first processing element of the plurality of processing elements, one or more tuples associated with a first data stream, each of the one or more tuples including a plurality of data attributes; processing each of the one or more tuples at the first processing element; for each of the one or more tuples, associating the tuple with respective metadata that includes information related to the processing of the tuple by the first processing element and includes at least a first and a second counter that each correspond to a respective one of the plurality of data attributes of the tuple, wherein the first and second counters indicate indicating a number of times that the corresponding data attribute has changed; updating, at one or more of the plurality of processing elements that are located downstream of the first processing element, at least one of the first and second counters based on further processing of the one or more tuples by the one or more downstream processing elements; calculating, after the one or more tuples have flowed through the plurality of processing elements, performance metrics based on the metadata associated with the one or more tuples; displaying the calculated performance metrics via a user interface on a display device; and automatically adjusting, based on the calculated performance metrics, a configuration of the stream-based computing system. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A stream-based computing system, comprising:
-
a plurality of compute nodes collectively providing a plurality of processing elements for processing data tuples flowing through the stream-based computing system, each compute node comprising a respective processor and a respective memory, wherein the memory stores a stream performance monitor which, when executed on the compute node, is configured to perform an operation for calculating performance metrics, the operation comprising; receiving, at a first processing element of the plurality of processing elements, one or more tuples associated with a first data stream, each of the one or more tuples including a plurality of data attributes; processing each of the one or more tuples at the first processing element; for each of the one or more tuples, associating the tuple with respective metadata that includes information related to the processing of the tuple by the first processing element and includes at least a first and a second counter that each correspond to a respective one of the plurality of data attributes of the tuple and indicate a number of times that the respective data attribute has changed; updating, at one or more of the plurality of processing elements that are located downstream of the first processing element, at least one of the first and second counters based on further processing of the one or more tuples by the one or more downstream processing elements; calculating, after the one or more tuples have flowed through the plurality of processing elements, performance metrics based on values of the first and second counters associated with each of the one or more tuples; and based on the calculated performance metrics, automatically modify a configuration of a plurality of processing elements that are executing on the plurality of compute nodes. - View Dependent Claims (18)
-
Specification