-
Notifications
You must be signed in to change notification settings - Fork 999
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
Verify compliant metric SDK specification implementation: MeterProvider/Resolving duplicate instrument registration conflicts #3653
Comments
I'm guessing this is scoped to a single MeterProvider (see open-telemetry/opentelemetry-specification#3538). There is an open issue tracking the casing collision of In that issue it appears to report that our duplicate instrument registration will not detect instrument conflicts that have the same case-insensitive name. However, it does comply with this section still: a "valid", though incorrect, instrument is returned. In general our duplicate instrument registration detection is done: opentelemetry-go/sdk/metric/pipeline.go Lines 323 to 325 in 135c64f
With opentelemetry-go/sdk/metric/pipeline.go Lines 349 to 367 in 135c64f
The processing of the conflict does not change the aggregation returned: opentelemetry-go/sdk/metric/pipeline.go Lines 323 to 346 in 135c64f
Meaning that in the case of duplicate instrument registrations a valid instrument is still created. |
As noted above, the OTel Go implementation is not compliant. The missing Otherwise, since identical [describes instances where all identifying fields are equal" and the identifying fields are:
And the cache look up key: opentelemetry-go/sdk/metric/pipeline.go Line 326 in 135c64f
is missing the instrument kind, and contains the additional aggregation name, monotonicity, temporality, and number: opentelemetry-go/sdk/metric/instrument.go Lines 152 to 171 in 135c64f
The implementation is not compliant:
|
Tracking with #4201 |
Implemented here: opentelemetry-go/sdk/metric/pipeline.go Line 325 in 135c64f
This is not warning though: opentelemetry-go/sdk/metric/pipeline.go Lines 357 to 366 in 135c64f
It was added prior to |
|
The first two items are not done. opentelemetry-go/sdk/metric/pipeline.go Lines 357 to 366 in 135c64f
|
Should this be closed? |
The specification issue for duplicate name conflicts looks like it is going to resolve in a different direction then we implemented. We will likely need to track that change and adjust accordingly. |
Thanks. I just noticed that all the TODOs were checked. :) |
The text was updated successfully, but these errors were encountered: