-
Notifications
You must be signed in to change notification settings - Fork 659
Add links between telemetry and resources in grid values #10648
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for custom components in property grids to display interactive links between telemetry data and resources. The implementation introduces a component metadata system that allows property grid values to be rendered as clickable links that navigate between traces, spans, and resources.
Key changes:
- Introduction of a component metadata system for custom property grid value rendering
- New custom components for displaying TraceId, SpanId, and ResourceName values as navigational links
- Integration of custom components into SpanDetails and StructuredLogDetails views
Reviewed Changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 5 comments.
Show a summary per file
File | Description |
---|---|
src/Aspire.Dashboard/Model/ComponentMetadata.cs | New model for storing component type and parameters metadata |
src/Aspire.Dashboard/Components/Controls/PropertyGrid.razor.cs | Added support for ValueComponents parameter and component metadata lookup |
src/Aspire.Dashboard/Components/Controls/GridValue.razor | Added dynamic component rendering when ComponentMetadata is present |
src/Aspire.Dashboard/Components/Controls/PropertyValues/TraceIdValue.razor | New component for rendering trace IDs as navigational links |
src/Aspire.Dashboard/Components/Controls/PropertyValues/SpanIdValue.razor.cs | New component for rendering span IDs with availability checking |
src/Aspire.Dashboard/Components/Controls/PropertyValues/ResourceNameValue.razor | New component for rendering resource names as links |
src/Aspire.Dashboard/Components/Controls/SpanDetails.razor.cs | Integration of custom components for trace/span/resource navigation |
src/Aspire.Dashboard/Components/Controls/StructuredLogDetails.razor.cs | Integration of custom components for log entry navigation |
src/Aspire.Dashboard/Components/Pages/TraceDetail.razor | Added CloseCallback parameters to detail components |
src/Aspire.Dashboard/Model/MetricsHelpers.cs | Fixed dialog service call to run on UI dispatcher |
Video? Image? |
Why did you decide to use
|
I wanted to avoid the duplication of having if/else in each ValueTemplate. And having to pass Also, it's an experiment to see how well this approach works. |
39d5378
to
dd98c70
Compare
72189e0
to
caa2c51
Compare
Description
Checklist
<remarks />
and<code />
elements on your triple slash comments?doc-idea
templatebreaking-change
templatediagnostic
template