Automatic Application Data Collection via Stack Trace Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Application Performance Monitoring (APM) systems face challenges in automatically collecting data from applications for non-technical users, such as operations, business, and marketing departments, due to the complexity of understanding application architecture and instrumentation points.
Innovation Solution
The proposed solution involves determining a stack trace associated with business transactions, identifying relevant methods within the application, applying scoring heuristics to select methods for instrumentation, and configuring monitoring agents to instrument these methods at specific points, thereby generating application performance data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If APM systems manually instrument application code to collect performance data, then data collection precision is improved, but device complexity and time consumption increase significantly
Solution Approach 1:
The system performs self-service by automatically analyzing application code and determining instrumentation points without requiring manual intervention from developers or operators. The automated code analysis engine scans the application codebase, identifies relevant methods and classes, and generates instrumentation configurations autonomously, eliminating the need for manual code instrumentation while maintaining precise data collection.
Solution Approach 2:
The patent introduces an intermediary layer consisting of the automated code analysis engine and instrumentation configuration generator that mediates between the APM system and the application code. This intermediary automatically translates business requirements into technical instrumentation points, serving as a bridge that eliminates the need for direct manual intervention while preserving measurement precision.
2Measurement precision
If APM systems manually instrument application code to collect performance data, then data collection precision is improved, but productivity is reduced due to lengthy processes
Solution Approach 1:
The system performs self-service by automatically analyzing application code and determining instrumentation points without requiring manual intervention from developers or operators. The automated code analysis engine scans the application codebase, identifies relevant methods and classes, and generates instrumentation configurations autonomously, eliminating the need for manual code instrumentation while maintaining precise data collection.
Solution Approach 2:
The system performs preliminary action by automatically analyzing the application codebase and pre-determining all necessary instrumentation points before data collection begins. The code analysis engine proactively identifies relevant methods, classes, and parameters, and pre-generates the instrumentation configuration, so that when deployment occurs, the system is already optimized and ready to collect precise data immediately without lengthy manual setup.
3Ease of operation
If non-technical users directly access application code to identify instrumentation points, then ease of operation is improved, but manufacturing precision deteriorates due to lack of technical knowledge
Solution Approach 1:
The patent introduces an intermediary layer consisting of the automated code analysis engine and instrumentation configuration generator that mediates between the APM system and the application code. This intermediary automatically translates business requirements into technical instrumentation points, serving as a bridge that eliminates the need for direct manual intervention while preserving measurement precision.
Solution Approach 2:
The system performs self-service by automatically analyzing application code and determining instrumentation points without requiring manual intervention from developers or operators. The automated code analysis engine scans the application codebase, identifies relevant methods and classes, and generates instrumentation configurations autonomously, eliminating the need for manual code instrumentation while maintaining precise data collection.
4Measurement precision
If APM developers manually identify instrumentation points through communication with business departments, then measurement precision is improved, but loss of time increases significantly
Solution Approach 1:
The system performs self-service by automatically analyzing application code and determining instrumentation points without requiring manual intervention from developers or operators. The automated code analysis engine scans the application codebase, identifies relevant methods and classes, and generates instrumentation configurations autonomously, eliminating the need for manual code instrumentation while maintaining precise data collection.
Solution Approach 2:
The system performs preliminary action by automatically analyzing the application codebase and pre-determining all necessary instrumentation points before data collection begins. The code analysis engine proactively identifies relevant methods, classes, and parameters, and pre-generates the instrumentation configuration, so that when deployment occurs, the system is already optimized and ready to collect precise data immediately without lengthy manual setup.
Data Source
AI summary
In one embodiment, a method for automatic application data collection is disclosed. The method illustratively comprises determining a stack trace associated with one or more business transactions, wherein at least one application is configured to perform at least part of the one or more business transactions; identifying, based on the stack trace, one or more methods of the at least one application that were invoked during performance of the one or more business transactions; selecting, from the identified one or more methods, a set of the one or more methods by applying at least one scoring heuristic to the identified one or methods; and configuring one or more monitoring agents executing on the at least one application to instrument the selected set of the one or methods at one or more instrumentation points, wherein application performance data is generated by instrumentation of the one or more instrumentation points.


