End-to-end Database Tracing for Client Server Time Breakdown

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current tracing solutions for database operations in software applications do not provide a detailed breakdown of time spent in each component of the execution process, making it difficult to identify performance issues and optimize database operations effectively.

Innovation Solution

Implementing end-to-end tracing techniques in source code that instrument database operations on the client side and log performance information on the server, allowing for the measurement and correlation of client, network, and server-side times to accurately analyze database operation performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If current tracing solutions are used to measure database operation time, then total execution time can be obtained, but detailed breakdown of time spent in each component (client, network, server) is not provided

Engineering Contradiction:
Improvetime measurement detailVSAvoidtracing system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the database operation timing into distinct components: client-side time (statement assembly and request formulation), network time (query transmission and result return), and server-side time (parsing, execution, and result fetching). This segmentation is achieved by placing separate timing instruments at each component boundary, allowing precise measurement of each segment's contribution to total execution time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary tracing mechanism that captures timing information at intermediate points between client and server. By placing trace points at the client-server interface and within each component, the system mediates the flow of timing data without disrupting the actual database operation, enabling detailed breakdown while maintaining system functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If JDBC provides method-level and class-level performance measurement, then some performance data is available, but it is not sufficient for detailed analysis of database operation components

Engineering Contradiction:
Improveperformance measurement detailVSAvoidperformance analysis capability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent extends performance measurement from the traditional method-level and class-level dimensions to a new dimension that includes component-level breakdown (client, network, server). This additional dimensional perspective allows analysts to view performance not just in terms of code structure but also in terms of system architecture components, providing much richer performance analysis capability.

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

Solution Approach 2:

The patent performs preliminary instrumentation of the database operation flow to capture timing data at all necessary points before the actual performance analysis is needed. By pre-placing trace points and establishing the timing measurement framework in advance, the system准备好 to provide detailed component-level performance data whenever analysis is required, without needing to modify the instrumentation approach for each analysis scenario.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8108350B2End-to-end tracing for database applications
Publication Date: 2012.01.31 ORACLE INTIOAL
  • US8108350B2 patent drawing
  • US8108350B2 patent drawing
  • US8108350B2 patent drawing

AI summary

Techniques for end-to-end tracing of database operations in source code for database applications are provided. Source code on the client side is instrumented to measure time spent on selected database operation statements (e.g., queries). The selected database operation statements can be uniquely tagged or identified. Tracing is enabled on the database application on the server side so that a log is produced, where the log includes performance (e.g., time spent) information on database operation statements that are executed. The performance information in the log is correlated to the selected database operation statements so that, among other things, the time spent on the client side and the time spent on the server side can be presented for analysis.