Temporal Stack Trace Correlation for Resource Spike Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Identifying specific code paths responsible for resource utilization spikes in complex applications with numerous threads and code paths is challenging, as current methods fail to pinpoint the root cause without a consistent baseline in production environments.

Innovation Solution

Collecting and analyzing stack tracing and profiling data in conjunction with resource utilization data, using a search tree structure to align and correlate code paths with resource spikes, and applying filtering and ranking techniques to identify contributing code paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If sampling is performed to capture timing data from various code paths, then resource utilization monitoring is achieved, but difficulty in isolating primary contributors to resource spikes increases

Engineering Contradiction:
Improveresource utilization monitoringVSAvoidisolating primary contributors
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the monitoring system into multiple components: a sampling component that collects timing data from code paths, a processing component that analyzes the sampled data, and a reporting component that identifies primary contributors. This segmentation allows the system to maintain comprehensive monitoring while systematically isolating the specific code paths causing resource spikes through hierarchical analysis.

Inventive Principle:
Principle #1Segmentation

2Difficulty of detecting and measuring

If CPU profiling is run during spike events, then code path identification is attempted, but root cause pinpointing fails without consistent baseline

Engineering Contradiction:
Improvecode path identificationVSAvoidroot cause pinpointing
Core Design Contradiction:
Difficulty of detecting and measuringVSReliability

Solution Approach 1:

The patent implements preliminary action by continuously sampling and storing timing data from all code paths during normal operation, establishing a baseline dataset before resource spikes occur. This pre-collected data enables reliable root cause identification during spike events by comparing against the established baseline, eliminating the need for consistent manual baselines.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system incorporates feedback mechanisms where the processed timing data from sampled code paths is continuously compared against resource utilization metrics. This feedback loop automatically identifies deviations from normal behavior and pinpoints the specific code paths contributing to resource spikes, providing reliable root cause analysis without manual intervention.

Inventive Principle:
Principle #23Feedback

3Loss of information

If comprehensive stack tracing is implemented across thousands of threads, then complete code path coverage is achieved, but data analysis complexity increases

Engineering Contradiction:
Improvecode path coverageVSAvoiddata analysis complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent extracts only the essential timing information from comprehensive stack traces, focusing on start and end timestamps of function calls rather than processing the entire trace data. This extraction approach maintains complete code path coverage while significantly reducing data analysis complexity by isolating the critical temporal metrics needed for identifying resource spike contributors.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system changes the parameters of data representation by transforming detailed stack trace information into standardized timing metrics (start time, end time, duration). This parameter transformation simplifies the analysis complexity while preserving complete code path coverage, enabling efficient processing of data from thousands of threads through consistent temporal measurement.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12093670B2System, method, and graphical user interface for temporal presentation of stack trace and associated data
Publication Date: 2024.09.17 SALESFORCE INC
  • US12093670B2 patent drawing
  • US12093670B2 patent drawing
  • US12093670B2 patent drawing

AI summary

Apparatus and method for identifying code path contributors to resource utilization spikes. For example, in some implementations, stack trace data and profiling data are sampled from a plurality of code paths of an application to generate a plurality of code path samples, where the sampling is performed across a series of temporal windows. Processor utilization data is also sampled across a corresponding series of temporal windows. Correlations are detected between the code path samples and occurrences of processor utilization spikes to generate correlational scores for the plurality of code paths. A ranking of code paths is then generated in accordance with the correlational scores in which code paths relatively higher in the ranking are more likely to contribute to the occurrences of the processor utilization spikes than code paths relatively lower in the ranking.