Analytic Engine Span Metric Stream Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing monitoring and troubleshooting tools struggle to efficiently monitor and analyze the complex, dynamic environments of microservices-based applications, particularly in computing metrics from significant amounts of span and trace data.

Innovation Solution

The system ingests up to 100% of span information, groups spans by unique span identities, computes metrics for each span identity, and generates streams of metric data. It also aggregates and filters this data to provide meaningful insights into request, latency, and error computations for services and dependencies, and allows for user-configured dimensions to extract additional metadata.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional monitoring tools are used to track microservices environments, then basic monitoring is provided, but they cannot efficiently compute metrics from significant amounts of span and trace data

Engineering Contradiction:
Improveefficiency of monitoring and analysisVSAvoidcomplexity of microservices environment
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the complex monitoring task by ingesting span data at multiple levels of abstraction. It processes spans individually, groups them by span identity, and aggregates them into traces, allowing efficient computation of metrics from large volumes of distributed trace data without being overwhelmed by the complexity of the microservices environment.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If 100% of span information is ingested and processed, then accurate high-cardinality metrics are produced, but significant computational resources and processing time are required

Engineering Contradiction:
Improveaccuracy of metricsVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by ingesting and storing span data with full fidelity before aggregation. It maintains the complete span information including all attributes and metadata, then efficiently aggregates this pre-ingested data into traces and computes metrics. This preliminary ingestion allows accurate high-cardinality metrics to be produced without repeated data collection, reducing overall processing time.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If span data is aggregated into traces, then meaningful insights into request flow are provided, but detailed span-level information may be lost

Engineering Contradiction:
Improveinsight into request flowVSAvoidspan-level details
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The system implements a nested data structure where spans are contained within traces, and individual span attributes are preserved within the aggregated trace data. This nesting allows the system to provide high-level request flow insights through trace aggregation while simultaneously maintaining access to detailed span-level information for deeper analysis when needed, without losing any original data.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS20250165376A1Generating span related metric data streams by an analytic engine
Publication Date: 2025.05.22 CISCO TECHNOLOGY INC
  • US20250165376A1 patent drawing
  • US20250165376A1 patent drawing
  • US20250165376A1 patent drawing

AI summary

A method of generating metrics data associated with a microservices-based application comprises ingesting a plurality of spans and mapping an ingested span of the plurality of spans to a span identity, wherein the span identity comprises a tuple of information identifying a type of span associated with the span identity, wherein the tuple of information comprises user-configured dimensions. The method further comprises grouping the ingested span by the span identity, wherein the ingested span is grouped with other spans from the plurality of spans comprising a same span identity. The method also comprises computing metrics associated with the span identity and using the metrics to generate a stream of metric data associated with the span identity.