diff --git a/CHANGELOG.md b/CHANGELOG.md
index 26792b2b..da3c3237 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,8 @@
following the deprecation of OpenCensus compatibility in the
specification
([#655](https://github.com/open-telemetry/opentelemetry-configuration/pull/655))
+* Add `attribute_value_depth_limit` to attribute, span, and log record limits
+ ([#702](https://github.com/open-telemetry/opentelemetry-configuration/pull/702))
## v1.1.0 - 2026-06-05
diff --git a/examples/otel-sdk-config.yaml b/examples/otel-sdk-config.yaml
index d31f990d..1fb5cf74 100644
--- a/examples/otel-sdk-config.yaml
+++ b/examples/otel-sdk-config.yaml
@@ -16,6 +16,7 @@ resource:
value: unknown_service
attribute_limits:
attribute_value_length_limit:
+ attribute_value_depth_limit: 64
attribute_count_limit: 128
propagator:
composite:
@@ -39,6 +40,7 @@ tracer_provider:
timeout: 10000
limits:
attribute_value_length_limit:
+ attribute_value_depth_limit: 64
attribute_count_limit: 128
event_count_limit: 128
link_count_limit: 128
@@ -91,4 +93,5 @@ logger_provider:
timeout: 10000
limits:
attribute_value_length_limit:
+ attribute_value_depth_limit: 64
attribute_count_limit: 128
diff --git a/language-support-status.md b/language-support-status.md
index c71a38b0..1e8e1bff 100644
--- a/language-support-status.md
+++ b/language-support-status.md
@@ -20,7 +20,7 @@ Latest supported file format: `1.0.0`
| `Aggregation` | supported | | * `base2_exponential_bucket_histogram`: supported
* `default`: supported
* `drop`: supported
* `explicit_bucket_histogram`: supported
* `last_value`: supported
* `sum`: supported
|
| `AlwaysOffSampler` | supported | | |
| `AlwaysOnSampler` | supported | | |
-| `AttributeLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
|
+| `AttributeLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
|
| `AttributeNameValue` | supported | | * `name`: supported
* `type`: supported
* `value`: supported
|
| `AttributeType` | supported | | * `bool`: supported
* `bool_array`: supported
* `double`: supported
* `double_array`: supported
* `int`: supported
* `int_array`: supported
* `string`: supported
* `string_array`: supported
|
| `B3MultiPropagator` | supported | | |
@@ -47,7 +47,7 @@ Latest supported file format: `1.0.0`
| `LastValueAggregation` | supported | | |
| `LoggerProvider` | supported | | * `limits`: supported
* `processors`: supported
* `logger_configurator/development`: supported
|
| `LogRecordExporter` | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
|
-| `LogRecordLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
|
+| `LogRecordLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
|
| `LogRecordProcessor` | supported | | * `batch`: supported
* `simple`: supported
* `event_to_span_event_bridge/development`: unknown
|
| `MeterProvider` | supported | | * `exemplar_filter`: supported
* `readers`: supported
* `views`: supported
* `meter_configurator/development`: supported
|
| `MetricProducer` | supported | | * `opencensus`: supported
|
@@ -74,7 +74,7 @@ Latest supported file format: `1.0.0`
| `SimpleSpanProcessor` | supported | | * `exporter`: supported
|
| `SpanExporter` | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
|
| `SpanKind` | not_implemented | | * `client`: not_implemented
* `consumer`: not_implemented
* `internal`: not_implemented
* `producer`: not_implemented
* `server`: not_implemented
|
-| `SpanLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
* `event_attribute_count_limit`: supported
* `event_count_limit`: supported
* `link_attribute_count_limit`: supported
* `link_count_limit`: supported
|
+| `SpanLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
* `event_attribute_count_limit`: supported
* `event_count_limit`: supported
* `link_attribute_count_limit`: supported
* `link_count_limit`: supported
|
| `SpanProcessor` | supported | | * `batch`: supported
* `simple`: supported
|
| `SumAggregation` | supported | | |
| `TextMapPropagator` | supported | | * `b3`: supported
* `b3multi`: supported
* `baggage`: supported
* `tracecontext`: supported
|
@@ -141,7 +141,7 @@ Latest supported file format: `1.0.0`
| `Aggregation` | unknown | | * `base2_exponential_bucket_histogram`: unknown
* `default`: unknown
* `drop`: unknown
* `explicit_bucket_histogram`: unknown
* `last_value`: unknown
* `sum`: unknown
|
| `AlwaysOffSampler` | supported | | |
| `AlwaysOnSampler` | supported | | |
-| `AttributeLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
|
+| `AttributeLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
|
| `AttributeNameValue` | supported | | * `name`: supported
* `type`: supported
* `value`: supported
|
| `AttributeType` | supported | | * `bool`: supported
* `bool_array`: supported
* `double`: supported
* `double_array`: supported
* `int`: supported
* `int_array`: supported
* `string`: supported
* `string_array`: supported
|
| `B3MultiPropagator` | supported | | |
@@ -168,7 +168,7 @@ Latest supported file format: `1.0.0`
| `LastValueAggregation` | supported | | |
| `LoggerProvider` | supported | | * `limits`: supported
* `processors`: supported
* `logger_configurator/development`: not_implemented
|
| `LogRecordExporter` | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: not_implemented
|
-| `LogRecordLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
|
+| `LogRecordLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
|
| `LogRecordProcessor` | supported | | * `batch`: supported
* `simple`: supported
* `event_to_span_event_bridge/development`: unknown
|
| `MeterProvider` | supported | | * `exemplar_filter`: supported
* `readers`: supported
* `views`: supported
* `meter_configurator/development`: supported
|
| `MetricProducer` | unknown | | * `opencensus`: unknown
|
@@ -195,7 +195,7 @@ Latest supported file format: `1.0.0`
| `SimpleSpanProcessor` | supported | | * `exporter`: supported
|
| `SpanExporter` | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: not_implemented
|
| `SpanKind` | unknown | | * `client`: unknown
* `consumer`: unknown
* `internal`: unknown
* `producer`: unknown
* `server`: unknown
|
-| `SpanLimits` | unknown | | * `attribute_count_limit`: unknown
* `attribute_value_length_limit`: unknown
* `event_attribute_count_limit`: unknown
* `event_count_limit`: unknown
* `link_attribute_count_limit`: unknown
* `link_count_limit`: unknown
|
+| `SpanLimits` | unknown | | * `attribute_count_limit`: unknown
* `attribute_value_depth_limit`: unknown
* `attribute_value_length_limit`: unknown
* `event_attribute_count_limit`: unknown
* `event_count_limit`: unknown
* `link_attribute_count_limit`: unknown
* `link_count_limit`: unknown
|
| `SpanProcessor` | supported | | * `batch`: supported
* `simple`: supported
|
| `SumAggregation` | unknown | | |
| `TextMapPropagator` | supported | | * `b3`: supported
* `b3multi`: supported
* `baggage`: supported
* `tracecontext`: supported
|
@@ -262,7 +262,7 @@ Latest supported file format: `1.0.0-rc.3`
| `Aggregation` | supported | | * `base2_exponential_bucket_histogram`: supported
* `default`: supported
* `drop`: supported
* `explicit_bucket_histogram`: supported
* `last_value`: supported
* `sum`: supported
|
| `AlwaysOffSampler` | supported | | |
| `AlwaysOnSampler` | supported | | |
-| `AttributeLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
|
+| `AttributeLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
|
| `AttributeNameValue` | supported | | * `name`: supported
* `type`: supported
* `value`: supported
|
| `AttributeType` | supported | | * `bool`: supported
* `bool_array`: supported
* `double`: supported
* `double_array`: supported
* `int`: supported
* `int_array`: supported
* `string`: supported
* `string_array`: supported
|
| `B3MultiPropagator` | supported | | |
@@ -289,7 +289,7 @@ Latest supported file format: `1.0.0-rc.3`
| `LastValueAggregation` | supported | | |
| `LoggerProvider` | supported | | * `limits`: supported
* `processors`: supported
* `logger_configurator/development`: supported
|
| `LogRecordExporter` | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
|
-| `LogRecordLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
|
+| `LogRecordLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
|
| `LogRecordProcessor` | supported | | * `batch`: supported
* `simple`: supported
* `event_to_span_event_bridge/development`: unknown
|
| `MeterProvider` | supported | | * `exemplar_filter`: supported
* `readers`: supported
* `views`: supported
* `meter_configurator/development`: supported
|
| `MetricProducer` | ignored | | * `opencensus`: ignored
|
@@ -316,7 +316,7 @@ Latest supported file format: `1.0.0-rc.3`
| `SimpleSpanProcessor` | supported | | * `exporter`: supported
|
| `SpanExporter` | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
|
| `SpanKind` | supported | | * `client`: supported
* `consumer`: supported
* `internal`: supported
* `producer`: supported
* `server`: supported
|
-| `SpanLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
* `event_attribute_count_limit`: supported
* `event_count_limit`: supported
* `link_attribute_count_limit`: supported
* `link_count_limit`: supported
|
+| `SpanLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
* `event_attribute_count_limit`: supported
* `event_count_limit`: supported
* `link_attribute_count_limit`: supported
* `link_count_limit`: supported
|
| `SpanProcessor` | supported | | * `batch`: supported
* `simple`: supported
|
| `SumAggregation` | supported | | |
| `TextMapPropagator` | supported | | * `b3`: supported
* `b3multi`: supported
* `baggage`: supported
* `tracecontext`: supported
|
@@ -383,7 +383,7 @@ Latest supported file format: `1.0.0-rc.3`
| `Aggregation` | supported | | * `base2_exponential_bucket_histogram`: supported
* `default`: supported
* `drop`: supported
* `explicit_bucket_histogram`: supported
* `last_value`: supported
* `sum`: supported
|
| `AlwaysOffSampler` | supported | | |
| `AlwaysOnSampler` | supported | | |
-| `AttributeLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
|
+| `AttributeLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
|
| `AttributeNameValue` | supported | | * `name`: supported
* `type`: supported
* `value`: supported
|
| `AttributeType` | supported | | * `bool`: supported
* `bool_array`: supported
* `double`: supported
* `double_array`: supported
* `int`: supported
* `int_array`: supported
* `string`: supported
* `string_array`: supported
|
| `B3MultiPropagator` | supported | | |
@@ -410,7 +410,7 @@ Latest supported file format: `1.0.0-rc.3`
| `LastValueAggregation` | supported | | |
| `LoggerProvider` | supported | | * `limits`: supported
* `processors`: supported
* `logger_configurator/development`: supported
|
| `LogRecordExporter` | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
|
-| `LogRecordLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
|
+| `LogRecordLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
|
| `LogRecordProcessor` | supported | | * `batch`: supported
* `simple`: supported
* `event_to_span_event_bridge/development`: supported
|
| `MeterProvider` | supported | | * `exemplar_filter`: supported
* `readers`: supported
* `views`: supported
* `meter_configurator/development`: supported
|
| `MetricProducer` | supported | | * `opencensus`: supported
|
@@ -437,7 +437,7 @@ Latest supported file format: `1.0.0-rc.3`
| `SimpleSpanProcessor` | supported | | * `exporter`: supported
|
| `SpanExporter` | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
|
| `SpanKind` | supported | | * `client`: supported
* `consumer`: supported
* `internal`: supported
* `producer`: supported
* `server`: supported
|
-| `SpanLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
* `event_attribute_count_limit`: supported
* `event_count_limit`: supported
* `link_attribute_count_limit`: supported
* `link_count_limit`: supported
|
+| `SpanLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
* `event_attribute_count_limit`: supported
* `event_count_limit`: supported
* `link_attribute_count_limit`: supported
* `link_count_limit`: supported
|
| `SpanProcessor` | supported | | * `batch`: supported
* `simple`: supported
|
| `SumAggregation` | supported | | |
| `TextMapPropagator` | supported | | * `b3`: supported
* `b3multi`: supported
* `baggage`: supported
* `tracecontext`: supported
|
@@ -504,7 +504,7 @@ Latest supported file format: `1.0.0-rc.2`
| `Aggregation` | ignored | | * `base2_exponential_bucket_histogram`: ignored
* `default`: ignored
* `drop`: ignored
* `explicit_bucket_histogram`: ignored
* `last_value`: ignored
* `sum`: ignored
|
| `AlwaysOffSampler` | supported | | |
| `AlwaysOnSampler` | supported | | |
-| `AttributeLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
|
+| `AttributeLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
|
| `AttributeNameValue` | supported | | * `name`: supported
* `type`: not_implemented
* `value`: supported
|
| `AttributeType` | not_implemented | | * `bool`: not_implemented
* `bool_array`: not_implemented
* `double`: not_implemented
* `double_array`: not_implemented
* `int`: not_implemented
* `int_array`: not_implemented
* `string`: not_implemented
* `string_array`: not_implemented
|
| `B3MultiPropagator` | supported | | |
@@ -531,7 +531,7 @@ Latest supported file format: `1.0.0-rc.2`
| `LastValueAggregation` | ignored | | |
| `LoggerProvider` | supported | | * `limits`: supported
* `processors`: supported
* `logger_configurator/development`: supported
|
| `LogRecordExporter` | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
|
-| `LogRecordLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
|
+| `LogRecordLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
|
| `LogRecordProcessor` | supported | | * `batch`: supported
* `simple`: supported
* `event_to_span_event_bridge/development`: unknown
|
| `MeterProvider` | supported | | * `exemplar_filter`: supported
* `readers`: supported
* `views`: supported
* `meter_configurator/development`: supported
|
| `MetricProducer` | not_implemented | | * `opencensus`: not_implemented
|
@@ -558,7 +558,7 @@ Latest supported file format: `1.0.0-rc.2`
| `SimpleSpanProcessor` | supported | | * `exporter`: supported
|
| `SpanExporter` | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
|
| `SpanKind` | not_implemented | | * `client`: not_implemented
* `consumer`: not_implemented
* `internal`: not_implemented
* `producer`: not_implemented
* `server`: not_implemented
|
-| `SpanLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
* `event_attribute_count_limit`: supported
* `event_count_limit`: supported
* `link_attribute_count_limit`: supported
* `link_count_limit`: supported
|
+| `SpanLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
* `event_attribute_count_limit`: supported
* `event_count_limit`: supported
* `link_attribute_count_limit`: supported
* `link_count_limit`: supported
|
| `SpanProcessor` | supported | | * `batch`: supported
* `simple`: supported
|
| `SumAggregation` | ignored | | |
| `TextMapPropagator` | supported | | * `b3`: supported
* `b3multi`: supported
* `baggage`: supported
* `tracecontext`: supported
|
@@ -625,7 +625,7 @@ Latest supported file format: `1.0.0`
| `Aggregation` | supported | | * `base2_exponential_bucket_histogram`: supported
* `default`: supported
* `drop`: supported
* `explicit_bucket_histogram`: supported
* `last_value`: supported
* `sum`: supported
|
| `AlwaysOffSampler` | supported | | |
| `AlwaysOnSampler` | supported | | |
-| `AttributeLimits` | ignored | | * `attribute_count_limit`: ignored
* `attribute_value_length_limit`: ignored
|
+| `AttributeLimits` | ignored | | * `attribute_count_limit`: ignored
* `attribute_value_depth_limit`: ignored
* `attribute_value_length_limit`: ignored
|
| `AttributeNameValue` | supported | | * `name`: supported
* `type`: supported
* `value`: supported
|
| `AttributeType` | supported | | * `bool`: supported
* `bool_array`: supported
* `double`: supported
* `double_array`: supported
* `int`: supported
* `int_array`: supported
* `string`: supported
* `string_array`: supported
|
| `B3MultiPropagator` | supported | | |
@@ -652,7 +652,7 @@ Latest supported file format: `1.0.0`
| `LastValueAggregation` | supported | | |
| `LoggerProvider` | supported | | * `limits`: supported
* `processors`: supported
* `logger_configurator/development`: supported
|
| `LogRecordExporter` | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
|
-| `LogRecordLimits` | ignored | | * `attribute_count_limit`: ignored
* `attribute_value_length_limit`: ignored
|
+| `LogRecordLimits` | ignored | | * `attribute_count_limit`: ignored
* `attribute_value_depth_limit`: ignored
* `attribute_value_length_limit`: ignored
|
| `LogRecordProcessor` | supported | | * `batch`: supported
* `simple`: supported
* `event_to_span_event_bridge/development`: supported
|
| `MeterProvider` | supported | | * `exemplar_filter`: supported
* `readers`: supported
* `views`: supported
* `meter_configurator/development`: supported
|
| `MetricProducer` | ignored | | * `opencensus`: ignored
|
@@ -679,7 +679,7 @@ Latest supported file format: `1.0.0`
| `SimpleSpanProcessor` | supported | | * `exporter`: supported
|
| `SpanExporter` | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
|
| `SpanKind` | supported | | * `client`: supported
* `consumer`: supported
* `internal`: supported
* `producer`: supported
* `server`: supported
|
-| `SpanLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
* `event_attribute_count_limit`: supported
* `event_count_limit`: supported
* `link_attribute_count_limit`: supported
* `link_count_limit`: supported
|
+| `SpanLimits` | supported | | * `attribute_count_limit`: supported
* `attribute_value_depth_limit`: not_implemented
* `attribute_value_length_limit`: supported
* `event_attribute_count_limit`: supported
* `event_count_limit`: supported
* `link_attribute_count_limit`: supported
* `link_count_limit`: supported
|
| `SpanProcessor` | supported | | * `batch`: supported
* `simple`: supported
|
| `SumAggregation` | supported | | |
| `TextMapPropagator` | supported | | * `b3`: supported
* `b3multi`: supported
* `baggage`: supported
* `tracecontext`: supported
|
diff --git a/opentelemetry_configuration.json b/opentelemetry_configuration.json
index 7a8e7975..d2a77d1c 100644
--- a/opentelemetry_configuration.json
+++ b/opentelemetry_configuration.json
@@ -114,6 +114,14 @@
"minimum": 0,
"description": "Configure max attribute value size. \nValue must be non-negative.\nIf omitted or null, there is no limit.\n"
},
+ "attribute_value_depth_limit": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1,
+ "description": "Configure the maximum attribute value depth for nested array and map values.\nDepth starts at 1 for the top-level attribute value and increments when descending into array elements or map values.\nArray or map values deeper than the limit are replaced with an empty value.\nValue must be positive.\nIf omitted or null, 64 is used.\n"
+ },
"attribute_count_limit": {
"type": [
"integer",
@@ -1591,6 +1599,14 @@
"minimum": 0,
"description": "Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. \nValue must be non-negative.\nIf omitted or null, there is no limit.\n"
},
+ "attribute_value_depth_limit": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1,
+ "description": "Configure the maximum attribute value depth for nested array and map values. Overrides .attribute_limits.attribute_value_depth_limit.\nDepth starts at 1 for the top-level attribute value and increments when descending into array elements or map values.\nArray or map values deeper than the limit are replaced with an empty value.\nValue must be positive.\nIf omitted or null, 64 is used.\n"
+ },
"attribute_count_limit": {
"type": [
"integer",
@@ -2319,6 +2335,14 @@
"minimum": 0,
"description": "Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. \nValue must be non-negative.\nIf omitted or null, there is no limit.\n"
},
+ "attribute_value_depth_limit": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1,
+ "description": "Configure the maximum attribute value depth for nested array and map values. Overrides .attribute_limits.attribute_value_depth_limit.\nDepth starts at 1 for the top-level attribute value and increments when descending into array elements or map values.\nArray or map values deeper than the limit are replaced with an empty value.\nValue must be positive.\nIf omitted or null, 64 is used.\n"
+ },
"attribute_count_limit": {
"type": [
"integer",
diff --git a/schema/logger_provider.yaml b/schema/logger_provider.yaml
index ccbea082..356a16b3 100644
--- a/schema/logger_provider.yaml
+++ b/schema/logger_provider.yaml
@@ -116,6 +116,17 @@ $defs:
Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
Value must be non-negative.
defaultBehavior: there is no limit
+ attribute_value_depth_limit:
+ type:
+ - integer
+ - "null"
+ minimum: 1
+ description: |
+ Configure the maximum attribute value depth for nested array and map values. Overrides .attribute_limits.attribute_value_depth_limit.
+ Depth starts at 1 for the top-level attribute value and increments when descending into array elements or map values.
+ Array or map values deeper than the limit are replaced with an empty value.
+ Value must be positive.
+ defaultBehavior: 64 is used
attribute_count_limit:
type:
- integer
diff --git a/schema/meta_schema_language_cpp.yaml b/schema/meta_schema_language_cpp.yaml
index 05c9c61c..85ab59c5 100644
--- a/schema/meta_schema_language_cpp.yaml
+++ b/schema/meta_schema_language_cpp.yaml
@@ -11,7 +11,9 @@ typeSupportStatuses:
propertyOverrides: []
- type: AttributeLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: AttributeNameValue
status: supported
propertyOverrides: []
@@ -92,7 +94,9 @@ typeSupportStatuses:
propertyOverrides: []
- type: LogRecordLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: LogRecordProcessor
status: supported
propertyOverrides:
@@ -177,7 +181,9 @@ typeSupportStatuses:
enumOverrides: []
- type: SpanLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: SpanProcessor
status: supported
propertyOverrides: []
diff --git a/schema/meta_schema_language_go.yaml b/schema/meta_schema_language_go.yaml
index da49efe9..09331776 100644
--- a/schema/meta_schema_language_go.yaml
+++ b/schema/meta_schema_language_go.yaml
@@ -11,7 +11,9 @@ typeSupportStatuses:
propertyOverrides: []
- type: AttributeLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: AttributeNameValue
status: supported
propertyOverrides: []
@@ -100,7 +102,9 @@ typeSupportStatuses:
status: not_implemented
- type: LogRecordLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: LogRecordProcessor
status: supported
propertyOverrides:
diff --git a/schema/meta_schema_language_java.yaml b/schema/meta_schema_language_java.yaml
index 3d90d147..5aadb2fb 100644
--- a/schema/meta_schema_language_java.yaml
+++ b/schema/meta_schema_language_java.yaml
@@ -11,7 +11,9 @@ typeSupportStatuses:
propertyOverrides: []
- type: AttributeLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: AttributeNameValue
status: supported
propertyOverrides: []
@@ -98,7 +100,9 @@ typeSupportStatuses:
propertyOverrides: []
- type: LogRecordLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: LogRecordProcessor
status: supported
propertyOverrides:
@@ -193,7 +197,9 @@ typeSupportStatuses:
enumOverrides: []
- type: SpanLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: SpanProcessor
status: supported
propertyOverrides: []
diff --git a/schema/meta_schema_language_js.yaml b/schema/meta_schema_language_js.yaml
index 3b59889e..e1a880ca 100644
--- a/schema/meta_schema_language_js.yaml
+++ b/schema/meta_schema_language_js.yaml
@@ -11,7 +11,9 @@ typeSupportStatuses:
propertyOverrides: []
- type: AttributeLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: AttributeNameValue
status: supported
propertyOverrides: []
@@ -96,7 +98,9 @@ typeSupportStatuses:
propertyOverrides: []
- type: LogRecordLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: LogRecordProcessor
status: supported
propertyOverrides: []
@@ -179,7 +183,9 @@ typeSupportStatuses:
enumOverrides: []
- type: SpanLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: SpanProcessor
status: supported
propertyOverrides: []
diff --git a/schema/meta_schema_language_php.yaml b/schema/meta_schema_language_php.yaml
index bdea4257..d85bb409 100644
--- a/schema/meta_schema_language_php.yaml
+++ b/schema/meta_schema_language_php.yaml
@@ -11,7 +11,9 @@ typeSupportStatuses:
propertyOverrides: []
- type: AttributeLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: AttributeNameValue
status: supported
propertyOverrides:
@@ -100,7 +102,9 @@ typeSupportStatuses:
propertyOverrides: []
- type: LogRecordLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: LogRecordProcessor
status: supported
propertyOverrides:
@@ -213,7 +217,9 @@ typeSupportStatuses:
enumOverrides: []
- type: SpanLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: SpanProcessor
status: supported
propertyOverrides: []
diff --git a/schema/meta_schema_language_python.yaml b/schema/meta_schema_language_python.yaml
index 4e5fb13a..608dccca 100644
--- a/schema/meta_schema_language_python.yaml
+++ b/schema/meta_schema_language_python.yaml
@@ -173,7 +173,9 @@ typeSupportStatuses:
enumOverrides: []
- type: SpanLimits
status: supported
- propertyOverrides: []
+ propertyOverrides:
+ - property: attribute_value_depth_limit
+ status: not_implemented
- type: SpanProcessor
status: supported
propertyOverrides: []
diff --git a/schema/opentelemetry_configuration.yaml b/schema/opentelemetry_configuration.yaml
index 0a3441d0..b33bdccd 100644
--- a/schema/opentelemetry_configuration.yaml
+++ b/schema/opentelemetry_configuration.yaml
@@ -79,6 +79,17 @@ $defs:
Configure max attribute value size.
Value must be non-negative.
defaultBehavior: there is no limit
+ attribute_value_depth_limit:
+ type:
+ - integer
+ - "null"
+ minimum: 1
+ description: |
+ Configure the maximum attribute value depth for nested array and map values.
+ Depth starts at 1 for the top-level attribute value and increments when descending into array elements or map values.
+ Array or map values deeper than the limit are replaced with an empty value.
+ Value must be positive.
+ defaultBehavior: 64 is used
attribute_count_limit:
type:
- integer
diff --git a/schema/tracer_provider.yaml b/schema/tracer_provider.yaml
index e29e6110..4c306542 100644
--- a/schema/tracer_provider.yaml
+++ b/schema/tracer_provider.yaml
@@ -469,6 +469,17 @@ $defs:
Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
Value must be non-negative.
defaultBehavior: there is no limit
+ attribute_value_depth_limit:
+ type:
+ - integer
+ - "null"
+ minimum: 1
+ description: |
+ Configure the maximum attribute value depth for nested array and map values. Overrides .attribute_limits.attribute_value_depth_limit.
+ Depth starts at 1 for the top-level attribute value and increments when descending into array elements or map values.
+ Array or map values deeper than the limit are replaced with an empty value.
+ Value must be positive.
+ defaultBehavior: 64 is used
attribute_count_limit:
type:
- integer
diff --git a/snippets/LogRecordLimits_kitchen_sink.yaml b/snippets/LogRecordLimits_kitchen_sink.yaml
index bc0f2b25..858c9009 100644
--- a/snippets/LogRecordLimits_kitchen_sink.yaml
+++ b/snippets/LogRecordLimits_kitchen_sink.yaml
@@ -2,6 +2,7 @@ file_format: "1.1"
attribute_limits:
attribute_value_length_limit: 2048
+ attribute_value_depth_limit: 32
attribute_count_limit: 64
logger_provider:
@@ -11,6 +12,7 @@ logger_provider:
console:
limits:
# SNIPPET_START
- # .logger_provider.limits take priority over general .attribute_limits. In this contrived example, attribute_value_length_limit is set to 4096, attribute_count_limit is set to 128, overriding the values from general .attribute_limits.
+ # .logger_provider.limits take priority over general .attribute_limits. In this contrived example, attribute_value_length_limit is set to 4096, attribute_value_depth_limit is set to 64, and attribute_count_limit is set to 128, overriding the values from general .attribute_limits.
attribute_count_limit: 128
- attribute_value_length_limit: 4096
\ No newline at end of file
+ attribute_value_depth_limit: 64
+ attribute_value_length_limit: 4096
diff --git a/snippets/SpanLimits_kitchen_sink.yaml b/snippets/SpanLimits_kitchen_sink.yaml
index 182f62e2..8960bb26 100644
--- a/snippets/SpanLimits_kitchen_sink.yaml
+++ b/snippets/SpanLimits_kitchen_sink.yaml
@@ -2,6 +2,7 @@ file_format: "1.1"
attribute_limits:
attribute_value_length_limit: 2048
+ attribute_value_depth_limit: 32
attribute_count_limit: 64
tracer_provider:
@@ -11,10 +12,11 @@ tracer_provider:
console:
limits:
# SNIPPET_START
- # .tracer_provider.limits take priority over general .attribute_limits. In this contrived example, attribute_value_length_limit is set to 4096, attribute_count_limit is set to 128, overriding the values from general .attribute_limits.
+ # .tracer_provider.limits take priority over general .attribute_limits. In this contrived example, attribute_value_length_limit is set to 4096, attribute_value_depth_limit is set to 64, and attribute_count_limit is set to 128, overriding the values from general .attribute_limits.
attribute_count_limit: 128
+ attribute_value_depth_limit: 64
attribute_value_length_limit: 4096
event_attribute_count_limit: 128
event_count_limit: 128
link_attribute_count_limit: 128
- link_count_limit: 128
\ No newline at end of file
+ link_count_limit: 128