Software Telemetry Clustering for Performance Regression Diagnosis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Identifying the specific software modifications associated with performance degradation in complex software systems is challenging due to the overwhelming number of telemetry counters and the lack of historical data, making it difficult to diagnose and fix performance regressions.
Innovation Solution
Utilizing machine learning self-organizing maps to cluster software telemetry counter time series data from original and modified software versions, enabling deviation analysis to identify discriminated counters that indicate performance differences.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional manual analysis methods are used to identify software modifications causing performance degradation, then diagnostic accuracy can be maintained, but the time and effort required increases significantly
Solution Approach 1:
The patent introduces self-organizing maps as an intermediary computational mechanism between the raw telemetry counter data and the final diagnosis. These maps automatically cluster and organize the overwhelming number of counters, serving as a mediator that transforms complex data into actionable insights without requiring manual analysis of each counter, thereby reducing diagnosis time while managing complexity through automated pattern recognition
Solution Approach 2:
The patent replaces the mechanical manual analysis process with an automated machine learning system. Instead of manually examining telemetry counters and determining cause-and-effect relationships, the system uses self-organizing maps and automated deviation analysis to identify problematic modifications, significantly reducing the time and human effort required for diagnosis
2Measurement precision
If all software telemetry counters are monitored and analyzed, then complete coverage of software behavior is achieved, but the complexity of analysis and data processing becomes overwhelming
Solution Approach 1:
The patent extracts and focuses on the most relevant information by using self-organizing maps to cluster telemetry counters based on their behavior patterns. Instead of analyzing all counters equally, the system extracts the key discriminatory features that actually indicate performance degradation, filtering out redundant information and reducing analysis complexity while maintaining measurement precision
Solution Approach 2:
The patent segments the overwhelming set of telemetry counters into meaningful groups using self-organizing maps. By dividing the data into clusters based on similar behavior patterns, the system makes the analysis manageable and reduces complexity, allowing focused examination of specific counter groups rather than treating all counters as a monolithic dataset
3Extent of automation
If self-organizing maps are used to cluster telemetry counter time series, then automated detection of performance degradation causes is achieved, but computational resources and processing time for training increase
Solution Approach 1:
The patent applies partial action by using the self-organizing maps only for the specific purpose of clustering and identifying discriminatory counters, rather than attempting to analyze every aspect of software behavior. This focused application achieves sufficient automation for performance degradation detection while avoiding the excessive computational resources that would be required for comprehensive analysis of all possible software metrics
Data Source
AI summary
A software analysis system collects a first set of time series counter values from an original version of software instrumented with software telemetry counters, and collects a second set of time series counter values from a modified version of the software that also is instrumented with the software telemetry counters. The first time series become dimensions input to train a weight matrix of a first self-organizing map, to cause the first self-organizing map to cluster the time series into a group of first clusters describing execution of the original software. The second time series become dimensions input to train a weight matrix of a second self-organizing map, to cause the second self-organizing map to cluster the time series into a group of second clusters describing execution of the modified software. Deviation analysis between the first and second groups of clusters is used to identify execution differences between the software versions.


