-
Notifications
You must be signed in to change notification settings - Fork 894
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
Metric API specification overreaches into specifying implementation #3071
Comments
It was pointed out in the Go SIG meeting today that by the specification structured this way the no-op cc @Aneurysm9 |
facepalm this made me realize in Erlang we have log messages in the API for things like Counter |
I fully support this proposal, both points (1) and (2). |
This comment was marked as outdated.
This comment was marked as outdated.
…API (#3890) The api.md document specifies the Metric API, it does not defined the OpenTelemetry defined implementations of this API. Remove or correct the details within this API and leave it for the implementation specification to define. Importantly, the API is decoupled from implementation for a reason. Third-party implementation may exists that OTel does not have domain over. This document needs to written with that in mind. Related to #3171 and #3071.
…API (open-telemetry#3890) The api.md document specifies the Metric API, it does not defined the OpenTelemetry defined implementations of this API. Remove or correct the details within this API and leave it for the implementation specification to define. Importantly, the API is decoupled from implementation for a reason. Third-party implementation may exists that OTel does not have domain over. This document needs to written with that in mind. Related to open-telemetry#3171 and open-telemetry#3071.
The metric API specification contains many normative criteria for how the API should be implemented. It is not limited to the normative criteria that define the OpenTelemetry metric API. For example:
Having normative statements made in the API documentation about the implementation poses two issues:
A thing to note here is that it is important to communicate to the users of the actual OTel APIs written in a programming language what they should expect to happen to the data provided. I expect this was a motivation of the original authors in including normative statements about API implementations here. However, the approach to achieve this aim needs to be carefully considered.
The specification is not the place users of the OTel APIs go to understand this data exchange. They refer to the documentations provided by the language project the API is built in. The intended reader of the specification is the developer of the language project, not the user of the OTel API. Understanding this means that adding normative implementation statements to the API does not achieve the goal of informing the end user. If we want to achieve this, the API specification needs to include normative criteria to ensure the built APIs are documented with expository statements about how the API should be called.
Proposal
The text was updated successfully, but these errors were encountered: