Database Code-Module Instrumentation for Nested Call Tracing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solutions for instrumenting modular application chains, particularly in database environments, lack the ability to provide granular performance metrics and reliable tracing of nested calls across databases, and fail to accurately map database sessions to application or browser sessions, especially in multi-threaded and multi-server environments.
Innovation Solution
A framework that instruments database code-modules to measure and track execution, timings, and errors within databases across platforms, using unique identifiers and autonomous transactions to collect and store metric data, and asynchronously pushes this data to a repository server for analysis, enabling detailed performance monitoring and reliability assessment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If existing database performance metrics gathering solutions track only top-level steps and overall duration, then the solution is simple to implement, but it cannot provide granular performance metrics for nested calls within the same database
Solution Approach 1:
The patent implements nested instrumentation by embedding performance tracking mechanisms within database routines, stored procedures, and triggers. Each nested call receives a correlation ID from the parent call and propagates it through the execution chain, enabling hierarchical tracking of performance metrics at any depth of nesting without requiring complete system redesign.
Solution Approach 2:
The patent introduces a correlation ID as an intermediary mechanism that passes performance tracking information through database calls, triggers, and stored procedures. This correlation ID acts as a mediator that links parent and child calls, enabling granular metrics collection without direct complex instrumentation at every level.
2Reliability
If existing solutions use relative server timestamps to map database sessions to application sessions, then the mapping can be established, but the mapping is highly unreliable in multi-threaded and multi-server environments
Solution Approach 1:
The patent implements feedback mechanisms where database routines return correlation IDs and performance data back through the execution chain. This feedback loop enables reliable session mapping by capturing timing information at multiple points and comparing it against expected durations, allowing the system to trace and verify session relationships across multi-threaded and multi-server environments.
Solution Approach 2:
The patent performs preliminary actions by capturing performance metrics and correlation IDs at the point of database entry, before any processing occurs. This preliminary capture of timing information and identification data establishes a baseline that can be reliably matched later, improving session mapping reliability before complexity issues arise during execution.
3Measurement precision
If the framework instruments all database code-modules to provide comprehensive performance monitoring, then detailed performance insights are achieved, but significant overhead may be introduced to existing systems
Solution Approach 1:
The patent applies partial instrumentation by instrumenting only the performance-critical paths and nested calls that require detailed monitoring, rather than instrumenting every possible database operation. The system captures metrics at strategic points (routine entry, trigger execution, stored procedure calls) where performance issues are most likely to occur, providing sufficient insight without excessive overhead.
Data Source
AI summary
Novel tools and techniques for instrumenting code-module execution within a database (or within a plurality of databases). In one aspect, various embodiments can instrument (e.g., measure and/or monitor) database applications, jobs, or other coded modules, execution steps, and/or any other type of executable code within (or even outside) of a database to accurately track execution and call lineage, timings, and/or errors within database code modules, long-running SQL statements, or other large database calls/callouts initiating from within one or more databases, across one or more platforms (e.g., Oracle, SQL Server, etc.). In another aspect, certain embodiments can perform such instrumentation through a variety of interfaces (intra-database calls, database links, linked servers, external application code, etc.).


