-
Notifications
You must be signed in to change notification settings - Fork 296
all: drop attribute values restrictions #707
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
base: main
Are you sure you want to change the base?
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.
Pull Request Overview
This PR removes attribute value restrictions from the OpenTelemetry protocol definitions, allowing receivers to handle complex values that were previously restricted. This change aligns with the OpenTelemetry specification's extension to support complex attribute values.
- Removes
SHOULD NOT
restrictions on empty values, bytes values, complex arrays, and kvlist values from attribute documentation - Adds consistent warning about unpredictable behavior when duplicate keys are received
- Updates changelog to document the breaking change
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
opentelemetry/proto/trace/v1/trace.proto | Removes attribute value restrictions from span, event, and link attributes |
opentelemetry/proto/resource/v1/resource.proto | Removes attribute value restrictions from resource attributes |
opentelemetry/proto/profiles/v1development/profiles.proto | Removes attribute value restrictions from profile attributes |
opentelemetry/proto/metrics/v1/metrics.proto | Removes attribute value restrictions from metric data points and adds duplicate key warning |
opentelemetry/proto/logs/v1/logs.proto | Adds duplicate key warning to log record attributes |
opentelemetry/proto/common/v1/common.proto | Adds duplicate key warnings to KeyValueList and InstrumentationScope |
CHANGELOG.md | Documents the breaking change in the changelog |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
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 approved, but blocking to prevent accidental merging before 1.8.0
@tigrannajaryan , it can be unblocked per https://github.com/open-telemetry/opentelemetry-proto/releases/tag/v1.8.0. Thanks a lot for your help 👍 |
Related spec PR: open-telemetry/opentelemetry-specification#4636
Towards open-telemetry/opentelemetry-specification#4602
Follows open-telemetry/opentelemetry-specification#4614
Per https://github.com/open-telemetry/opentelemetry-specification/blob/main/oteps/4485-extending-attributes-to-support-complex-values.md#proto
We are dropping the attributes values restriction.
Receivers of
opentelemetry-proto
(most probably)v1.9.0
are expected to handle attribute values which before were expected only in logs signal (like complex values, bytes, or empty value).See Copilot's description: #707 (review)