From 9dbfc3abfe916a3a9c65e8dc3af488522e6793cb Mon Sep 17 00:00:00 2001 From: Robert Pajak Date: Fri, 21 Nov 2025 20:39:09 +0100 Subject: [PATCH 1/2] Allow instrument Enabled implementation to have additional optimizations and features --- specification/metrics/sdk.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/specification/metrics/sdk.md b/specification/metrics/sdk.md index 06af7a1068a..9c8736353ae 100644 --- a/specification/metrics/sdk.md +++ b/specification/metrics/sdk.md @@ -999,14 +999,16 @@ must be retained. **Status**: [Development](../document-status.md) -The instrument [Enabled](./api.md#enabled) operation MUST return `false` if any -of the following conditions are true, and `true` otherwise: +The instrument [`Enabled`](./api.md#enabled) MUST return `false` when either: * The [MeterConfig](#meterconfig) of the `Meter` used to create the instrument has parameter `disabled=true`. * All [resolved views](#measurement-processing) for the instrument are configured with the [Drop Aggregation](#drop-aggregation). +Otherwise, it SHOULD return `true`. +It MAY return `false` to support additional optimizations and features. + Note: If a user makes no configuration changes, `Enabled` returns `true` since by default `MeterConfig.disabled=false` and instruments use the default aggregation when no matching views match the instrument. From 7fa1f759d2c93111ca1e672a6ed987eff729edd8 Mon Sep 17 00:00:00 2001 From: Robert Pajak Date: Fri, 21 Nov 2025 20:41:42 +0100 Subject: [PATCH 2/2] Update changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f186ae5a23..7ad8acd3c28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,9 @@ release. ### Metrics +- Allow instrument `Enabled` implementation to have additional optimizations and features. + ([#4747](https://github.com/open-telemetry/opentelemetry-specification/pull/4747)) + ### Logs - Stabilize `LogRecordProcessor.Enabled`.