Skip to content
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

Clarify SDK behavior for Instrument Advisory Parameter #4389

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

cijothomas
Copy link
Member

Also Fixes #4317

Changes

Mostly editorial, to specify SDK behavior for Advisory Parameters, explicitly calling out that SDK MUST give precedence to View config over InstrumentAdvisory. I believe this is already the intention, but was less specified. Though some wordings exist in the View spec about attribute-keys, no mention about Histogram buckets..

@cijothomas cijothomas requested review from a team as code owners January 28, 2025 18:48
configured a View with specific bucket boundaries, those boundaries should take
precedence. In the absence of such a configuration, the advisory parameter
should be used. If neither is provided, the default bucket boundaries must be
applied.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the last sentence may be too obvious that it may be omitted...But I am okay with being more explicit.

specification/metrics/sdk.md Outdated Show resolved Hide resolved
If a [View](#view) is configured with the same settings as advisory parameters,
the View MUST take precedence over the advisory parameters.

#### Instrument advisory parameter: `ExplicitBucketBoundaries`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We generally haven't explicitly documented the API methods or parameters in the SDK specification. It is already stated that the SDK is an implementation of the API. I think the general statement above "If a View is configured with the same settings as advisory parameters,
the View MUST take precedence over the advisory parameters." is already enough to clarify the precedence ordering.

I don't think this section, or the one below, is necessary unless is is clarifying something additional (other than precedence or what is already in the API).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#instrument-advisory-parameters The API doc says "OpenTelemetry SDKs MUST handle advisory parameters as described here", and that here is what this section.

I am okay with just keeping the general statement about view takes precedency alone and remove rest. Will see if there are other feedback on this. I have seen recently that we try to be more explicit in SDK specs (eg: Logger.Enabled), but does not necessarily have to do it for advisory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Metric SDK - is ExplicitBucketBoundaries advisory stable?
3 participants