-
Notifications
You must be signed in to change notification settings - Fork 888
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
Mark Metrics SDK as Mixed/Stable #2150
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not able to approve this as the Go implementation is still being built.
I believe this change says the SDK spec is stable. It does not mean that the SDK implementations are stable. |
Right, sorry, I wasn't clear. Without an implementation it is hard to say if this specification should be marked stable, specifically from the Go SIGs perspective. There are possibilities that parts of the specification are not implementable in the Go implementation. If that is the case there may need to be modifications that would not be compliant with our stability guarantee. |
@jmacd you have been prototyping something for Go, right? |
There are a couple of TODOs in |
There are two places where we have It seems to be an okay practice? - we've discussed this in the previous Metrics SIG meeting and actually confirmed that the Stable tracing spec also has I'm fine with removing these TODOs if most folks think it'll help to create more clarity. |
We've discussed this in the previous Spec SIG meeting (several weeks before we marked the Metrics API spec as Stable). In order to mark the Metrics SDK spec as Stable, the following things are required:
These are non-goal for Stable:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
The data model and proto are stable already, so can we also mark the exporters , except Prometheus, (i.e OTLP , stdout, inmemory) as stable as well? (separate topic, but related, hence mentioning it here.) |
Sounds like a good trade off going forward! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I propose several components remain in Feature-freeze. This topic was discussed by the technical committee today and the consensus is that we believe the specification is practically Stable, but that an uninitiated member of the community could probably not implement it from scratch in a way that conforms with our group understanding.
We expect to do a bit of editorial work on this specification as the next 1 or 2 prototypes are completed, and then we can finish marking this Stable.
@@ -47,6 +47,8 @@ | |||
|
|||
## MeterProvider | |||
|
|||
**Status**: [Stable](../document-status.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
**Status**: [Stable](../document-status.md) | |
**Status**: [Feature-freeze](../document-status.md) |
@@ -554,6 +562,8 @@ measurements using the equivalent of the following naive algorithm: | |||
|
|||
## MetricReader | |||
|
|||
**Status**: [Stable](../document-status.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
**Status**: [Stable](../document-status.md) | |
**Status**: [Feature-freeze](../document-status.md) |
@@ -661,6 +671,8 @@ Configurable parameters: | |||
|
|||
## MetricExporter | |||
|
|||
**Status**: [Stable](../document-status.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
**Status**: [Stable](../document-status.md) | |
**Status**: [Feature-freeze](../document-status.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@open-telemetry/technical-committee as discussed I think we can merge this PR after accepting the three changes proposed by me.
@cijothomas please take a look at my proposal for merging this PR. |
This comment was calling out that, the Exporter section of the SDK spec is not stable, so the exporters themselves (OTLP/Stdout/InMemory), should not be marked stable. |
I'm not sure I agree -- can't a specific exporter specification be stable even if the general interface specification is not? For components of an SDK I see this dependency being real (i.e., an SDK exporter can't be stable of other components it depends on are not stable), but for a specification I don't see a hard connection there. E.g., the stderr exporter says the "StderrExporter is an Exporter". This is true and stable and will not change even if we change the specification for Exporter, right? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With the suggestion to leave MeterProvider in Feature-freeze, these two sections are redundant.
* The `extra dimensions` which come from Baggage/Context (optional). If not | ||
provided, no extra dimension will be used. Please note that this only | ||
applies to [synchronous Instruments](./api.md#synchronous-instrument). | ||
* **Status**: [Feature-freeze](../document-status.md) - the `extra dimensions` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* **Status**: [Feature-freeze](../document-status.md) - the `extra dimensions` | |
* the `extra dimensions` |
* The `exemplar_reservoir` (optional) to use for storing exemplars. | ||
This should be a factory or callback similar to aggregation which allows | ||
different reservoirs to be chosen by the aggregation. | ||
* **Status**: [Feature-freeze](../document-status.md) - the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* **Status**: [Feature-freeze](../document-status.md) - the | |
* the |
This PR was marked stale due to lack of activity. It will be closed in 7 days. |
Closed as inactive. Feel free to reopen if this PR is still being worked on. |
This moves the Metrics SDK specification to Mixed/Stable:
These are the issues that should be resolved before we could merge this PR, unless the issue is specific about things that are not marked as Stable in this PR (e.g. Exemplar):
https://github.com/open-telemetry/opentelemetry-specification/issues?q=is%3Aissue+is%3Aopen+label%3Aspec%3Ametrics+label%3Aarea%3Asdk+label%3Arelease%3Arequired-for-ga+-label%3Aarea%3Asemantic-conventions+
Project board https://github.com/orgs/open-telemetry/projects/9.
(original link)