Transaction Tracing via Intermediary Correlation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current monitoring systems for distributed transactions are inadequate as they often require source code modifications, depend on synchronized clocks, or fail to reconstruct the exact sequence of method invocations across different servers, leading to inefficiencies and inaccuracies in performance analysis.
Innovation Solution
A system that traces distributed transactions across heterogeneous environments without modifying source code, using correlation information to identify transactions and servers, and stores this information in a way that is independent of method invocation nesting levels, enabling real-time correlation and handling of blocked transactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If conventional monitoring tools are used to trace distributed transactions, then transaction visibility is improved, but monitoring overhead increases and source code modifications are required
Solution Approach 1:
The patent introduces an intermediary component (transaction trace system) that sits between the distributed transaction components and the monitoring tools. This intermediary captures transaction trace information passively without requiring source code modifications, thereby improving transaction visibility while minimizing monitoring overhead through non-intrusive interception of transaction events.
Solution Approach 2:
The system creates copies of transaction trace information from distributed transactions and stores them in a centralized location. This allows monitoring tools to analyze transaction data without directly interfering with the original transaction execution, thus maintaining visibility while reducing overhead on the production system.
2Loss of information
If distributed transaction tracing is implemented across multiple servers, then end-to-end transaction visibility is improved, but correlation accuracy deteriorates due to clock synchronization issues
Solution Approach 1:
The patent segments the distributed transaction tracing into independent units with unique correlation identifiers. Each server segment captures and tags transaction events with these identifiers, allowing accurate correlation across servers without relying on clock synchronization. The segmentation isolates timing dependencies to individual servers while maintaining global transaction visibility.
Solution Approach 2:
The system replaces the mechanical clock synchronization mechanism with an identifier-based correlation mechanism. Instead of using synchronized timestamps from mechanical clocks, the patent uses unique transaction identifiers and correlation tokens that are passed through the distributed system, eliminating the need for clock synchronization while maintaining correlation accuracy.
3Loss of information
If memory allocation is increased to track nested method invocations, then transaction tracing completeness is improved, but system stability deteriorates due to unpredictable memory consumption
Solution Approach 1:
The patent implements periodic sampling of transaction trace information at defined intervals and depth levels. Instead of continuously allocating memory to track all nested method invocations, the system periodically captures transaction states at sampling points, reducing memory consumption while maintaining sufficient tracing completeness through strategic sampling of critical transaction phases.
Solution Approach 2:
The system dynamically adjusts tracing parameters such as sampling rate, maximum nesting depth, and detail level based on system conditions and transaction importance. This allows the transaction tracing completeness to be maintained for critical paths while reducing memory allocation for less important transactions, thereby stabilizing overall system memory consumption.
4Use of energy by moving object
If post-mortem analysis is used to reduce monitoring overhead, then monitoring resource consumption is improved, but real-time transaction analysis capability deteriorates
Solution Approach 1:
The patent performs preliminary light-weight capture and tagging of transaction trace information during transaction execution with minimal resource consumption. The actual heavy analysis is then performed on the pre-captured data, allowing real-time monitoring with reduced overhead since the data preparation work is done in advance during normal transaction flow.
Solution Approach 2:
The system applies partial monitoring to all transactions (capturing only essential trace information) and excessive detailed analysis only to selected transactions of interest. This selective approach reduces overall monitoring resource consumption while maintaining real-time analysis capability for critical transactions through focused deep-dive analysis.
Data Source
AI summary
A system and method for tracing individual transactions on method call granularity is disclosed. The system uses instrumentation based transaction tracing mechanisms to enhance thread call stack sampling mechanisms by a) only sampling threads executing monitored transactions while execution is ongoing b) tagging sampled call stacks with a transaction identifier for correlation of sampled call stacks with instrumentation bases tracing data. The combination of instrumentation based tracing with thread call stack sampling reduces sampling generated overhead by only sampling relevant thread, and reduces instrumentation generated overhead because it allows reducing instrumentation.


