Application Tracing Data Segmentation for Production Metrics

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

VSEngineering 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

Engineering Contradiction:
Improvequantity of trace dataVSAvoidproduction-related metrics
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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

Engineering Contradiction:
Improvevolume of trace dataVSAvoidproduction metrics
Core Design Contradiction:
Quantity of substanceVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If all trace data is analyzed together, then the productivity of data processing increases, but the measurement precision of production-specific metrics deteriorates

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidproduction metrics
Core Design Contradiction:
ProductivityVSMeasurement precision

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3069266B1Determination of production vs. development uses from tracer data
Publication Date: 2024.03.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3069266B1 patent drawingFigure 1
  • EP3069266B1 patent drawingFigure 2
  • EP3069266B1 patent drawingFigure 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.