Patent ID: 8812434

Claim:
A method comprising: maintaining a tree data structure comprising branches comprising nodes, each branch corresponds to a transaction performed by an application that comprises a plurality of components, a given branch comprising nodes that correspond to components of the application that are invoked to perform the transaction, each node corresponding to an element of a transaction; maintaining transaction data associated with the tree data structure, the transaction data for transactions performed by the application; constructing a provisional branch comprising nodes that correspond to elements of an instance of a first of the transactions being monitored by an agent, the provisional branch comprising a virtual node for a first transaction element that cannot be identified during monitoring of the instance of the first transaction based on information available to the agent; storing transaction data in association with the nodes in the provisional branch during the monitoring, comprising storing dynamic transaction data for a sequence of components of the application that are invoked to perform the instance of the first transaction; identifying the first transaction element after information needed to identify the first transaction element becomes available to the agent; determining a branch in the tree data structure that matches the provisional branch after the first transaction element has been identified; replaying the instance of the first transaction against the branch in the tree data structure that matches the provisional branch as if the instance of the first transaction were happening again to merge the dynamic transaction data with the transaction data that is associated with the tree data structure; and reporting the transaction data associated with the tree data structure after the replaying.