Analytic Engine Span Metric Stream Generation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


