OpenTelemetry Circuit Breaker Insertion for Microservice Methods

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Insertion of circuit breakers into microservices and other applications is a long and tedious process for application developers, especially when dealing with third-party libraries where source code access is limited.

Innovation Solution

Instruments applications to generate OpenTelemetry trace data, identifies methods requiring circuit breakers, and automatically inserts them based on application instrumentation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers manually insert circuit breakers into microservices and third-party libraries, then circuit breaker protection is achieved, but the process becomes long and tedious

Engineering Contradiction:
Improvecircuit breaker protectionVSAvoidinsertion time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of application code to automatically identify methods requiring circuit breaker protection before deployment. By pre-configuring circuit breakers based on static code analysis and runtime behavior patterns, the system eliminates the tedious manual insertion process while ensuring comprehensive protection coverage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The circuit breaker system operates autonomously by self-configuring protection mechanisms based on observed application behavior and error patterns. The system automatically identifies vulnerable methods, determines appropriate circuit breaker parameters, and inserts protection logic without requiring manual developer intervention, thus reducing insertion time while maintaining reliability.

Inventive Principle:
Principle #25Self-service

2Reliability

If developers manually code circuit breakers for each method, then precise control is achieved, but the complexity of the process increases

Engineering Contradiction:
Improvecircuit breaker controlVSAvoidinsertion process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary layer between the application code and circuit breaker implementation. This intermediary automatically translates high-level protection requirements into specific circuit breaker configurations for individual methods. By mediating the complexity of manual configuration, the system maintains precise control over circuit breaker behavior while simplifying the developer workflow.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates a universal circuit breaker framework that can be applied across multiple methods and services with a single configuration. Instead of requiring separate manual coding for each method, the universal framework automatically adapts to different contexts, reducing process complexity while maintaining the ability to provide precise control where needed through configurable parameters.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If circuit breakers are inserted without source code access to third-party libraries, then integration is achieved, but automation capability is reduced

Engineering Contradiction:
Improveintegration capabilityVSAvoidcircuit breaker insertion automation
Core Design Contradiction:
Adaptability or versatilityVSExtent of automation

Solution Approach 1:

The system replaces the mechanical approach of direct source code modification with a bytecode manipulation technique. By using Java instrumentation and bytecode transformation, the system can automatically insert circuit breaker logic into third-party libraries without accessing their source code. This substitution maintains full automation capability while achieving seamless integration with external dependencies.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system introduces an intermediary instrumentation layer that operates between the application and third-party libraries. This intermediary uses runtime bytecode manipulation to automatically inject circuit breaker logic into library methods without requiring source code access. The intermediary maintains automation by programmatically analyzing method signatures and behavior patterns to determine where circuit breakers should be inserted.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250370831A1Opentelemetry-based circuit breaker automation
Publication Date: 2025.12.04 CISCO TECHNOLOGY INC
  • US20250370831A1 patent drawing
  • US20250370831A1 patent drawing
  • US20250370831A1 patent drawing

AI summary

In one embodiment, a device instruments an application to generate OpenTelemetry trace data during execution of the application. The device identifies, based on where the application was instrumented, a particular method of the application. The device determines that a circuit breaker should be inserted for the particular method of the application. The device inserts a circuit breaker for the particular method.