Service Graph Rendering for Microservices Visibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing monitoring tools struggle to provide end-to-end visibility into user sessions for cloud-based applications, especially in microservices architectures, due to the complexity of network communication and the vast amounts of data generated by both frontend and backend components.
Innovation Solution
The implementation of a monitoring service that collects and ingests trace data from both frontend and backend components, allowing for the generation of metric time series and the aggregation of metrics data to provide real-time monitoring and end-to-end visibility into user sessions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If microservices architecture is used to improve scalability and deployment flexibility, then application delivery speed and scalability are improved, but system complexity and difficulty of monitoring increase
Solution Approach 1:
The patent segments the monitoring system into multiple independent components: frontend monitoring agents, backend monitoring agents, trace data collectors, metric generators, and visualization modules. Each component handles specific aspects of monitoring independently, allowing the system to scale with microservices while maintaining manageable complexity through modular architecture.
Solution Approach 2:
The patent introduces intermediary components including trace data collectors that aggregate data from multiple services, metric generation modules that process raw data into meaningful insights, and centralized visualization interfaces. These intermediaries simplify monitoring complexity by handling data aggregation, processing, and presentation, allowing developers to monitor distributed systems without being overwhelmed by underlying complexity.
2Loss of information
If comprehensive trace data is collected from frontend and backend components to improve monitoring visibility, then end-to-end visibility into user sessions is improved, but data volume and processing complexity increase
Solution Approach 1:
The patent extracts only the essential and relevant trace data from frontend and backend components using monitoring agents that selectively collect metrics such as response times, error rates, and transaction traces. This extraction approach maintains comprehensive visibility into user sessions while filtering out redundant information, thereby managing data volume effectively.
Solution Approach 2:
The patent implements partial data collection by focusing on critical performance metrics and user journey traces rather than capturing every possible data point. The monitoring system collects sufficient data to provide end-to-end visibility while avoiding the overhead of excessive data collection, achieving an optimal balance between visibility and processing complexity.
3Measurement precision
If real-time monitoring of user sessions is implemented to improve user experience detection, then user experience visibility is improved, but computational resources and processing time increase
Solution Approach 1:
The patent implements periodic sampling and aggregation of trace data at defined intervals rather than continuous real-time processing of every event. Metric generation occurs periodically, and performance metrics are aggregated over time windows, allowing real-time monitoring capabilities while reducing computational resource consumption through scheduled processing cycles.
Solution Approach 2:
The patent performs preliminary data processing and filtering at the data collection stage, where monitoring agents pre-process trace data by aggregating metrics, filtering noise, and organizing data into structured formats before transmission to central analysis systems. This preliminary action reduces the computational burden on downstream processing systems while maintaining measurement precision.
Data Source
AI summary
A method of rendering a service graph illustrating dependencies between a frontend and a backend of an application comprises generating a plurality of frontend traces from a plurality of frontend spans and generating a plurality of backend traces from a plurality of backend spans ingested from the application. The method also comprises aggregating frontend metrics data using the plurality of frontend traces and backend metrics data using the plurality of backend traces. The method further comprises determining connection information between one or more frontend traces of the plurality of frontend traces and corresponding backend traces of the plurality of backend traces. The method also comprises rendering the service graph using the connection information and the aggregated frontend and backend metrics data.


