-
Notifications
You must be signed in to change notification settings - Fork 897
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
Consider making Advice non-identifying for instruments #3622
Comments
I agree. Advice is non-identifying. |
I agree. Just so we're clear, my interpretation is that because advice is non-identifying, two histograms with the same identity and different advices will result in 1 metric stream. And thus we have to pick one set of advice to apply to the resulting metric stream, which should naturally be the first we see. |
Can we be sure to make that clear and normative in whatever fix is applied for those of us that aren't as intuitive (😀)? |
I was looking at how to update the spec for this, but ran into the following question: When resolving two instruments with identical fields except for the advice, doesn't the fact that there is a conflict to resolve mean that the advice is indeed identifying? |
I've been interpreting "identifying" to mean that different inputs to the parameter produce different instruments, and "non-identifying" to mean that different inputs to the parameter produces the same instrument. Similar to the case-sensitive vs case-insensitive debate, I would consider the (case insensitive) name to be identifying, but the case of letters in the name to be non-identifying. I think a first-advice-wins solution would work here as it did for the case sensitivity of the name. |
Here's my understanding:
|
Does this mean no warning should be logged? |
Sorry - didn't include logging behavior in that. Updated. |
I'll work on a PR to address this. Notes from the sig meeting:
|
Fixes #3622 The language for resolving conflicts matches the language used for naming conflicts. cc @MrAlias @jack-berg @jmacd
Fixes open-telemetry#3622 The language for resolving conflicts matches the language used for naming conflicts. cc @MrAlias @jack-berg @jmacd
During the implementation of a Golang prototype of the Advice API, we found the requirement that Advice be identifying for instruments to be odd: open-telemetry/opentelemetry-go#4162 (comment)
In the current Instrument Advice API, it says:
If Advice is identifying, it means two histograms can be created that have identical names, units, and descriptions, but different default bucket boundaries. This seems to produce some odd behavior: What happens if I change the buckets, or switch to an exponential histogram using a View? Will the two instruments produce the same data?
I think we should change Advice to be non-identifying for instruments.
Side note: I also think description should not be identifying, but it appears that ship has sailed.
cc @MrAlias @jack-berg
The text was updated successfully, but these errors were encountered: