Application Tracer Configuration via Error Log Mining

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetracing completenessVSAvoidsystem resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #16Partial or excessive action

2Adaptability or versatility

If tracing configuration is statically defined, then system complexity is reduced, but adaptability to user needs and dynamic conditions deteriorates

Engineering Contradiction:
Improvetracing configuration adaptabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improvetracing data completenessVSAvoiddata processing time
Core Design Contradiction:
Loss of informationVSLoss of time

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #2Taking out (Extraction)

4Measurement precision

If tracing is performed on every function encounter, then tracing accuracy is improved, but tracing overhead and performance impact increase

Engineering Contradiction:
Improvetracing accuracyVSAvoidapplication performance
Core Design Contradiction:
Measurement precisionVSProductivity

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.

Inventive Principle:
Principle #16Partial or excessive action

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8978016B2Error list and bug report analysis for configuring an application tracer
Publication Date: 2015.03.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8978016B2 patent drawing
  • US8978016B2 patent drawing
  • US8978016B2 patent drawing

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.