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

Revisit enum attribute value stability #3847

Closed
Tracked by #659
lmolkova opened this issue Jan 27, 2024 · 0 comments · Fixed by #3879
Closed
Tracked by #659

Revisit enum attribute value stability #3847

lmolkova opened this issue Jan 27, 2024 · 0 comments · Fixed by #3879
Assignees
Labels
[label deprecated] triaged-accepted [label deprecated] Issue triaged and accepted by OTel community, can proceed with creating a PR spec:miscellaneous For issues that don't match any other spec label

Comments

@lmolkova
Copy link
Contributor

lmolkova commented Jan 27, 2024

Per current spec enums can change in any possible way:

Things not listed in the above are not expected to remain stable via semantic
convention and are allowed (or expected) to change. A few examples:
- The values of attributes
- Specifically for `enums` the list of allowed values is expected to change
overtime.
- Even for `enums` that limit allowed values to semconv, some may need to
updated values in the future. Tooling should expect unknown values.
- The links attached to a span

this creates a problem for instrumentation libraries and semconv artifacts: if existing value is renamed, it causes breaking changes on the API surface or binary-incompatibility and runtime breaking changes.

Proposal:

  • guarantee stability of existing enum values
  • allow list to grow

Related: open-telemetry/semantic-conventions#670

@lmolkova lmolkova added the spec:miscellaneous For issues that don't match any other spec label label Jan 27, 2024
@jsuereth jsuereth added the [label deprecated] triaged-accepted [label deprecated] Issue triaged and accepted by OTel community, can proceed with creating a PR label Feb 7, 2024
jsuereth pushed a commit that referenced this issue Feb 27, 2024
Fixes #3847 

## Changes

As discussed in the semantic conventions SIG, this PR aims to clarify
stability guarantees provided around well[-known attribute values (aka
`enums`) defined by semantic conventions:

* Changing an existing `enum` value is a breaking change.
* Adding a new value to an `enum` is not a breaking change.


##
* [x] Related issues #3847
* [ ] Related [OTEP(s)](https://github.com/open-telemetry/oteps) 
* [ ] Links to the prototypes (when adding or changing features)
* [x]
[`CHANGELOG.md`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/CHANGELOG.md)
file updated for non-trivial changes
* [ ]
[`spec-compliance-matrix.md`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md)
updated if necessary

---------

Co-authored-by: Armin Ruech <7052238+arminru@users.noreply.github.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
jaydeluca pushed a commit to jaydeluca/opentelemetry-specification that referenced this issue Feb 29, 2024
Fixes open-telemetry#3847 

## Changes

As discussed in the semantic conventions SIG, this PR aims to clarify
stability guarantees provided around well[-known attribute values (aka
`enums`) defined by semantic conventions:

* Changing an existing `enum` value is a breaking change.
* Adding a new value to an `enum` is not a breaking change.


##
* [x] Related issues open-telemetry#3847
* [ ] Related [OTEP(s)](https://github.com/open-telemetry/oteps) 
* [ ] Links to the prototypes (when adding or changing features)
* [x]
[`CHANGELOG.md`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/CHANGELOG.md)
file updated for non-trivial changes
* [ ]
[`spec-compliance-matrix.md`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md)
updated if necessary

---------

Co-authored-by: Armin Ruech <7052238+arminru@users.noreply.github.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
carlosalberto pushed a commit to carlosalberto/opentelemetry-specification that referenced this issue Oct 31, 2024
Fixes open-telemetry#3847 

## Changes

As discussed in the semantic conventions SIG, this PR aims to clarify
stability guarantees provided around well[-known attribute values (aka
`enums`) defined by semantic conventions:

* Changing an existing `enum` value is a breaking change.
* Adding a new value to an `enum` is not a breaking change.


##
* [x] Related issues open-telemetry#3847
* [ ] Related [OTEP(s)](https://github.com/open-telemetry/oteps) 
* [ ] Links to the prototypes (when adding or changing features)
* [x]
[`CHANGELOG.md`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/CHANGELOG.md)
file updated for non-trivial changes
* [ ]
[`spec-compliance-matrix.md`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md)
updated if necessary

---------

Co-authored-by: Armin Ruech <7052238+arminru@users.noreply.github.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[label deprecated] triaged-accepted [label deprecated] Issue triaged and accepted by OTel community, can proceed with creating a PR spec:miscellaneous For issues that don't match any other spec label
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants