Dynamic tracer message logging based on bottleneck detection
AssigneeChicago Mercantile Exchange Inc.
InventorsKyle Dennis Kavanagh, José Antonio Acuña-Rohter, David Michael Wong
Life of this patent
Estimating the term…
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.
Claims26
A computer implemented method comprising:
- receiving, by a processor, an augmented computer software application operative to process a received message via a processing path which includes first and second checkpoints through which the received message traverses in sequence during processing, the traversal therebetween characterized by a latency;
- storing, by the processor, during operation of the augmented computer software application as the received message is processed thereby, a data entry in a data store coupled therewith indicative of traversal of a checkpoint, wherein the first and second checkpoints are a pair of a plurality of checkpoints located throughout the augmented computer software application along a plurality of different processing paths of which the processing path is one;
- and
- determining, periodically by the processor, that the latency exceeds a threshold and based thereon, adding, by the processor, one or more additional checkpoints along the processing path between the first and second checkpoints.
A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to:
- receive an augmented computer software application operative to process a received message via a processing path which includes first and second checkpoints through which the received message traverses in sequence during processing, the traversal therebetween characterized by a latency;
- store, during operation of the augmented computer software application as the received message is processed thereby, a data entry in a data store coupled therewith indicative of traversal of a checkpoint, wherein the first and second checkpoints are a pair of a plurality of checkpoints located throughout the augmented computer software application along a plurality of different processing paths of which the processing path is one;
- and
- determine, periodically, that the latency exceeds a threshold and based thereon, adding, by the processor, one or more additional checkpoints along the processing path between the first and second checkpoints via which a subsequently received message will traverse during processing thereof.
An apparatus comprising:
- a processor;
- and
- a memory coupled with the processor and storing computer executable instructions operative to cause the processor to:
- receive an augmented computer software application operative to process a received message via a processing path which includes first and second checkpoints through which the received message traverses in sequence during processing, the traversal therebetween characterized by a latency;
- store, during operation of the augmented computer software application as the received message is processed thereby, a data entry in a data store coupled therewith indicative of traversal of a checkpoint, wherein the first and second checkpoints are a pair of a plurality of checkpoints located throughout the augmented computer software application along a plurality of different processing paths of which the processing path is one;
- and
- determine, periodically, that the latency exceeds a threshold and based thereon, adding, by the processor, one or more additional checkpoints along the processing path between the first and second checkpoints via which a subsequently received message will traverse during processing thereof.
Dependencies are inferred from the claim text.