Deprecate MetricProducer.opencensus#655
Conversation
298dcf9 to
a67eec0
Compare
marcalff
left a comment
There was a problem hiding this comment.
Thanks for the pr.
Looks ok to deprecate, the main concern here is the wording:
This entry will be removed no earlier than June 2027
comes from the spec, and refers to the specification itself: the OpenCensus specification will be removed after June 2027, but this does not mean every SIG SDK will drop OpenCensus by then.
The yaml node is likely to stay for SDK that still wants to support OpenCensus, even after June 2027.
Beside, removing a yaml node is a breaking change for the file format, so it is likely to stay for a really long time, with SDK accepting the syntax but raising an error at runtime.
When I read "This entry will be removed no earlier than June 2027", it gives me the impression the yaml node will be removed after June 2027, which is probably not what we want.
@open-telemetry/configuration-maintainers WDYT ?
|
Thanks @marcalff, fair point. Dropped the 2027 removal part and kept "deprecated, SDKs MAY continue, new configs SHOULD NOT use". |
|
FYI, this is the first time we've deprecated something. The way it has been done establishes a precedent. Is everyone ok with this being the way we deprecate things going forward? |
|
@jack-berg i think this approach makes sense, with the intent on keeping any deprecated fields in the schema until a major revision |
|
See followup in #659 |
Follow-up to spec PR #5138 (merged 2026-06-12), which deprecated OpenCensus compatibility requirements in the specification (removal no earlier than June 2027).
What this PR does
deprecated: true(JSON Schema 2020-12 annotation) to$defs.MetricProducer.properties.opencensusand$defs.OpenCensusMetricProducerinschema/meter_provider.yaml.**Deprecated**banner to thedescriptiontext of each entry — this is what surfaces the deprecation inschema-docs.md's## MetricProducerproperty table, since the markdown generator does not renderdeprecated:separately.opentelemetry_configuration.jsonandschema-docs.mdviamake all.## UnreleasedCHANGELOG entry.Non-breaking per VERSIONING.md L65: "Adding, removing, or modifying
deprecatedannotation" is explicitly allowed in minor versions.Out of scope
MetricProducer(the type) — it continues hosting future producers (see Support prometheus metric producer #576 forprometheus).statusvalues — the status enum has nodeprecatedvalue.Downstream
opentelemetry-js#6712 (merged 2026-06-04) just wired up
OpenCensusMetricProducerin@opentelemetry/sdk-node; it already emitsdiag.warnfor unknown producer keys, so this is runtime-safe. @trentm's comment anticipates this follow-up.cc @jack-berg, @codeboten, @marcalff, @MikeGoldsmith, @maryliag, @dashpole.