-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
dns.lookup.duration
should report error.type
#92837
Comments
Tagging subscribers to this area: @dotnet/ncl Issue DetailsDescriptionCurrently Having Adding an attribute later is considered a breaking change on OTel, since it increases the number of time series in the metric and breaks alerts and dashboards (so creating it as a bug). Reproduction StepsN/A runtime/src/libraries/System.Net.NameResolution/src/System/Net/NameResolutionMetrics.cs Line 24 in e89daba
Expected behaviorThe metric should have Actual behaviorMetric only reports successful lookups Regression?No response Known WorkaroundsNo response ConfigurationNo response Other informationNo response
|
Where are you seeing that? We're using the same code for both success & failure cases, and have tests for the failure case here runtime/src/libraries/System.Net.NameResolution/tests/FunctionalTests/MetricsTest.cs Line 45 in d1972fe
What sort of information would you expect to see there (we may have a limited amount of info from the OS)? |
Thanks for the clarification! So it records all durations regardless of the result - I didn't realize that. In this case, users are just not able to separate successful attempts from failed ones. |
dns.lookup.duration
metric for failed lookupsdns.lookup.duration
should report error.type
Linking the related aspnet issue: dotnet/aspnetcore#51029 |
To what degree are changes to emitted values for existing tags considered breaking? |
Adding attributes may break existing Prometheus queries. I hope changes in the query result because of different values in the attributes are not considered to be breaking. @lmolkova do you have a comprehensive answer to this? |
TL;DR
So we should in general avoid 1-3, but 2-3 should be less impactful than 1. |
Description
Currently
dns.lookup.duration
only reports duration of he successful lookups, but failed lookups are quite interesting as well (count, rate, duration, failure reason).Having
error.type
attribute on thedns.lookup.duration
metric and reporting it when DNS lookup fails would provide all the details.Adding an attribute later is considered a breaking change on OTel, since it increases the number of time series in the metric and breaks alerts and dashboards (so creating it as a bug).
Reproduction Steps
N/A
runtime/src/libraries/System.Net.NameResolution/src/System/Net/NameResolutionMetrics.cs
Line 24 in e89daba
Expected behavior
The metric should have
error.type
attribute nad report duration of both, failed and successfully lookups.Actual behavior
Metric only reports successful lookups
Regression?
No response
Known Workarounds
No response
Configuration
No response
Other information
No response
The text was updated successfully, but these errors were encountered: