Code Profiling Call Stack Linking for Low-Overhead Performance Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems lack effective methods for real-time monitoring and visualization of call stack data to identify performance issues and optimize function execution in computing environments.

Innovation Solution

Capturing and indexing call stack data, including span IDs and trace IDs, to generate visualizations such as flamegraphs, allowing for the retrieval and analysis of function-related data based on query criteria to identify performance bottlenecks and optimize function execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If call stack data is captured and indexed for real-time monitoring, then system performance visibility is improved, but data processing overhead increases

Engineering Contradiction:
Improveperformance monitoring capabilityVSAvoiddata processing overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by pre-indexing call stack data during function execution, organizing span IDs and trace IDs into searchable structures before queries are issued. This upfront preparation reduces the computational burden during real-time monitoring queries, resolving the contradiction between monitoring precision and processing overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates simplified copies of call stack data in indexed formats (span IDs, trace IDs) that can be quickly queried without accessing the full raw call stack data. These copied representations enable efficient performance monitoring while minimizing the processing overhead of handling complete call stack information.

Inventive Principle:
Principle #26Copying

2Measurement precision

If detailed call stack data is captured for analysis, then performance bottleneck identification is improved, but data storage requirements increase

Engineering Contradiction:
Improveperformance analysis accuracyVSAvoiddata storage requirements
Core Design Contradiction:
Measurement precisionVSVolume of stationary object

Solution Approach 1:

The patent extracts only the essential identifying elements (span IDs and trace IDs) from complete call stack data for storage and indexing. This extraction approach maintains the ability to accurately identify performance bottlenecks through these identifiers while significantly reducing storage requirements compared to retaining full call stack information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments call stack data into discrete, indexable units (individual span IDs and trace IDs) that can be stored and queried independently. This segmentation enables efficient storage of performance data by breaking down complex call stack information into manageable, reusable components that can be cached and reused across multiple queries.

Inventive Principle:
Principle #1Segmentation

3Productivity

If real-time call stack snapshots are captured, then function execution monitoring is improved, but system resource consumption increases

Engineering Contradiction:
Improvemonitoring speedVSAvoidsystem resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by capturing only the essential elements needed for performance monitoring (span IDs and trace IDs) rather than complete call stack state information. This partial capture approach provides sufficient data for identifying performance issues while reducing the resource consumption associated with capturing and processing full call stack snapshots in real-time.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12353312B1Code profiling call stack linking
Publication Date: 2025.07.08 CISCO TECHNOLOGY INC
  • US12353312B1 patent drawing
  • US12353312B1 patent drawing
  • US12353312B1 patent drawing

AI summary

Described are systems, methods, and techniques profiled call stack linking. Data relating to functions that are part of call stacks can be captured from a series of snapshots. Frame information for the identified functions (e.g., a span ID, trace ID) can be identified and indexed. Responsive to receiving a query for a visualization specifying one or more criteria (e.g., all frames that are part of a span), all frames corresponding with the criteria can be identified. An action can be performed using the identified frames, such as generating a visualization of the identified frames for use in deriving insights into the functions being executed as part of a call stack.