Intercept Function Interval Tree for Application Performance Monitoring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing application performance monitoring tools face challenges in accurately monitoring monolithic applications and distributed systems, with offline tools having low timing accuracy and high performance overhead, and online tools being error-prone and intrusive, while also failing to effectively monitor both monolithic and distributed systems.
Innovation Solution
A method involving the generation of an interval tree by identifying addresses for functions or variables in target code, intercepting communication between the target code and call addresses, and storing intercepted data as function nodes in the interval tree for transmission to a user device, allowing for effective monitoring of both monolithic and distributed systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If offline application performance monitoring tools are used, then performance overhead is reduced, but timing accuracy deteriorates
Solution Approach 1:
The patent introduces an intercept function as an intermediary component that sits between the target code and the monitoring system. This intercept function captures runtime information without requiring explicit instrumentation in the target code, thereby maintaining low performance overhead while achieving high timing accuracy through precise interception of function calls and returns.
2Measurement precision
If online application performance monitoring tools using explicit instrumentation are used, then timing accuracy is improved, but the system becomes error-prone and intrusive
Solution Approach 1:
The intercept function serves as a mediator that centralizes the monitoring logic outside the target code path. This eliminates errors associated with explicit instrumentation by removing the need to modify target code with monitoring statements, while still achieving accurate timing measurements through the intermediary's controlled interception points.
Solution Approach 2:
The monitoring functionality is extracted from the target code and placed in a separate intercept function. This extraction removes the intrusive instrumentation code from the application logic, reducing the risk of errors in the target code while maintaining the ability to capture precise runtime information.
3Adaptability or versatility
If traditional monitoring tools are used, then monitoring capability is limited, but device complexity is reduced
Solution Approach 1:
The intercept function is designed as a universal monitoring mechanism that can monitor both monolithic applications and distributed systems through the same interface. The system automatically adapts to different application types by intercepting standard function calls, providing multi-functionality without requiring separate monitoring solutions for different system architectures.
Data Source
AI summary
A computing device may access a target code for implementing an application. The device may identify addresses for one or more functions or one or more variables associated with the target code. The device may generate an interval tree comprising a root node and one or more function nodes. The device may in response to the target code invoking a function or variable: generate an intercept function configured to intercept communication between the target code and a call address for the at least one of the one or more functions or the one or more variables invoked by the target code. The device may intercept data communicated between the target code and the call address. The device may store the intercepted data as a function node in the interval tree. The device may transmit the interval tree to a user device.


