A computer implemented method of indexing a data store including data indicative of 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; for each received message of the plurality of messages that traverses a checkpoint of the plurality of checkpoints, storing , by the processor, in a data store, a data entry indicative of the received message, the traversed checkpoint, and a time when the received message traversed the checkpoint; detecting , by the processor, that a message processing latency between a pair of checkpoints from the plurality of checkpoints satisfies a delay condition, and based thereon, modifying the data entries associated with the pair of checkpoints by adding data indicative of a delay, wherein the delay condition comprises one of: (i) the amount of time that elapses for a message to traverse the pair of checkpoints exceeds a threshold amount of time; or (ii) the amount of time that elapses for a message to traverse the pair of checkpoints exceeds the amount of time that elapses for a message to traverse a different pair checkpoints; upon receiving, by the processor, a query that is limited to areas of the application that are experiencing a delay, searching , by the processor, only data entries including data indicative of a delay; and upon receiving , by the processor, a query to search the entire data store, searching, by the processor, all the data entries in the data store. 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; for each received message of the plurality of messages that traverses a checkpoint of the plurality of checkpoints, storing , by the processor, in a data store, a data entry indicative of the received message, the traversed checkpoint, and a time when the received message traversed the checkpoint; detecting , by the processor, that a message processing latency between a pair of checkpoints from the plurality of checkpoints satisfies a delay condition, and based thereon, modifying the data entries associated with the pair of checkpoints by adding data indicative of a delay, wherein the delay condition comprises one of: (i) the amount of time that elapses for a message to traverse the pair of checkpoints exceeds a threshold amount of time; or (ii) the amount of time that elapses for a message to traverse the pair of checkpoints exceeds the amount of time that elapses for a message to traverse a different pair checkpoints; upon receiving, by the processor, a query that is limited to areas of the application that are experiencing a delay, searching , by the processor, only data entries including data indicative of a delay; and upon receiving , by the processor, a query to search the entire data store, searching, by the processor, all the data entries in the data store. <EOS>