Support filtering telemetry to all instances of a resource
Fixes https://github.com/dotnet/aspire/issues/5137
Aspire supports collecting data from multiple instances of an app, e.g. CatalogService-123 and CatalogService-456. When this happens, the resource selector shows instances grouped together. Selecting an instance shows telemetry for only that instance.
This PR adds support for showing telemetry across all instances of an app. In the resource selector on telemetry pages it enables the group option, e.g. CatalogService (application). Now you can filter telemetry to an instance of an app or view all instances at once.
The new behavior is straight forward on structured logs and tracing pages. They show items for all instances. The metrics page is more complicated. Selecting CatalogService (application) will show all the meters/instruments across instances. Selecting an instrument then shows data from all instances in the graph. In histogram graphs, the percentiles are calculated using data from all instances. In counter graphs, counts are added together from all instances. For example, if consoto.login.count is 10 in one instance, and 20 in another, the graph will display 30.
Demo:
Microsoft Reviewers: Open in CodeFlow
For non-histogram metrics, can we have an option to graph each resource as its own line on the same graph? I have a similar request for dimensioned metrics - to be able to draw a different line for each dimension value for a specific dimension.
For non-histogram metrics, can we have an option to graph each resource as its own line on the same graph? I have a similar request for dimensioned metrics - to be able to draw a different line for each dimension value for a specific dimension.
Sure, but that's a different feature and it's not happening in this PR. Create an issue for it.
/azp run
Azure Pipelines successfully started running 1 pipeline(s).
/azp run
Azure Pipelines successfully started running 1 pipeline(s).
/azp run
Azure Pipelines successfully started running 1 pipeline(s).
/azp run
Azure Pipelines successfully started running 1 pipeline(s).
/azp run
Azure Pipelines successfully started running 1 pipeline(s).
/azp run
Azure Pipelines successfully started running 1 pipeline(s).
/azp run
Azure Pipelines successfully started running 1 pipeline(s).