-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Dns event counters #48885
Comments
Tagging subscribers to this area: @dotnet/ncl Issue DetailsWe should consider adding some event counters around name resolution, e.g.
|
Right now we have
Something like With #48566 in mind, the meaning of this would likely be "number of not-finished
I assume the tracking of "unique" would be duplicated between the Telemetry impl and a potential #48566 impl? |
Ah, I didn't see that one. That's the "Number of Dns requests issued" I was asking for.
Yes, if we're already tracking number of requests initiated, then if we also tracked number of requests finished, it would be the difference.
There might be some duplication, but whatever we do for #48566 is likely to only apply to a portion of requests, e.g. those that are implemented by queueing work items to the thread pool. On Windows most if not all requests will instead be implemented with async OS functionality, and we wouldn't do any such uniqueness tracking for the implementation. Longer term, we'd expect that to be true for all OSes. |
Triage: shouldn't be hard to implement, the numbers might be useful. We would want |
Currently implemented:
Not yet added:
Potential:
|
Taking the discussion from #56072 (comment) here:
We should answer:
@davidfowl can you respond here please to @stephentoub's comment above? Moving the issue to 6.0 to make decision what to do in 6.0. |
There are ways to get a statistical estimate of the number of unique addresses with quite limited storage. https://en.wikipedia.org/wiki/HyperLogLog?wprov=sfti1 (there is a relatively simple C# implementation with Apache license that could be used. https://en.wikipedia.org/wiki/Count-distinct_problem?wprov=sfti1 Etc |
+1. Let's log data at runtime and do statistical analysis in post-processing. |
Moving it to 7.0. @davidfowl let us know if you have more info that should change our mind ... |
@davidfowl can you ack or push back here to help us make the right call? |
Is there any low hanging fruit here we could tackle for .NET 6? I think the unique dns requests are difficult and we can punt for now, but it would be ideal to add some of the other counters. |
The "Number of unique DNS requests currently in flight" counter doesn't seem critical for 7.0. Moving to future.
@davidfowl did you have any other counters in mind (aside from those mentioned in #48885 (comment))? |
This is something I would like to get done for .NET 8 now that we're moving to metrics. Specifically, a Meter in System.Net that reports the number of DNS resolutions with a host name dimension. |
@davidfowl is DNS the only area you find critical in .NET 8 to define Metrics for, or is there anything from #88383 and #88384 you want us to get done? |
HTTP counters: #88384 and DNS counters are the most important. The socket and TLS ones I think can wait. Specifically, the counters you cannot write yourselves are the most important for us to add (the connection pooling data that exists inside of SocketHttpHandler's guts). |
Perfect, then I think the DNS one is the next most important one to add that isn't currently tracked for .NET 8. |
We should consider adding some event counters around name resolution, e.g.
The text was updated successfully, but these errors were encountered: