dotnet / aspire

An opinionated, cloud ready stack for building observable, production ready, distributed applications in .NET
https://learn.microsoft.com/dotnet/aspire
MIT License
3.79k stars 446 forks source link

Dashboard: Metrics: Dimension display #350

Open samsp-msft opened 1 year ago

samsp-msft commented 1 year ago

Dimensions - they are not updating as new dimensions are added. Instead of having an X for them, make each dimension value a toggle button that can be toggled on/off. That way as new dimensions are added, they can be added to the list but not toggled.

Metric dimensions should probably have a "show all" button which is checked by default.

JamesNK commented 1 year ago

Instead of having an X for them

The X comes from the AutoComplete control and clears everything in the box.

There isn't enough detail here for me. What kind of button is this? Where is it? (keep in mind that horizontal real estate is limited in the current design) What happens to the autocomplete when it is checked? Or unchecked.

I can guess, but UI takes a lot of time to get right. It isn't easy to rework so you might not get what you expected.

samsp-msft commented 1 year ago

image

I am suggesting keeping the concept you have now of being able to select the dimensions to show, but rather than having to add/remove the values from a list, each value is always shown, and instead becomes a toggle button, so loses its "x" (which is equivalent to untoggling it. The "x" for each dimension row becomes a "select all" for that row, toggling all of the items to be on or off (although the latter would result in no entries, right?).

JamesNK commented 1 year ago

What happens when there are 20 values for http.route? Or 100? They can't all be displayed. And how do you add and remove individual values?

samsp-msft commented 1 year ago

You would be displaying them today right? If not then they will be wondering why only some of their metric values are being shown.

There are a couple of things going on with the dimension display: a) Customers need to know what dimensions are being exported with their metrics b) They can filter down the metrics to those meeting a dimension criteria c) By default they need to see the metrics for all dimensions - if not then they will be confused as to why the values are not doing what they expect when they send requests.

What happens when there are 20 values for http.route? Or 100? They can't all be displayed. Show them all, you can wrap around and show multiple in the value area for each dimension.

And how do you add and remove individual values? If its a toggle list, then you don't need to add/remove the values, you just need to toggle them.