Application Tracer Configuration via Error Log Mining
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing application tracing systems face challenges in efficiently managing tracing data, as they often consume excessive resources and generate large amounts of data, leading to performance issues and inefficient data processing, while also struggling to dynamically adjust tracing configurations based on user interactions and error reports.
Innovation Solution
An automated tracing system that creates wrapping functions for each application function, including callback functions, to collect tracing data, uses evaluation mechanisms with whitelists, blacklists, and expressions to determine which functions to trace, and dynamically adjusts tracing configurations based on real-time analysis of user interactions and error logs to optimize resource usage and data collection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If comprehensive tracing is performed on all functions including callback functions, then tracing completeness and accuracy are improved, but system resource consumption and tracing overhead increase significantly
Solution Approach 1:
The patent applies different tracing configurations to different functions based on their importance and characteristics. Critical functions receive detailed tracing while less important functions receive reduced tracing, resolving the contradiction between comprehensive tracing and resource consumption by making tracing quality local rather than uniform across all functions.
Solution Approach 2:
The system performs partial tracing by selectively tracing only certain functions rather than all functions. The evaluation mechanism determines which functions to trace partially based on criteria such as user interest, error reports, and function importance, thereby reducing overall resource consumption while maintaining essential tracing capabilities.
2Adaptability or versatility
If tracing configuration is statically defined, then system complexity is reduced, but adaptability to user needs and dynamic conditions deteriorates
Solution Approach 1:
The patent implements dynamic tracing configuration that automatically adjusts based on runtime conditions, user interactions, and error reports. The system transitions from static to dynamic configuration by continuously evaluating function importance and user interest, thereby improving adaptability while managing complexity through automated evaluation mechanisms.
Solution Approach 2:
The tracing system performs self-configuration by automatically evaluating which functions to trace based on predefined criteria and user feedback. The evaluation mechanism and configuration manager enable the system to self-adjust tracing settings without requiring manual intervention, resolving the contradiction between adaptability and complexity through autonomous system behavior.
3Loss of information
If tracing data is collected for all functions at maximum detail, then data completeness for analysis is improved, but data processing time and storage requirements increase
Solution Approach 1:
The patent applies different data collection depths to different functions based on their importance. Critical functions are traced with maximum detail while less important functions are traced with reduced detail, resolving the contradiction between data completeness and processing time by making data quality local rather than uniform.
Solution Approach 2:
The system extracts and collects only the essential tracing data needed for analysis rather than collecting all possible data for all functions. The evaluation mechanism identifies which functions require detailed tracing and extracts only relevant data from those functions, thereby reducing overall data volume and processing time while maintaining analytical completeness.
4Measurement precision
If tracing is performed on every function encounter, then tracing accuracy is improved, but tracing overhead and performance impact increase
Solution Approach 1:
The patent implements partial tracing by selectively tracing only certain functions rather than all functions. The evaluation mechanism determines which functions to trace based on criteria such as user interest, error reports, and function importance, thereby maintaining tracing accuracy for critical functions while reducing overall tracing overhead and preserving application performance.
Solution Approach 2:
The system dynamically changes tracing parameters such as tracing depth, data collection frequency, and function selection criteria based on runtime conditions. By adjusting these parameters, the system maintains high tracing accuracy when needed while reducing tracing overhead during normal operation, resolving the contradiction between accuracy and performance through parameter optimization.
Data Source
AI summary
Error logs, bug reports, and other databases identifying problems with a tracer system may be mined to determine how a tracer may interact with a given function, module, or other group of functions. Based on such reports, a tracer may be configured to avoid certain functions or to trace such functions in a specific manner. In some cases, tracer may be configured to limit tracing to certain parameters or with other limitations to avoid any known conditions under which errors occur.


