aspire icon indicating copy to clipboard operation
aspire copied to clipboard

Support filtering telemetry to all instances of a resource

Open JamesNK opened this issue 1 year ago • 12 comments

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: resource-filter-all-logs

Microsoft Reviewers: Open in CodeFlow

JamesNK avatar Aug 02 '24 09:08 JamesNK

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.

samsp-msft avatar Aug 05 '24 19:08 samsp-msft

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.

JamesNK avatar Aug 06 '24 04:08 JamesNK

/azp run

JamesNK avatar Aug 06 '24 06:08 JamesNK

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Aug 06 '24 06:08 azure-pipelines[bot]

/azp run

JamesNK avatar Aug 06 '24 07:08 JamesNK

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Aug 06 '24 07:08 azure-pipelines[bot]

/azp run

drewnoakes avatar Aug 07 '24 01:08 drewnoakes

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Aug 07 '24 01:08 azure-pipelines[bot]

/azp run

JamesNK avatar Aug 07 '24 04:08 JamesNK

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Aug 07 '24 04:08 azure-pipelines[bot]

/azp run

JamesNK avatar Aug 07 '24 07:08 JamesNK

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Aug 07 '24 07:08 azure-pipelines[bot]

/azp run

adamint avatar Aug 14 '24 20:08 adamint

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Aug 14 '24 20:08 azure-pipelines[bot]

/azp run

JamesNK avatar Aug 15 '24 00:08 JamesNK

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Aug 15 '24 00:08 azure-pipelines[bot]