Thread Dump Analysis for Application Error Location

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large-scale data centers, performance degradation and system halts can occur due to complex relationships between applications executing in multiple containers, making it difficult to determine the root cause of non-deterministic production issues, especially under peak load conditions, where conventional monitoring tools like profiling may be ineffective in identifying error locations in source code.

Innovation Solution

A method and apparatus that involve obtaining a thread dump of executing threads, filtering and aggregating data using an analyzer agent to determine potential error locations in source code, allowing for the identification of regions causing application lock-ups by grouping threads based on stack levels and applying filters to pinpoint the issue.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional monitoring tools and profiling are used to monitor application performance, then system resources can be tracked and alerts can be sent, but the root cause of non-deterministic production issues under peak load cannot be accurately identified

Engineering Contradiction:
Improveaccuracy of error location identificationVSAvoiddifficulty of determining root cause
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the complex thread dump data into manageable units by analyzing threads at different stack levels. Instead of attempting to analyze all threads simultaneously, the system divides the analysis into hierarchical levels, examining specific stack frames and grouping threads by their execution context. This segmentation enables precise identification of error locations within the segmented data structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of analysis by examining thread dumps through multiple stack levels rather than a single flat view. The system analyzes threads at different hierarchical levels of the call stack, transforming the one-dimensional thread list into a multi-dimensional analysis space that reveals patterns and root causes that would be invisible in conventional single-level monitoring.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If profiling is enabled to trace executing functions and gather statistical data, then resource usage can be monitored, but profiling may be too late to detect production issues that occur under peak load

Engineering Contradiction:
Improvedetection of production issuesVSAvoidtime delay in detecting issues
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by continuously capturing and analyzing thread dump data in real-time, maintaining a historical record of thread states before peak load occurs. The system pre-processes thread dump information and establishes baseline behavior patterns, enabling detection of deviations from normal operation before they escalate into full production failures. This preliminary monitoring ensures issues are detected at their earliest stages rather than after they manifest under peak load.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If thread dump analysis is performed on all threads to identify error locations, then accurate error detection can be achieved, but the complexity of analyzing large numbers of threads increases significantly

Engineering Contradiction:
Improveaccuracy of error location identificationVSAvoidcomplexity of thread dump analysis
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the relevant information from the complete thread dump by focusing analysis on specific stack levels and thread groups. Instead of processing every thread uniformly, the system extracts and analyzes only those threads and stack frames that are relevant to the error condition, filtering out redundant information. This selective extraction reduces analysis complexity while maintaining detection accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent merges threads with similar execution patterns and stack traces into grouped analyses. By combining threads that exhibit identical or similar behavior at specific stack levels, the system reduces the total number of individual thread analyses required. This merging approach maintains comprehensive coverage while significantly reducing the computational complexity of processing large numbers of individual threads.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7685575B1Method and apparatus for analyzing an application
Publication Date: 2010.03.23 ORACLE AMERICAN INC
  • US7685575B1 patent drawing
  • US7685575B1 patent drawing
  • US7685575B1 patent drawing

AI summary

A method for analyzing an application involving obtaining a thread dump of a plurality of threads executing the application, analyzing the thread dump to obtain a result using an aggregation mechanism, and determining a potential error location in source code of the application using the result.