Microservice Stacktrace Fingerprinting for Distributed Error Triaging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In microservices architectures, it is challenging to effectively identify and troubleshoot errors across distributed development teams due to the complexity of tracing issues across multiple microservices, as errors are often reported without context regarding which microservice caused them, leading to ineffective error reporting and remediation.

Innovation Solution

The method involves generating a fingerprint by concatenating code-path identifiers from each microservice involved in processing a request, which are then stored for analysis, allowing for the identification of error sources and correlating issues across the microservices architecture using stacktrace signatures and AI-driven event classification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If microservices are used to improve system scalability and modularity, then system adaptability and ease of maintenance are improved, but error tracking and debugging become more difficult due to distributed architecture

Engineering Contradiction:
Improvesystem adaptabilityVSAvoiderror tracking difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system segments error tracking by generating unique code-path identifiers for each microservice and concatenating them into a fingerprint that represents the complete request journey across distributed services, allowing errors to be tracked individually while maintaining context

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A telemetry service acts as an intermediary that collects code-path identifiers from multiple microservices, generates fingerprints, and stores them in a data storage system, enabling centralized error correlation without requiring changes to the microservice architecture itself

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If distributed development teams work on independent microservices, then development productivity and system modularity are improved, but error context and correlation across services are lost

Engineering Contradiction:
Improvedevelopment productivityVSAvoiderror context loss
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The fingerprint mechanism serves multiple functions: it tracks the complete request path across services, identifies error sources, and provides context for debugging, all while maintaining independence of individual microservices and supporting distributed development teams

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

Solution Approach 2:

The system provides feedback by storing and making accessible the concatenated code-path identifiers, enabling developers to trace errors back through the microservice chain and understand the complete context of distributed system failures

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11789846B2Method and system for using stacktrace signatures for bug triaging in a microservice architecture
Publication Date: 2023.10.17 SONY INTERACTIVE ENTERTAINMENT LLC
  • US11789846B2 patent drawing
  • US11789846B2 patent drawing
  • US11789846B2 patent drawing

AI summary

A method is disclosed. The method including receiving at a telemetry service a plurality of transaction responses from a plurality of components distributed across a network, wherein the plurality of transaction responses is generated to process a request originating from a source component, wherein the request includes a request identifier, wherein the plurality of transaction responses includes a plurality of code path identifiers. The method including generating a fingerprint associated with the request by concatenating the plurality of code path identifiers, wherein each transaction response includes the request identifier and a corresponding code path identifier. The method including storing the fingerprint in a data storage.