microsoft / microsoft/aspire

High-level Trace Graph Visualization for Resource Interactions in Aspire Dashboard

Open
#10,494 12 comments 0 reactions 0 assignees View on GitHub
area-dashboard
Dominant language
C#
Stars
6.3k
Forks
991
Avg merge
2d 15h
Merged PRs (30d)
196

Description

### Is there an existing issue for this?

- [x] I have searched the existing issues

### Is your feature request related to a problem? Please describe the problem.

I currently use the Flame Graph and static Graph view in the Aspire Dashboard. The Flame Graph is excellent for detailed performance analysis. However, it can be difficult to get a quick **high-level overview** of how a specific request propagated through the system — especially when trying to understand which resources interacted with each other and in what sequence.

In large, distributed systems, it's important to quickly grasp the "big picture": which resources were involved in a trace, how they were connected, and the overall flow without digging into low-level spans. This makes it easier to debug inter-resource issues and communicate the system’s behavior visually — for example, when creating tickets or discussing bugs/features with other developers or product owners.
This is especially true when trying to explain complex interactions to team members who may not be familiar with the detailed performance metrics but need to understand the request flow.
This is a common challenge when working with distributed systems, where understanding the sequence of resource interactions is crucial for debugging and system design discussions.
This is not just about performance, but about understanding the **structure and timing** of resource interactions
— a request-centric view of how components interacted, rather than a detailed performance breakdown.

### Describe the solution you'd like

I’d like to propose a **high-level graph view** focused on a single trace, showing how resources interacted over time. The goal is **not** to replace the Flame Graph, but to provide a simpler top-level visualization. This view would:

- Represent resources as nodes in a graph.
- Show directional edges based on which resource called which, in the order of the trace timeline.
- Only include high-level interactions (e.g. `ResourceA → ResourceB → ResourceC & ResourceD`).
- Optionally show timestamps or relative timing to illustrate when each call occurred.
- Allow users to switch into the Flame Graph for deeper investigation if desired.
- Be optimized for readability and screenshots to help with debugging sessions, documentation, or ticket creation.

This would serve as a top-level summary of trace flow, making it easier to explain and reason about request behavior across resources.

### Additional context

This feature could greatly enhance team collaboration by providing a shared, intuitive visualization of service interactions. It would simplify error analysis and communication about complex flows, focusing on the most relevant connections and their timing. Since the necessary trace data is already available, integration with existing dashboards should be straightforward. A clear, simplified graph would also support onboarding new team members and documenting system behavior effectively.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.