-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Either the OTLP receiver stability or the configrpc and confighttp stability are wrong #7964
Comments
I recall we had this discussion when talking about the stability level of components in contrib, and decided they could at best be as stable as the components in the collector they depend on. I think this should be the same for the components in core that depend on other components in core. This would mean that the otlp exporter, otlp http exporter, and otlp receivers stability levels must be changed. |
Yes, although it was ultimately dropped, we discussed adding such a rule here #3476 (comment)
I am okay with this, I think we should still try and be more careful with changing these in a backward incompatible way than with most other components, since they are so essential, but it seems like the way to go. cc @bogdandrutu |
The batch processor is also marked as stable. It does not depend on any configuration packages, so I think the case for reverting to beta is weaker there (I'd vote for keeping it stable), but this is a bigger rabbit hole than I initially expected... |
It does depend on |
If we consider any dependency to be problematic, then I think no component should be marked stable. I hate to reopen this discussion once again but specially if this ends up enshrined on an OTEP I think we should be consistent with the OTEP. |
I think there are difference between code stability and functionality stability which we need to also understand. |
Under functionality stability, we should include not only the actual behavior, but also the interface with the end-user (the config), and the generated telemetry, especially metric names/dimensions, as users rely on those for alerts/dashboards. The config aspect is why I think the confighttp not being stable should prevent otlpreceiver from being stable. |
The plan for v1 has been published, we probably don't need to keep this issue opened anymore. |
We are discussing a general framework for defining stability of OpenTelemetry components on open-telemetry/oteps/pull/232.
As mentioned on open-telemetry/oteps#232 (comment), the OTLP traces & metrics receiver are currently marked as stable , while the
configgrpc
andconfighttp
modules (split in #7921) are still v0.X. This contradicts the rule laid out in the OTEP:If we accept this rule it would imply one of the following:
configgrpc
andconfighttp
modules are not v1.0configgrpc
andconfighttp
modules version is wrong, they should be v1.0configgrpc
andconfighttp
modules version is correct, but we provide stronger guarantees than semver does (in particular, we do not allow changes that would affect the stability of OTLP receiver as a Collector component, but may allow Go API only changes or changes in structs not used in the OTLP receiver configuration).We should decide which one of the above is right and change the version/stability or document the stability guarantees. We could also argue that the rule in the OTEP is wrong.
If we are to follow the rule on the OTEP, (2) would also imply that
configopaque
,confignet
,configauth
(and thereforecomponent
) should be v1.0 since they are used byconfiggrpc
andconfighttp
, which I think is not something we can do now (see #7954 (comment) for example).The text was updated successfully, but these errors were encountered: