From ddf55969aaa5ec4fdda8fbb5dd1afe06e3262a4f Mon Sep 17 00:00:00 2001 From: Robert Pajak Date: Fri, 5 Sep 2025 15:59:13 +0200 Subject: [PATCH 1/4] Configurator support is optional --- specification/logs/sdk.md | 6 ++++-- specification/metrics/sdk.md | 6 ++++-- specification/trace/sdk.md | 6 ++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/specification/logs/sdk.md b/specification/logs/sdk.md index 94462a56628..1e8f3cb8224 100644 --- a/specification/logs/sdk.md +++ b/specification/logs/sdk.md @@ -79,8 +79,8 @@ working `Logger` MUST be returned as a fallback rather than returning null or throwing an exception, its `name` SHOULD keep the original invalid value, and a message reporting that the specified value is invalid SHOULD be logged. -**Status**: [Development](../document-status.md) - The `LoggerProvider` MUST -compute the relevant [LoggerConfig](#loggerconfig) using the +**Status**: [Development](../document-status.md) - The `LoggerProvider` SHOULD +compute the relevant [LoggerConfig](#loggerconfig) using a configured [LoggerConfigurator](#loggerconfigurator), and create a `Logger` whose behavior conforms to that `LoggerConfig`. @@ -103,6 +103,8 @@ configuration only via this reference. **Status**: [Development](../document-status.md) +The `LoggerConfigurator` MAY be supported by the SDK. + A `LoggerConfigurator` is a function which computes the [LoggerConfig](#loggerconfig) for a [Logger](#logger). diff --git a/specification/metrics/sdk.md b/specification/metrics/sdk.md index 71b416a8d28..3a049a2d095 100644 --- a/specification/metrics/sdk.md +++ b/specification/metrics/sdk.md @@ -131,8 +131,8 @@ working Meter MUST be returned as a fallback rather than returning null or throwing an exception, its `name` SHOULD keep the original invalid value, and a message reporting that the specified value is invalid SHOULD be logged. -**Status**: [Development](../document-status.md) - The `MeterProvider` MUST -compute the relevant [MeterConfig](#meterconfig) using the +**Status**: [Development](../document-status.md) - The `MeterProvider` SHOULD +compute the relevant [MeterConfig](#meterconfig) using a configured [MeterConfigurator](#meterconfigurator), and create a `Meter` whose behavior conforms to that `MeterConfig`. @@ -156,6 +156,8 @@ configuration only via this reference. **Status**: [Development](../document-status.md) +The `MeterConfigurator` MAY be supported by the SDK. + A `MeterConfigurator` is a function which computes the [MeterConfig](#meterconfig) for a [Meter](#meter). diff --git a/specification/trace/sdk.md b/specification/trace/sdk.md index cd8234f2351..8f3a443290d 100644 --- a/specification/trace/sdk.md +++ b/specification/trace/sdk.md @@ -97,8 +97,8 @@ The input provided by the user MUST be used to create an [`InstrumentationScope`](../common/instrumentation-scope.md) instance which is stored on the created `Tracer`. -**Status**: [Development](../document-status.md) - The `TracerProvider` MUST -compute the relevant [TracerConfig](#tracerconfig) using the +**Status**: [Development](../document-status.md) - The `TracerProvider` SHOULD +compute the relevant [TracerConfig](#tracerconfig) using a configured [TracerConfigurator](#tracerconfigurator), and create a `Tracer` whose behavior conforms to that `TracerConfig`. @@ -123,6 +123,8 @@ reference. **Status**: [Development](../document-status.md) +The `TracerConfigurator` MAY be supported by the SDK. + A `TracerConfigurator` is a function which computes the [TracerConfig](#tracerconfig) for a [Tracer](#tracer). From 7184efedc2f47bf64f516a363e0a3c34a45d23db Mon Sep 17 00:00:00 2001 From: Robert Pajak Date: Fri, 5 Sep 2025 16:08:54 +0200 Subject: [PATCH 2/4] add changelog entries --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 893218373ad..1e94fccf5e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,10 +11,19 @@ release. ### Traces +- `TracerConfigurator` is now optional (it MAY be supported by the SDK). + ([#4648](https://github.com/open-telemetry/opentelemetry-specification/pull/4648)) + ### Metrics +- `MeterConfigurator` is now optional (it MAY be supported by the SDK). + ([#4648](https://github.com/open-telemetry/opentelemetry-specification/pull/4648)) + ### Logs +- `LoggerConfigurator` is now optional (it MAY be supported by the SDK). + ([#4648](https://github.com/open-telemetry/opentelemetry-specification/pull/4648)) + ### Baggage ### Profiles From f26e5cc5d89c7c76e9ed90814991b16723fd206e Mon Sep 17 00:00:00 2001 From: Robert Pajak Date: Fri, 5 Sep 2025 16:13:09 +0200 Subject: [PATCH 3/4] remove trailing spaces --- specification/metrics/sdk.md | 2 +- specification/trace/sdk.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/metrics/sdk.md b/specification/metrics/sdk.md index 3a049a2d095..678ac0fe3eb 100644 --- a/specification/metrics/sdk.md +++ b/specification/metrics/sdk.md @@ -156,7 +156,7 @@ configuration only via this reference. **Status**: [Development](../document-status.md) -The `MeterConfigurator` MAY be supported by the SDK. +The `MeterConfigurator` MAY be supported by the SDK. A `MeterConfigurator` is a function which computes the [MeterConfig](#meterconfig) for a [Meter](#meter). diff --git a/specification/trace/sdk.md b/specification/trace/sdk.md index 8f3a443290d..733a51c860d 100644 --- a/specification/trace/sdk.md +++ b/specification/trace/sdk.md @@ -123,7 +123,7 @@ reference. **Status**: [Development](../document-status.md) -The `TracerConfigurator` MAY be supported by the SDK. +The `TracerConfigurator` MAY be supported by the SDK. A `TracerConfigurator` is a function which computes the [TracerConfig](#tracerconfig) for a [Tracer](#tracer). From f113adca95ba9ea850cae0a13e0c1669f55e4f0b Mon Sep 17 00:00:00 2001 From: Robert Pajak Date: Thu, 11 Sep 2025 20:24:49 +0200 Subject: [PATCH 4/4] Config support is optional --- CHANGELOG.md | 6 +++--- specification/logs/sdk.md | 2 ++ specification/metrics/sdk.md | 2 ++ specification/trace/sdk.md | 2 ++ 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e94fccf5e3..e5d40e3c915 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,17 +11,17 @@ release. ### Traces -- `TracerConfigurator` is now optional (it MAY be supported by the SDK). +- `TracerConfigurator` and `TracerConfig` are now optional (it MAY be supported by the SDK). ([#4648](https://github.com/open-telemetry/opentelemetry-specification/pull/4648)) ### Metrics -- `MeterConfigurator` is now optional (it MAY be supported by the SDK). +- `MeterConfigurator` and `MeterConfig` are now optional (it MAY be supported by the SDK). ([#4648](https://github.com/open-telemetry/opentelemetry-specification/pull/4648)) ### Logs -- `LoggerConfigurator` is now optional (it MAY be supported by the SDK). +- `LoggerConfigurator` and `LoggerConfig` are now optional (it MAY be supported by the SDK). ([#4648](https://github.com/open-telemetry/opentelemetry-specification/pull/4648)) ### Baggage diff --git a/specification/logs/sdk.md b/specification/logs/sdk.md index 1e8f3cb8224..12eedd2a401 100644 --- a/specification/logs/sdk.md +++ b/specification/logs/sdk.md @@ -183,6 +183,8 @@ the `Logger` MUST be updated to behave according to the new `LoggerConfig`. **Status**: [Development](../document-status.md) +The `LoggerConfig` MAY be supported by the SDK. + A `LoggerConfig` defines various configurable aspects of a `Logger`'s behavior. It consists of the following parameters: diff --git a/specification/metrics/sdk.md b/specification/metrics/sdk.md index 678ac0fe3eb..c1146a0c127 100644 --- a/specification/metrics/sdk.md +++ b/specification/metrics/sdk.md @@ -859,6 +859,8 @@ the `Meter` MUST be updated to behave according to the new `MeterConfig`. **Status**: [Development](../document-status.md) +The `MeterConfig` MAY be supported by the SDK. + A `MeterConfig` defines various configurable aspects of a `Meter`'s behavior. It consists of the following parameters: diff --git a/specification/trace/sdk.md b/specification/trace/sdk.md index 733a51c860d..60c00eaf766 100644 --- a/specification/trace/sdk.md +++ b/specification/trace/sdk.md @@ -196,6 +196,8 @@ the `Tracer` MUST be updated to behave according to the new `TracerConfig`. **Status**: [Development](../document-status.md) +The `TracerConfig` MAY be supported by the SDK. + A `TracerConfig` defines various configurable aspects of a `Tracer`'s behavior. It consists of the following parameters: