Dynamic tracer message logging based on bottleneck detection
First Claim
1. A computer implemented method of monitoring message processing by an application in a data transaction processing system, the method comprising:
- detecting, by a processor coupled with the application, that the application has received a message of a plurality of messages for processing as each message of the plurality of messages is received by the application, the application including a plurality of checkpoints, wherein each of the plurality of checkpoints is enabled or disabled, and further wherein at least first, second and third checkpoints of the plurality of checkpoints are enabled, the third enabled checkpoint being located between the first and second enabled checkpoints in a message processing sequence;
detecting, by the processor, that a message processing latency between the first and second enabled checkpoints of the plurality of checkpoints is less than an amount of time between new messages arriving at a portion of the application defined by the first and second enabled checkpoints and further detecting that a number of messages awaiting processing by the portion of the application defined by the first and second enabled checkpoints exceeds a threshold number of messages, and based thereon, disabling, by the processor, the third enabled checkpoint; and
upon a received message of the plurality of messages traversing an enabled checkpoint of the plurality of checkpoints, storing, by the processor, in a data store, a data entry indicative of the received message, the traversed enabled checkpoint, and a time when the received message traversed the enabled checkpoint.
1 Assignment
0 Petitions
Accused Products
Abstract
A monitoring system monitors processing of incoming messages by an application, and logs data related to performance of the application. The application includes a plurality of checkpoints, and the monitoring system logs data upon each message traversing the checkpoints in the application. The monitoring system is configured to dynamically modify checkpoints within the application based on latency detection of portions of the application, resulting in improved granularity/resolution of the data collected from congested portions of the application, and reducing the performance penalty of the monitoring system from portions of the application that are not congested.
32 Citations
18 Claims
-
1. A computer implemented method of monitoring message processing by an application in a data transaction processing system, the method comprising:
-
detecting, by a processor coupled with the application, that the application has received a message of a plurality of messages for processing as each message of the plurality of messages is received by the application, the application including a plurality of checkpoints, wherein each of the plurality of checkpoints is enabled or disabled, and further wherein at least first, second and third checkpoints of the plurality of checkpoints are enabled, the third enabled checkpoint being located between the first and second enabled checkpoints in a message processing sequence; detecting, by the processor, that a message processing latency between the first and second enabled checkpoints of the plurality of checkpoints is less than an amount of time between new messages arriving at a portion of the application defined by the first and second enabled checkpoints and further detecting that a number of messages awaiting processing by the portion of the application defined by the first and second enabled checkpoints exceeds a threshold number of messages, and based thereon, disabling, by the processor, the third enabled checkpoint; and upon a received message of the plurality of messages traversing an enabled checkpoint of the plurality of checkpoints, storing, by the processor, in a data store, a data entry indicative of the received message, the traversed enabled checkpoint, and a time when the received message traversed the enabled checkpoint. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium storing instructions for monitoring message processing by an application in a data transaction processing system that, when executed by a processor, cause the processor to:
-
detect that the application has received a message of a plurality of messages for processing as each message of the plurality of messages is received by the application, the application including a plurality of checkpoints, wherein each of the plurality of checkpoints is enabled or disabled, and further wherein at least first, second and third checkpoints of the plurality of checkpoints are enabled, the third enabled checkpoint being located between the first and second enabled checkpoints in a message processing sequence; detect that a message processing latency between the first and second enabled checkpoints of the plurality of checkpoints is less than an amount of time between new messages arriving at a portion of the application defined by the first and second enabled checkpoints and further detect that a number of messages awaiting processing by the portion of the application defined by the first and second enabled checkpoints exceeds a threshold number of messages, and based thereon, disable the third enabled checkpoint; and upon a received message of the plurality of messages traversing an enabled checkpoint of the plurality of checkpoints, store, in a data store, a data entry indicative of the received message, the traversed enabled checkpoint, and a time when the received message traversed the enabled checkpoint. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer system for monitoring message processing by an application in a data transaction processing system, the computer system comprising:
-
means for detecting that the application has received a message of a plurality of messages for processing as each message of the plurality of messages is received by the application, the application including a plurality of checkpoints, wherein each of the plurality of checkpoints is enabled or disabled, and further wherein at least first, second and third checkpoints of the plurality of checkpoints are enabled, the third enabled checkpoint being located between the first and second enabled checkpoints in a message processing sequence; means for detecting that a message processing latency between the first and second enabled checkpoints of the plurality of checkpoints is less than an amount of time between new messages arriving at a portion of the application defined by the first and second enabled checkpoints and for further detecting that a number of messages awaiting processing by the portion of the application defined by the first and second enabled checkpoints exceeds a threshold number of messages, and based thereon, means for disabling the third enabled checkpoint; and means for, upon a received message of the plurality of messages traversing an enabled checkpoint of the plurality of checkpoints, storing in a data store, a data entry indicative of the received message, the traversed enabled checkpoint, and a time when the received message traversed the enabled checkpoint.
-
Specification