[IMPORTANT] Extending attribute value types is no longer a breaking change#4614
Merged
lmolkova merged 8 commits intoopen-telemetry:mainfrom Aug 19, 2025
Merged
Conversation
trask
approved these changes
Aug 5, 2025
lmolkova
approved these changes
Aug 5, 2025
reyang
approved these changes
Aug 11, 2025
MrAlias
approved these changes
Aug 11, 2025
pellared
commented
Aug 12, 2025
carlosalberto
approved these changes
Aug 14, 2025
tigrannajaryan
approved these changes
Aug 19, 2025
This was referenced Sep 8, 2025
Closed
Open
Closed
Closed
Closed
Merged
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Sep 16, 2025
### Entities - Specify entity information via an environment variable. ([#4594](#4594)) ### Common - OTLP Exporters may allow devs to prepend a product identifier in `User-Agent` header. ([#4560](#4560)) -⚠️ **IMPORTANT**: Extending the set of standard attribute value types is no longer a breaking change. ([#4614](#4614)) ### OTEPs - Clarify in Composite Samplers OTEP the unreliable threshold case. ([#4569](#4569)) --------- Co-authored-by: Armin Ruech <7052238+arminru@users.noreply.github.com>
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Oct 28, 2025
## Changes - Introduce of `AnyValue` type supporting complex data structures (empty value, byte arrays, heterogeneous arrays and maps). - Consolidate of attribute definitions across signals to use the unified `AnyValue` type. - Update attribute limits to accommodate new value types. - Allow attribute collections to contain duplicate keys via an opt-in configuration (as this is [allowed for log attributes](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#type-mapstring-any)). - Remove "standard attribute" terminology in favor of general "attribute". ### Extend attribute types Prior-art (this PR guides towards this): #4636 Prototype: open-telemetry/opentelemetry-go#6809 Follows #4614 Related to #4602 Related proto PR: open-telemetry/opentelemetry-proto#707 https://github.com/open-telemetry/opentelemetry-specification/blob/main/oteps/4485-extending-attributes-to-support-complex-values.md#how describes how languages should add support for new attribute value types. Closes #4460 (no longer needed - feature is removed) ### OTEP changes Notice that this PR has changed the strategy for https://github.com/open-telemetry/opentelemetry-specification/blob/main/oteps/4485-extending-attributes-to-support-complex-values.md#api from: > OTel API **MAY** support setting complex attributes on metrics, resources, instrumentation scope, span events, and as identifying entity attribute to simply: > OTel API **MUST** support setting complex attribute. This is the agreement up to this point: #4651 (comment) The other change in the OTEP is because of #4651 (comment). ### Attribute limit updates Towards #4487 This also proposes **minimal and non-breaking** additions for the attribute limits: https://github.com/open-telemetry/opentelemetry-specification/blob/main/oteps/4485-extending-attributes-to-support-complex-values.md#attribute-limits. The proposal for **attribute count limit** is proposed because of #4651 (comment). - **Predictability:** Users can more easily understand and predict when they'll hit the limit. Especially given the existing behavior of attribute count limit. - **Practical usage:** Maps are typically used as cohesive units of related data, so counting them as single attributes aligns with their semantic purpose. Without this rule, a single map attribute with many internal key-value pairs could quickly exhaust the attribute count limit, which would be surprising behavior for users. The proposal for **attribute value length limit** seems the most logical to me. ## Comments to be addressed as followups I am going to create issues to be created after this is PR merged: - #4651 (comment) - #4651 (comment) - #4651 (comment) --------- Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Liudmila Molkova <neskazu@gmail.com> Co-authored-by: Martin Costello <martin@martincostello.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Towards #4602
Per OTEP: https://github.com/open-telemetry/opentelemetry-specification/blob/main/oteps/4485-extending-attributes-to-support-complex-values.md#why-doesnt-this-require-a-major-version-bump
This basically reverts:
Before we did not have a consensus to extend the attribute value types. However, this has changed with:
Related proto PR:
As a follow-up I plan to create issues in all language repositories so that they can prepare their APIs and SDKs to extend the attribute value types.