Microservices Topology Graph for Uninstrumented Service Visualization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional monitoring tools fail to efficiently render a graphical representation of instrumented and uninstrumented services in microservices-based distributed systems, lacking the ability to provide meaningful quantitative information about throughput, latency, and error rates, and struggle to visualize the causal chain of operations leading to errors or degraded responses.
Innovation Solution
A method for generating an application topology graph that aggregates and visualizes cross-service relationships between instrumented and uninstrumented services, using span data to infer uninstrumented services and track cross-service span pairs, enabling the preservation of directionality and rendering of service graphs that include both instrumented and uninstrumented services.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If conventional monitoring tools are used to track microservices, then basic service monitoring is achieved, but the tools fail to efficiently render graphical representations of instrumented and uninstrumented services and cannot provide meaningful quantitative information about throughput, latency, and error rates
Solution Approach 1:
The patent combines multiple monitoring functions into a unified topology graph that simultaneously displays instrumented and uninstrumented services, their interactions, and quantitative metrics (throughput, latency, error rates) in a single visual representation, eliminating the need for multiple separate monitoring tools
Solution Approach 2:
The topology graph serves multiple functions: it visualizes service architecture, tracks spans and traces, displays quantitative performance metrics, and enables troubleshooting all in one interface, making the monitoring system versatile and comprehensive
2Productivity
If microservices architecture is implemented to improve scalability and deployment flexibility, then service independence and frequent updates are achieved, but operational complexity increases and traditional monitoring tools result in information overload
Solution Approach 1:
The monitoring system segments information by visually distinguishing instrumented services (with instrumentation code) from uninstrumented services (without instrumentation code) in the topology graph, allowing operators to understand which services are being monitored and which are not, thereby reducing information overload
Solution Approach 2:
The patent adds a visual dimension to monitoring by creating a graphical topology representation that shows service relationships, interactions, and performance metrics spatially, transforming complex operational data into an intuitive visual format that is easier to comprehend and analyze
3Measurement precision
If spans and traces from instrumented microservices are collected for analysis, then software performance and errors can be monitored, but the system cannot efficiently visualize cross-service relationships including uninstrumented services
Solution Approach 1:
The topology graph acts as an intermediary that connects instrumented services (which generate spans and traces) with uninstrumented services (which do not generate spans), visually representing their cross-service relationships and enabling comprehensive monitoring of the entire system architecture
Solution Approach 2:
The system performs preliminary aggregation and organization of span data by service and by cross-service relationships before visualization, pre-processing the data into a structured format that enables efficient rendering of the topology graph with all relevant information already organized
4Reliability
If traditional symptom-based monitoring tools are used, then specific error tracking is achieved, but the tools are unable to keep up with the dynamic nature of cloud native applications and provide comprehensive monitoring
Solution Approach 1:
The topology graph provides continuous, real-time visualization of service interactions and performance metrics, continuously updating as new spans and traces are generated, enabling ongoing monitoring without interruption or manual intervention
Solution Approach 2:
The system provides feedback by displaying quantitative metrics (throughput, latency, error rates) directly on the topology graph, allowing operators to immediately see the impact of service interactions and quickly identify and respond to issues
Data Source
AI summary
A method of rendering a graphical user interface (GUI) comprising an application topology graph for a microservice architecture comprises generating a plurality of traces from a first plurality of spans generated by instrumented services in the architecture and generating generate a second plurality of spans for uninstrumented services using information extracted from the first plurality of spans. The method further comprises grouping the second plurality of spans with the plurality of traces. Subsequently, the method comprises traversing the traces and collecting a plurality of span pairs from the plurality of traces, wherein each pair of the span pairs is associated with a call between two services. The method also comprises aggregating information across the plurality of span pairs to reduce duplicative information associated with multiple occurrences of a same span pair from the plurality of span pairs. Finally, the method comprises rendering the application topology graph using the aggregated information.


