Runtime Performance Introspection for Hotspot Diagnosis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Diagnosing performance hotspots in enterprise systems is challenging due to the difficulty in identifying and isolating areas of high resource consumption, especially when debug logging is enabled, which can impact system performance.

Innovation Solution

A runtime performance introspection system that selectively extracts a subset of in-memory application data based on application metadata to generate customized reports, minimizing performance impact and avoiding the need to extract all trace logs, thereby improving efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Difficulty of detecting and measuring

If debug logging is enabled to identify performance issues, then diagnostic information is improved, but system performance deteriorates due to disk I/O overhead

Engineering Contradiction:
Improveperformance hotspot identificationVSAvoidsystem performance
Core Design Contradiction:
Difficulty of detecting and measuringVSProductivity

Solution Approach 1:

The patent extracts only the necessary performance data from the full debug log output. Instead of writing all debug information to disk, the system selectively extracts specific metrics and performance-related data points, reducing disk I/O overhead while maintaining the ability to identify performance hotspots.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by differentiating between types of data logging. Critical performance data is logged with detailed information, while non-critical data is logged with reduced detail or omitted entirely. This selective logging approach maintains diagnostic capability for performance issues while minimizing the performance impact of logging operations.

Inventive Principle:
Principle #3Local quality

2Loss of information

If all trace logs are extracted for analysis, then diagnostic completeness is improved, but processing time and resource consumption increase

Engineering Contradiction:
Improvediagnostic information completenessVSAvoiddata processing time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent extracts a curated subset of trace log data that is most relevant to performance hotspot identification. By filtering and selecting only the necessary data points rather than processing all trace logs, the system maintains diagnostic effectiveness while significantly reducing processing time and computational resources required.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by extracting and analyzing only the portion of trace log data that is sufficient to identify performance issues. Rather than processing the complete set of all possible log data, the system identifies and focuses on the critical subset needed for effective performance diagnosis, avoiding unnecessary processing overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11341022B2Runtime performance introspection
Publication Date: 2022.05.24 ORACLE INT CORP
  • US11341022B2 patent drawing
  • US11341022B2 patent drawing
  • US11341022B2 patent drawing

AI summary

Operations include diagnosing performance hotspots with minimal performance impact. A system selectively extracts a subset of in-memory application data, for failure analysis, based on application metadata associated with an application. The selective data extraction may be used to generate succinct reports that are customized to explore the specific vulnerabilities of each particular application. Application metadata identifies application data attributes for value extraction. The application metadata may identify, for example, a client attribute which indicates the client which requested the execution of a failed operation (or execution of an operation with a failed sub-function). The application metadata may identify a particular function, associated with an operation, that is to be analyzed in case of operation failure. The application metadata may identify a thread-local variable of a thread, executing an operation, that is to be analyzed in case of operation failure.