Mid-method instrumentation for bytecode monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current monitoring and logging systems face challenges in maintaining high service performance and user experience due to the complexity of web services, particularly in tracking and connecting data across disparate systems, tools, and layers, leading to lost information about local variables and changes within methods during web application execution.

Innovation Solution

The implementation of mid-method instrumentation, which allows interceptors to be applied anywhere within a method, enabling the collection of information created during the method's execution, including local variables and parameters, and providing a detailed view of business transactions by defining them within the method's middle sections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If monitoring systems track data across disparate systems and layers, then service performance and user experience improve, but system complexity increases making it difficult to track and monitor

Engineering Contradiction:
Improveservice performanceVSAvoidmonitoring complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary instrumentation layer that sits between the application code and the monitoring system. This intermediary captures method entry/exit events and automatically correlates them with transaction traces, acting as a mediator that simplifies the monitoring of complex distributed systems without requiring direct integration across all disparate systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where monitored methods can be configured to automatically associate with transaction traces, and the monitoring system provides feedback about transaction status and performance. This feedback loop enables automatic correlation of data across system layers, reducing manual monitoring complexity while maintaining service performance visibility.

Inventive Principle:
Principle #23Feedback

2Loss of information

If instrumentation is applied only at the beginning and end of methods, then implementation is simple, but information about local variables and changes within methods is lost

Engineering Contradiction:
Improvelocal variable informationVSAvoidinstrumentation implementation
Core Design Contradiction:
Loss of informationVSEase of manufacture

Solution Approach 1:

The patent segments the method execution into distinct instrumentable points: method entry, method exit, and intermediate points within the method body. By segmenting the instrumentation to capture events at these specific points, the system recovers local variable information without requiring continuous instrumentation throughout the entire method, balancing information recovery with implementation complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary instrumentation setup by defining transaction boundaries and instrumented methods before execution. This preliminary configuration allows the monitoring system to automatically capture and correlate local variable changes during method execution without requiring complex real-time instrumentation logic, thus recovering information while maintaining ease of implementation.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If interceptors are applied anywhere within a method, then visibility into middle sections improves, but instrumentation complexity increases

Engineering Contradiction:
Improvemethod execution visibilityVSAvoidinstrumentation structure
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements dynamic instrumentation where interceptors can be applied at flexible positions within methods based on transaction boundaries rather than fixed locations. This dynamic approach allows precise measurement of middle-section execution details while the system automatically adjusts instrumentation placement to maintain clarity in the instrumentation structure, avoiding rigid complex patterns.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system applies local quality instrumentation by targeting specific regions within methods that correspond to transaction boundaries or significant execution points. Rather than uniformly instrumenting the entire method, the system focuses instrumentation resources on locally significant sections, improving measurement precision where needed while keeping overall instrumentation structure simpler and more manageable.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10846200B2Mid-method instrumentation
Publication Date: 2020.11.24 CISCO TECHNOLOGY INC
  • US10846200B2 patent drawing
  • US10846200B2 patent drawing
  • US10846200B2 patent drawing

AI summary

A system for preforming mid-method instrumentation includes a processor; a memory; and one or more modules stored in the memory and executable by a processor to perform operations including: obtain bytecode representation of an application; identify a method in the bytecode including a beginning and an end of the method; identify lines of bytecode between the beginning and the end of the identified method; identify one or more of the lines of bytecode between the beginning and the end of the method to instrument with one or more interceptors; during runtime of the application, instrument the identified one or more of the lines of bytecode between the beginning and the end of the identified method by apply the one or more interceptors; and during the runtime of the application, receive information associated with the instrumented one or more lines of bytecode between the beginning and the end of the method.