diff --git a/CHANGELOG.md b/CHANGELOG.md index bbd0c49d961..d6d9440ab58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,8 @@ release. ([#4228](https://github.com/open-telemetry/opentelemetry-specification/pull/4228)) - Mark cardinality limits as stable. ([#4222](https://github.com/open-telemetry/opentelemetry-specification/pull/4222)) +- Mark the `Enabled` method as stable. + ([#4219](https://github.com/open-telemetry/opentelemetry-specification/pull/4219)) ### Logs diff --git a/spec-compliance-matrix.md b/spec-compliance-matrix.md index 69918f38f08..7d85713738b 100644 --- a/spec-compliance-matrix.md +++ b/spec-compliance-matrix.md @@ -126,6 +126,8 @@ formats is required. Implementing more than one format is optional. | Instrument descriptions conform to the specified syntax. | | - | + | | - | | - | | | - | + | | | Instrument supports the advisory ExplicitBucketBoundaries parameter. | | | + | | | | + | | | | | | | Instrument supports the advisory Attributes parameter. | | | + | | | | - | | | | | | +| Instrument API supports Enabled method and returns false when there is no SDK enabled. | | | | | | | | | | | | | +| SDK implementation supports Enabled method and returns false based on View, MeterConfig etc. | | | | | | | | | | | | | | All methods of `MeterProvider` are safe to be called concurrently. | | + | + | + | - | | + | | | + | + | | | All methods of `Meter` are safe to be called concurrently. | | + | + | + | - | | + | | | + | + | | | All methods of any instrument are safe to be called concurrently. | | + | + | + | - | | + | | | + | + | | diff --git a/specification/metrics/api.md b/specification/metrics/api.md index d258e6168d5..218121de379 100644 --- a/specification/metrics/api.md +++ b/specification/metrics/api.md @@ -477,15 +477,13 @@ All instruments SHOULD provide functions to: #### Enabled -**Status**: [Development](../document-status.md) +**Status**: [Stable](../document-status.md) To help users avoid performing computationally expensive operations when recording measurements, [synchronous Instruments](#synchronous-instrument-api) SHOULD provide this `Enabled` API. -There are currently no required parameters for this API. Parameters can be -added in the future, therefore, the API MUST be structured in a way for -parameters to be added. +There are currently no required parameters for this API. This API MUST return a language idiomatic boolean type. A returned value of `true` means the instrument is enabled for the provided arguments, and a returned