Transaction Identifier Propagation in Distributed APM Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computer systems, identifying and managing transaction-specific performance metrics across multiple components is challenging due to the complexity of request-response chains and the lack of effective transaction identifiers, which hinders holistic and focused application performance management.
Innovation Solution
The method involves configuring servers within the distributed system to insert and propagate transaction identifiers, such as globally unique values, through messages, allowing for the tracking and logging of requests and responses across the system, enabling effective application performance management by associating performance metrics with user actions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If transaction identifiers are propagated through all messages in distributed systems, then application performance management capability is improved, but system complexity and implementation difficulty increase
Solution Approach 1:
The patent segments the transaction identification function into discrete components: generation at the client, propagation through HTTP headers in request-response chains, and logging at server components. Each server (web server, application server, database server) independently handles the identifier without requiring system-wide redesign, reducing overall complexity while maintaining tracking precision.
Solution Approach 2:
The transaction identifier acts as an intermediary element that mediates between client requests and server responses. By embedding this identifier in HTTP headers, the patent creates a simple carrier that transports transaction information through the distributed system without requiring complex communication protocols or state management between components.
2Loss of information
If comprehensive transaction tracking is implemented across all system components, then holistic performance management is achieved, but data collection and processing overhead increases
Solution Approach 1:
The patent implements preliminary action by generating the transaction identifier at the client before the request reaches the servers. This identifier is then propagated through all subsequent requests in the chain, eliminating the need for servers to generate or manage identifiers. The APM agent is also pre-configured to automatically collect and process metrics associated with this identifier, reducing runtime overhead.
3Difficulty of detecting and measuring
If transaction identifiers are inserted into all outgoing messages, then request-response chain tracking is improved, but message processing time increases
Solution Approach 1:
The patent applies local quality by selectively inserting transaction identifiers only where needed in the message flow. The identifier is added to outgoing requests from the client and propagated through the request chain, but is not unnecessarily duplicated in all message types. The APM agent selectively instruments specific components (web server, application server, database server) rather than all system components, reducing processing overhead while maintaining tracking capability.
Data Source
AI summary
Systems and methods for providing transaction identifiers for application performance management in distributed computer systems. An example method may comprise: receiving, by a first computer system, a first message; identifying, based on a pre-defined byte pattern, an incoming transaction identifier within the first message; responsive to failing to identify the incoming transaction identifier, generating a new transaction identifier; transmitting, to a second computer system, a second message associated with the first message, the second message comprising a transaction identifier provided by one of: the incoming transaction identifier or the new transaction identifier; and transmitting, to a third computer system, a third message representing a log record, the third message comprising the transaction identifier.


