Unified Call Stack Trace for Context-Sensitive Performance Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional software profilers are ineffective in identifying performance bugs in complex, interdependent software layers after the debugging stage due to high overhead and the need for source code, making it difficult to analyze performance issues in production systems without runtime impact.

Innovation Solution

A method and system for performance inference using unified call stack traces that include both user and kernel information, generating calling context encoding, and performing top-down latency breakdown and ranking of costly function call paths to analyze application performance without requiring source code access or recompilation, allowing for lightweight, context-sensitive analysis in production environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional profilers embed profiling code into source code, then profiling capability is improved, but runtime overhead increases and source code access is required

Engineering Contradiction:
Improveprofiling capabilityVSAvoidruntime overhead
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent introduces an intermediary mechanism (production event tracer) that captures system events without embedding profiling code in the target software. This mediator layer observes and records events passively, avoiding the overhead of active profiling while maintaining measurement capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of modifying the original software code, the patent creates a copy of the execution trace through event recording. The production event tracer captures system events and creates a trace that can be analyzed offline, eliminating runtime overhead while preserving profiling information.

Inventive Principle:
Principle #26Copying

2Ease of operation

If dynamic translators are used for transparent instrumentation, then source code access is eliminated, but runtime overhead becomes too high for production use

Engineering Contradiction:
Improvetransparent instrumentationVSAvoidruntime overhead
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent creates an offline copy of execution traces through passive event recording. By capturing events during normal operation and analyzing them later, the system achieves transparent instrumentation without the runtime overhead of dynamic translation or interpretation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary event recording during production operation, storing traces for later analysis. This preliminary capture of data allows comprehensive profiling without the overhead of real-time processing or interpretation during critical production periods.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If complete testing is performed on diverse software layers, then performance bug detection is improved, but testing complexity and time increase

Engineering Contradiction:
Improveperformance bug detectionVSAvoidtesting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts performance information from the complex multi-layer software system through event tracing. By capturing events at the kernel level and propagating them through user space, the system separates measurement from the complexity of the software architecture, simplifying analysis while maintaining comprehensive coverage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The production event tracer serves multiple functions across different software layers (kernel and user space) with a single unified mechanism. This universal tracing approach simplifies testing complexity by providing consistent event capture across diverse layers rather than requiring separate testing mechanisms for each layer.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9367428B2Transparent performance inference of whole software layers and context-sensitive performance debugging
Publication Date: 2016.06.14 NEC CORP
  • US9367428B2 patent drawing
  • US9367428B2 patent drawing
  • US9367428B2 patent drawing

AI summary

Methods and systems for performance inference include inferring an internal application status based on a unified call stack trace that includes both user and kernel information by inferring user function instances. A calling context encoding is generated that includes information regarding function calling paths. Application performance is analyzed based on the encoded calling contexts. The analysis includes performing a top-down latency breakdown and ranking calling contexts according to how costly each function calling path is.