Correlating cross process and cross thread execution flows in an application manager
First Claim
1. A computer-implemented method for monitoring execution flows, comprising:
- receiving first aggregated data regarding at least a first producer sequence of invoked components which is initiated in response to at least a first user request which includes at least a first uncompressed URL;
the at least a first producer sequence of invoked components is associated with at least a first process or thread of at least one instrumented application;
the first aggregated data being obtained by monitoring the at least a first producer sequence of invoked components and automatically categorizing the at least a first producer sequence of invoked components into a producer execution flow shape;
the at least a first producer sequence of invoked components provides to at least a second process or thread of the at least one instrumented application;
(i) a first producer request which includes the first uncompressed URL and (ii) meta data which includes a compressed URL which is derived by compressing the first uncompressed URL, where the meta data is sent as additional data with the first producer request, and the at least a second process or thread includes a method which has instrumentation that looks for and digests the meta data;
receiving the meta data along with second aggregated data regarding at least a first consumer sequence of invoked components, the at least a first consumer sequence of invoked components is associated with the at least a second process or thread and is initiated in response to the first producer request;
the second aggregated data being obtained by monitoring the at least a first consumer sequence of invoked components and automatically categorizing the at least a first consumer sequence of invoked components into a consumer execution flow shape; and
using the meta data, including the compressed URL, correlating the consumer execution flow shape with the producer execution flow shape.
3 Assignments
0 Petitions
Accused Products
Abstract
Data relating to execution flows running on different processes or threads at a computer system is correlated. The execution flows may represent sequences of software components that are invoked or other computer system resources that are consumed. A first execution flow fulfills a first request by transmitting a second request which initiates a second execution flow, such as at another computer system. The second request includes meta data which identifies a context of the first request, such as a URL, an agent which monitors the first execution flow, and the component in the first execution flow which initiated the second request. A manager receives information regarding the first execution flow from the first agent, and information regarding the second execution flow, along with the meta data, from a second agent, for correlating the first and second execution flows. The received information may include execution flow shape data.
50 Citations
34 Claims
-
1. A computer-implemented method for monitoring execution flows, comprising:
-
receiving first aggregated data regarding at least a first producer sequence of invoked components which is initiated in response to at least a first user request which includes at least a first uncompressed URL; the at least a first producer sequence of invoked components is associated with at least a first process or thread of at least one instrumented application; the first aggregated data being obtained by monitoring the at least a first producer sequence of invoked components and automatically categorizing the at least a first producer sequence of invoked components into a producer execution flow shape; the at least a first producer sequence of invoked components provides to at least a second process or thread of the at least one instrumented application;
(i) a first producer request which includes the first uncompressed URL and (ii) meta data which includes a compressed URL which is derived by compressing the first uncompressed URL, where the meta data is sent as additional data with the first producer request, and the at least a second process or thread includes a method which has instrumentation that looks for and digests the meta data;receiving the meta data along with second aggregated data regarding at least a first consumer sequence of invoked components, the at least a first consumer sequence of invoked components is associated with the at least a second process or thread and is initiated in response to the first producer request; the second aggregated data being obtained by monitoring the at least a first consumer sequence of invoked components and automatically categorizing the at least a first consumer sequence of invoked components into a consumer execution flow shape; and using the meta data, including the compressed URL, correlating the consumer execution flow shape with the producer execution flow shape. - View Dependent Claims (2, 3, 4, 5, 17, 18, 19, 20, 21, 22, 23, 24, 27, 30, 31, 32)
-
-
6. A computer-implemented method for monitoring execution flows, comprising:
-
monitoring at least a first producer execution flow which;
(a) is initiated in response to at least a first user request which includes a first uncompressed URL, (b) represents at least a first producer sequence of invoked components, and (c) initiates a producer request which includes the first uncompressed URL;the at least a first producer sequence of invoked components is associated with at least a first process or thread of at least one instrumented application; compressing the at least a first uncompressed URL to provide a compressed URL; responsive to the monitoring, automatically categorizing the at least a first producer execution flow into a first execution flow shape using lossy compression so that the first execution flow shape comprises a first sequence of invoked components which represents the at least a first producer sequence of invoked components; providing, to at least a second process or thread of the at least one instrumented application;
(i) the producer request which includes the first uncompressed URL, and (ii) meta data including the compressed URL, the producer request initiates at least a first consumer execution flow based on the first uncompressed URL, the at least a first consumer execution flow represents at least a first consumer sequence of invoked components, and is associated with the at least a second process or thread, where the meta data is sent as additional data with the producer request, and the at least a second process or thread includes a method which has instrumentation that looks for and digests the meta data; andcommunicating data representing the first execution flow shape to a manager, the manager also receives the meta data including the compressed URL, where the data representing the first execution flow shape and the meta data, including the compressed user-facing data, is usable by the manager in correlating a second execution flow shape with the first execution flow shape, where the second execution flow shape is obtained by automatically categorizing the at least a first consumer execution flow. - View Dependent Claims (7, 8, 9, 16, 25, 26, 28, 33)
-
-
10. A computer-implemented method for monitoring execution flows, comprising:
-
monitoring at least a first consumer execution flow which;
(a) is executed in response to a producer request, and (b) which represents at least a first consumer sequence of invoked components;the producer request;
(c) is received from at least a first producer execution flow, (d) includes at least a first uncompressed URL, (e) includes meta data comprising a compressed URL which is obtained by compressing the at least a first uncompressed URL, and (f) is associated with at least a first process or thread of at least one instrumented application;the at least a first consumer sequence of invoked components is associated with at least a second process or thread of the at least one instrumented application; the meta data is received as additional data with the producer request, and the at least a second process or thread includes a method which has instrumentation that looks for and digests the meta data; responsive to the monitoring, automatically categorizing the at least a first consumer execution flow into a consumer execution flow shape using lossy compression so that the consumer execution flow shape comprises a representative sequence of invoked components which represents the at least a first consumer sequence of invoked components; and communicating (f) data representing the consumer execution flow shape and (g) the meta data, to a manager, the meta data, including the compressed URL, being usable by the manager in correlating the data representing the consumer execution flow shape with data representing an execution flow shape of the at least a first producer execution flow. - View Dependent Claims (11, 12, 29, 34)
-
-
13. At least one processor readable storage device having processor readable code embodied thereon for programming at least one processor to perform a method for monitoring execution flows, the method comprising:
-
monitoring at least a first producer execution flow of first executing software based on instrumentation of the first executing software, the at least a first producer execution flow is initiated in response to at least a first user request which includes at least first uncompressed user-facing data, and the at least a first producer execution flow represents a sequence of invoked components; the at least a first producer execution flow is associated with at least a first process or thread; compressing the at least first uncompressed user-facing data to provide compressed user-facing data; the at least a first producer execution flow provides a producer request based on the at least a first user request; providing, to at least a second process or thread;
(i) the producer request, which includes the at least first uncompressed user-facing data, and (ii) meta data, which includes the compressed user-facing data, where the producer request initiates at least a first consumer execution flow of second executing software based on the at least first uncompressed user-facing data;the at least a first consumer execution flow represents a sequence of invoked components; automatically categorizing the at least a first producer execution flow into a first execution flow shape using lossy compression so that the first execution flow shape comprises a first sequence of invoked components which represents the sequence of invoked components of the at least a first producer execution flow; and communicating data representing the first execution flow shape to a manager, the manager also receives the meta data, including the compressed user-facing data, where the data representing the first execution flow shape and the meta data, including the compressed user-facing data, is usable by the manager in correlating data representing a second execution flow shape of the at least a first consumer execution flow with the first execution flow shape. - View Dependent Claims (14, 15)
-
Specification