Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

The full list of changes can be found in the compare view for the respective release at <https://github.com/open-telemetry/opentelemetry-proto/releases>.

### Added

- all: add notes about the attribute values restrictions. [#683](https://github.com/open-telemetry/opentelemetry-proto/pull/683)

## 1.7.0 - 2025-05-19

### Added
Expand Down
40 changes: 40 additions & 0 deletions opentelemetry/proto/metrics/v1/metrics.proto
Original file line number Diff line number Diff line change
Expand Up @@ -377,6 +377,16 @@ message NumberDataPoint {
// where this point belongs. The list may be empty (may contain 0 elements).
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
//
// The attribute values SHOULD NOT contain empty values.
// The attribute values SHOULD NOT contain bytes values.
// The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
// double values.
// The attribute values SHOULD NOT contain kvlist values.
// The behavior of software that receives attributes containing such values can be unpredictable.
// These restritions can change in a minor release.
// The restritions take origin from the OpenTelemetry specification:
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute.
repeated opentelemetry.proto.common.v1.KeyValue attributes = 7;

// StartTimeUnixNano is optional but strongly encouraged, see the
Expand Down Expand Up @@ -425,6 +435,16 @@ message HistogramDataPoint {
// where this point belongs. The list may be empty (may contain 0 elements).
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
//
// The attribute values SHOULD NOT contain empty values.
// The attribute values SHOULD NOT contain bytes values.
// The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
// double values.
// The attribute values SHOULD NOT contain kvlist values.
// The behavior of software that receives attributes containing such values can be unpredictable.
// These restritions can change in a minor release.
// The restritions take origin from the OpenTelemetry specification:
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute.
repeated opentelemetry.proto.common.v1.KeyValue attributes = 9;

// StartTimeUnixNano is optional but strongly encouraged, see the
Expand Down Expand Up @@ -509,6 +529,16 @@ message ExponentialHistogramDataPoint {
// where this point belongs. The list may be empty (may contain 0 elements).
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
//
// The attribute values SHOULD NOT contain empty values.
// The attribute values SHOULD NOT contain bytes values.
// The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
// double values.
// The attribute values SHOULD NOT contain kvlist values.
// The behavior of software that receives attributes containing such values can be unpredictable.
// These restritions can change in a minor release.
// The restritions take origin from the OpenTelemetry specification:
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute.
repeated opentelemetry.proto.common.v1.KeyValue attributes = 1;

// StartTimeUnixNano is optional but strongly encouraged, see the
Expand Down Expand Up @@ -625,6 +655,16 @@ message SummaryDataPoint {
// where this point belongs. The list may be empty (may contain 0 elements).
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
//
// The attribute values SHOULD NOT contain empty values.
// The attribute values SHOULD NOT contain bytes values.
// The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
// double values.
// The attribute values SHOULD NOT contain kvlist values.
// The behavior of software that receives attributes containing such values can be unpredictable.
// These restritions can change in a minor release.
// The restritions take origin from the OpenTelemetry specification:
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute.
repeated opentelemetry.proto.common.v1.KeyValue attributes = 7;

// StartTimeUnixNano is optional but strongly encouraged, see the
Expand Down
10 changes: 10 additions & 0 deletions opentelemetry/proto/resource/v1/resource.proto
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,16 @@ message Resource {
// Set of attributes that describe the resource.
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
//
// The attribute values SHOULD NOT contain empty values.
// The attribute values SHOULD NOT contain bytes values.
// The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
// double values.
// The attribute values SHOULD NOT contain kvlist values.
// The behavior of software that receives attributes containing such values can be unpredictable.
// These restritions can change in a minor release.
// The restritions take origin from the OpenTelemetry specification:
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute.
repeated opentelemetry.proto.common.v1.KeyValue attributes = 1;

// dropped_attributes_count is the number of dropped attributes. If the value is 0, then
Expand Down
32 changes: 30 additions & 2 deletions opentelemetry/proto/trace/v1/trace.proto
Original file line number Diff line number Diff line change
Expand Up @@ -206,10 +206,18 @@ message Span {
// "example.com/myattribute": true
// "example.com/score": 10.239
//
// The OpenTelemetry API specification further restricts the allowed value types:
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
//
// The attribute values SHOULD NOT contain empty values.
// The attribute values SHOULD NOT contain bytes values.
// The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
// double values.
// The attribute values SHOULD NOT contain kvlist values.
// The behavior of software that receives attributes containing such values can be unpredictable.
// These restritions can change in a minor release.
// The restritions take origin from the OpenTelemetry specification:
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute.
repeated opentelemetry.proto.common.v1.KeyValue attributes = 9;

// dropped_attributes_count is the number of attributes that were discarded. Attributes
Expand All @@ -230,6 +238,16 @@ message Span {
// attributes is a collection of attribute key/value pairs on the event.
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
//
// The attribute values SHOULD NOT contain empty values.
// The attribute values SHOULD NOT contain bytes values.
// The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
// double values.
// The attribute values SHOULD NOT contain kvlist values.
// The behavior of software that receives attributes containing such values can be unpredictable.
// These restritions can change in a minor release.
// The restritions take origin from the OpenTelemetry specification:
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute.
repeated opentelemetry.proto.common.v1.KeyValue attributes = 3;

// dropped_attributes_count is the number of dropped attributes. If the value is 0,
Expand Down Expand Up @@ -262,6 +280,16 @@ message Span {
// attributes is a collection of attribute key/value pairs on the link.
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
//
// The attribute values SHOULD NOT contain empty values.
// The attribute values SHOULD NOT contain bytes values.
// The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
// double values.
// The attribute values SHOULD NOT contain kvlist values.
// The behavior of software that receives attributes containing such values can be unpredictable.
// These restritions can change in a minor release.
// The restritions take origin from the OpenTelemetry specification:
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute.
repeated opentelemetry.proto.common.v1.KeyValue attributes = 4;

// dropped_attributes_count is the number of dropped attributes. If the value is 0,
Expand Down