-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
NameResolutionTelemetry event source provides average dns lookup time, which is not very informative #57553
Comments
Tagging subscribers to this area: @dotnet/ncl Issue DetailsAn average time is misleading in a lot of cases because one is unable to see spikes of load. Unfortunately, .NET NameResolutionTelemetry does not calculate informative percentiles nor it has a way to calculate those because underlying stop/fail events do not have a stopwatch (or at least hostname) to calculate latency. I understand that underlying counters do not calculate percentiles because it's expensive and calculate average instead. (It's better than nothing) But as far as I can see, it is very easy to add this info to events so that one could calculate whatever he needs. Would you consider this proposal?
|
The NameResolution telemetry will emit Start/Stop pairs for each resolution. The events will be fired from within the same async scope and can as such be correlated (an For an example, see https://gist.github.com/MihaZupan/ba499563e5d602d990872fd9f5c35229 that is making use of the |
That said, if there are some statistics that would be useful to include in counters for multiple users, we would certainly consider it - one such discussion is going on in #48885 |
AsyncLocals work only if you are consuming the events in-proc. @MihaZupan Is it possible to correlate the events in out-of-proc listener? Out-of-proc listeners are very common in telemetry solutions. |
Yes. If you enable the An example with |
Triage: Seems to be addressed - solution does exist. Closing. |
An average time is misleading in a lot of cases because one is unable to see spikes of load.
Unfortunately, .NET NameResolutionTelemetry does not calculate informative percentiles nor it has a way to calculate those because underlying stop/fail events do not have a stopwatch (or at least hostname) to calculate latency.
I understand that underlying counters do not calculate percentiles because it's expensive and calculate average instead. (It's better than nothing)
But as far as I can see, it is very easy to add this info to events so that one could calculate whatever he needs.
Would you consider this proposal?
The text was updated successfully, but these errors were encountered: