diagnostics icon indicating copy to clipboard operation
diagnostics copied to clipboard

dotnet-counters doesn't display a counter until the app records a measurement

Open JamesNK opened this issue 2 years ago • 1 comments

Description

I'm experimenting with adding metrics to ASP.NET Core (and eventually alongside most or all existing event source counters). See https://github.com/dotnet/aspnetcore/pull/46834

I noticed that dotnet-counters doesn't display a metrics counters until it is used. For example, hosting counters that record a HTTP request is starting, stopping, latency, etc, aren't displayed until a web request is made. That is confusing to users who would expect to see the counters but with zero values. For example, they'd expect to see the app has requests-failed = 0 on startup.

Screen recording showing that the Microsoft.AspNetCore.Hosting.Temp counters (using metrics) aren't displayed until a HTTP request is made:

dotnet-counters-counters-display-on-use

Configuration

.NET 8 web app publishing counters.

dotnet-counters --version
7.0.410101+f99383213ea19741908f5aa3cf0ed400db2e5f0a

Regression?

Unknown

Other information

JamesNK avatar Mar 14 '23 09:03 JamesNK

Any update on this? I have a similar issue with any Counter metric we use, and I don't know of nice way to easily initialize them to 0 on every app startup.

cjablonski76 avatar Jul 10 '24 20:07 cjablonski76