Automated OpenTelemetry Instrumentation via Agent-Based Runtime Injection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of maintaining high service performance and user experience in web services is exacerbated by the difficulty in monitoring and logging data across disparate systems, tools, and layers in network architecture, particularly due to the lack of implementation of Open Telemetry API/SDK, which is time-consuming and not a priority for application developers.

Innovation Solution

Automated open telemetry instrumentation leveraging behavior learning, where an agent process listens to an application's discovery-based execution, determines transition locations, records them, and injects instrumentation during runtime based on a recorded file, enabling auto-instrumentation without manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual Open Telemetry instrumentation is implemented, then monitoring and logging capability is improved, but time consumption and complexity increase

Engineering Contradiction:
Improvemonitoring capabilityVSAvoidinstrumentation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs self-instrumentation by automatically injecting Open Telemetry code into the application at runtime without requiring manual developer intervention. The instrumentation agent monitors the application's execution and autonomously adds monitoring capabilities, allowing the system to instrument itself rather than requiring external manual configuration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The instrumentation is performed in advance during the application's discovery-based execution phase, before the application goes into production. The agent process listens to and records transition locations during discovery, preparing the instrumentation data structure ahead of time so that when the application runs, the monitoring is already in place without consuming runtime resources for setup.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If manual Open Telemetry instrumentation is implemented, then monitoring capability is improved, but device complexity and difficulty increase

Engineering Contradiction:
Improvemonitoring capabilityVSAvoidinstrumentation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

An intermediary agent process is introduced that sits between the application and the Open Telemetry system. This agent automatically performs the instrumentation by injecting code at runtime based on recorded transition locations, eliminating the need for developers to directly configure complex Open Telemetry settings and reducing the complexity burden from the application layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates a recorded file containing instrumentation data during the discovery phase, which is then used to generate and inject the actual Open Telemetry instrumentation code. This copying approach allows the complex instrumentation logic to be separated from the application code, with the recorded file serving as a template that can be applied automatically without requiring developers to understand or configure the underlying complexity.

Inventive Principle:
Principle #26Copying

3Loss of time

If automated instrumentation is implemented, then time consumption is reduced, but measurement precision and accuracy may worsen

Engineering Contradiction:
Improveinstrumentation timeVSAvoidtransition location accuracy
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The system uses discovery-based execution to observe and record actual transition locations that occur during application runtime. This feedback mechanism allows the agent to learn the true execution paths and transition points from the application's behavior, ensuring that the automated instrumentation accurately captures real monitoring points rather than relying on static code analysis or manual configuration that might miss dynamic behavior.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11971800B2Automated open telemetry instrumentation leveraging behavior learning
Publication Date: 2024.04.30 CISCO TECHNOLOGY INC
  • US11971800B2 patent drawing
  • US11971800B2 patent drawing
  • US11971800B2 patent drawing

AI summary

In one embodiment, an illustrative method herein may comprise: listening, by an agent process, to a discovery-based execution of an application; determining, by the agent process, a plurality of transition locations during the discovery-based execution of the application; recording, by the agent process, the plurality of transition locations into a recorded file; and providing, by the agent process, the recorded file to cause injection of instrumentation into the plurality of transition locations during runtime of the application based on the recorded file.