Application Tracing Data Segmentation for Production Metrics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for analyzing application tracing data fail to effectively distinguish between production and development usage, leading to corrupted production-related metrics due to the presence of development trace data, which affects the assessment of an application's robustness and suitability for production environments.
Innovation Solution
A system that collects and separates production and development trace data using heuristics and metadata analysis to identify production trace data, allowing for the generation of production-related metrics without the influence of development data, and provides a module search and browse system based on these metrics for evaluating the suitability of software components for production use.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If development trace data is included in production trace data analysis, then the quantity of available data increases, but the measurement precision of production-related metrics deteriorates due to corrupted metrics
Solution Approach 1:
The patent segments trace data into distinct production and development datasets by analyzing execution characteristics such as duration, frequency, and patterns. This segmentation allows production metrics to be calculated from clean production data only, eliminating contamination from development data while maintaining comprehensive data collection across both environments.
Solution Approach 2:
The patent extracts and removes development trace data from the production trace data analysis pipeline. By identifying and excluding development executions based on their characteristic patterns (short duration, high frequency, repetitive patterns), the system preserves the integrity of production metrics while still benefiting from the broader data collection infrastructure.
2Quantity of substance
If development trace data is used for production analysis, then the volume of data for analysis increases, but the reliability of production metrics deteriorates
Solution Approach 1:
The system segments the trace data stream into production and development portions based on execution characteristics. This segmentation ensures that reliability-critical production metrics are calculated from isolated production data, preventing development anomalies from compromising metric reliability while maintaining comprehensive data collection.
Solution Approach 2:
The patent introduces an intermediary classification layer that analyzes trace data characteristics and routes appropriate data to appropriate analysis pipelines. This intermediary layer filters development data before it reaches production metric calculation, ensuring reliability without requiring complete data isolation infrastructure.
3Productivity
If all trace data is analyzed together, then the productivity of data processing increases, but the measurement precision of production-specific metrics deteriorates
Solution Approach 1:
The patent implements segmentation of trace data into production and development streams while maintaining unified processing infrastructure. This allows parallel processing of both data types through the same pipelines, preserving productivity while ensuring production metrics derive from isolated production data for precision.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Production or development uses of an application may be identified from tracing data when the data fits a heuristic. The heuristic may include length of execution run, number of executions, repeating patterns within the execution run, or other factors. Similarly, prototyping or development uses of an application may be identified by frequent code changes, sporadic uses, low loads, and other factors. The production and development uses of an application may be displayed by a uses versus user graph, where production users may be displayed as those users with the largest number of uses. The tracing data may be gathered by monitoring an entire application or from monitoring functions, modules, subroutines, libraries, interfaces, services, or other portions of an application.