Hierarchical Stack Trace Tree for Java Profiling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional profiling tools for Java-based systems are limited in detecting memory leaks and system inefficiencies, often requiring VM restarts, leading to high memory consumption and performance issues, especially in large-scale distributed environments.

Innovation Solution

A system and method to generate a hierarchical tree representing stack traces, allowing for on-demand profiling without restarting the VM, using a proprietary interface and infrastructure that embeds profiling components within the JVM, enabling efficient memory management and reduced overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional profiling tools are used to detect memory leaks and system inefficiencies, then profiling information can be obtained, but VM restarts are required leading to high memory consumption and performance issues

Engineering Contradiction:
Improvedetection of memory leaksVSAvoidmemory consumption
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent embeds the profiling infrastructure directly within the JVM as a nested component. The profiling agent runs inside the VM process space, allowing memory profiling without requiring external tools that would necessitate VM restarts. This nested architecture enables continuous profiling while maintaining stable memory consumption patterns.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent introduces a proprietary profiling interface as an intermediary between the profiling needs and the JVM internals. This interface layer allows profiling operations to be performed without disrupting the VM runtime, eliminating the need for restarts that cause memory spikes and performance degradation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If conventional profiling tools are used to profile Java applications, then system inefficiencies can be detected, but VM restarts are required causing user sessions to be disrupted

Engineering Contradiction:
Improvedetection of system inefficienciesVSAvoiduser session continuity
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent enables continuous profiling operations without interrupting the VM execution. The profiling agent operates concurrently with application execution, maintaining uninterrupted user sessions while continuously gathering profiling data about system inefficiencies, memory usage, and performance metrics.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The proprietary profiling interface acts as an intermediary that allows profiling operations to be performed transparently during runtime. This interface enables the system to detect inefficiencies without requiring VM restarts that would disrupt user sessions, maintaining operational continuity throughout the profiling process.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If conventional profiling tools are used in large-scale distributed environments, then profiling data can be collected, but high memory consumption and performance issues occur

Engineering Contradiction:
Improveprofiling data collectionVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

By nesting the profiling infrastructure within the JVM, the patent enables efficient data collection that scales to large distributed environments. The embedded agent collects profiling data with minimal overhead, avoiding the performance penalties associated with external profiling tools that require VM restarts and consume excessive memory resources.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS8336033B2Method and system for generating a hierarchical tree representing stack traces
Publication Date: 2012.12.18 SAP SE
  • US8336033B2 patent drawing
  • US8336033B2 patent drawing
  • US8336033B2 patent drawing

AI summary

A system and method are provided to generate a hierarchical tree representing stack traces. In one embodiment, stack trace elements in a plurality of stack traces relating to profiling of an application executing at a first virtual machine are identified, the stack trace elements relating to profiling events being detected during the profiling of the application. The identified stack trace elements are sorted as one of parent elements; parent/child elements, or child elements based on a number of times a stack trace element has appeared in the plurality of stack traces and its relationship with other elements in the plurality of stack traces. A tree having nodes to represent the stack trace elements is created such that that the child elements branch from the parent/child elements or the parent elements, and the parent/child elements branch from the parent elements.