diff --git a/CHANGELOG.md b/CHANGELOG.md index c5939bf7ed1..f02987a0951 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,10 +11,19 @@ release. ### Traces +- Changes of `TracerConfig.disabled` MUST be eventually visible. + ([#4645](https://github.com/open-telemetry/opentelemetry-specification/pull/4645)) + ### Metrics +- Changes of `MeterConfig.disabled` MUST be eventually visible. + ([#4645](https://github.com/open-telemetry/opentelemetry-specification/pull/4645)) + ### Logs +- Changes of `LoggerConfig.disabled` MUST be eventually visible. + ([#4645](https://github.com/open-telemetry/opentelemetry-specification/pull/4645)) + ### Baggage ### Profiles diff --git a/specification/logs/sdk.md b/specification/logs/sdk.md index 8dab7755cde..871f630450b 100644 --- a/specification/logs/sdk.md +++ b/specification/logs/sdk.md @@ -217,6 +217,7 @@ It consists of the following parameters: It is not necessary for implementations to ensure that changes to any of these parameters are immediately visible to callers of `Enabled`. +However, the changes MUST be eventually visible. ### Emit a LogRecord diff --git a/specification/metrics/sdk.md b/specification/metrics/sdk.md index 71b416a8d28..ebf0eac2384 100644 --- a/specification/metrics/sdk.md +++ b/specification/metrics/sdk.md @@ -1013,6 +1013,7 @@ aggregation when no matching views match the instrument. It is not necessary for implementations to ensure that changes to `MeterConfig.disabled` are immediately visible to callers of `Enabled`. +However, the changes MUST be eventually visible. ## Attribute limits diff --git a/specification/trace/sdk.md b/specification/trace/sdk.md index c163e52ddea..6045bcd8e97 100644 --- a/specification/trace/sdk.md +++ b/specification/trace/sdk.md @@ -207,9 +207,11 @@ It consists of the following parameters: The value of `disabled` MUST be used to resolve whether a `Tracer` is [Enabled](./api.md#enabled). If `disabled` is `true`, `Enabled` - returns `false`. If `disabled` is `false`, `Enabled` returns `true`. It is not - necessary for implementations to ensure that changes to `disabled` are - immediately visible to callers of `Enabled`. + returns `false`. If `disabled` is `false`, `Enabled` returns `true`. + + It is not necessary for implementations to ensure that changes to `disabled` + are immediately visible to callers of `Enabled`. + However, the changes MUST be eventually visible. ### Enabled