EP3467660A2

Dynamic tracer message logging based on bottleneck detection

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.

EP3467660A2, drawing sheet 1
Sheet 1 of 11

Term

12 yearsto projected expiry

Projected expiry 3 October 2038, counted from filing; an application has no term until it is granted.

  1. Priority and filed
  2. Published
  3. Today
  4. Projected expiry

14 claims: 10 independent, 4 dependent

  1. 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 satisfies a first condition, 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.
  2. 4
    The computer implemented method of any preceding claim , further comprising:detecting that a message processing latency between fourth and fifth enabled checkpoints of the plurality of checkpoints satisfies a second condition, the application including a sixth disabled checkpoint between the fourth and fifth enabled checkpoints in a message processing sequence;and enabling the sixth disabled checkpoint between the fourth and fifth enabled checkpoints, such that upon a received message of the plurality of messages traversing the sixth checkpoint, a data entry indicative of the received message, the sixth checkpoint, and a time when the received message traversed the sixth checkpoint is stored in the data store.
  3. 6
    The computer implemented method of any preceding claim, wherein disabling the third checkpoint reduces an amount of data stored in the data store.
  4. 7
    The computer implemented method of any preceding claim, wherein disabling the third checkpoint reduces an amount of storage space necessary to store the data store.
  5. 8
    The computer implemented method of any preceding claim, the method further comprising, before the third checkpoint is disabled, upon a received message of the plurality of messages traversing the third checkpoint, storing, in the data store, a data entry indicative of the received message, the third checkpoint, and a time when the received message traversed the third checkpoint.
  6. 9
    The computer implemented method of any preceding claim, wherein detecting whether a message processing latency between two enabled checkpoints of the plurality of checkpoints satisfies the first condition comprises determining an elapse of time between times when a received message traversed the two enabled checkpoints.
  7. 10
    The computer implemented method of any preceding claim, wherein the message processing latency between two enabled checkpoints is determined based on data entries stored in the data store and indicative of times when a received message traversed the two enabled checkpoints.
  8. 11
    The computer implemented method of any preceding claim 1, wherein each message is an electronic data transaction request message, and wherein the application processes an electronic data transaction request message by determining whether an attempt to match an electronic data transaction request message with at least one previously received but unsatisfied electronic data transaction request message for a transaction which is counter thereto results in at least partial satisfaction of one or both of the electronic data transaction request message and the at least one previously received but unsatisfied electronic data transaction request message.
  9. 13
    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 perform the method of any one of claims 1 to 12
  10. 14
    A computer system for monitoring message processing by an application in a data transaction processing system configured to perform the method of any one of claims 1 to 12, 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 satisfies a first condition, 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.