Skip to content
Merged
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ release.

### Metrics

- Stabilize part of `Enabled` SDK for synchronous instruments.
([#4787](https://github.com/open-telemetry/opentelemetry-specification/pull/4787))

### Logs

### Baggage
Expand Down
19 changes: 9 additions & 10 deletions specification/metrics/sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -872,6 +872,10 @@ It consists of the following parameters:
is [Enabled](./api.md#enabled). See [Instrument Enabled](#instrument-enabled)
for details.

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.

### Duplicate instrument registration

A _duplicate instrument registration_ occurs when more than one Instrument of
Expand Down Expand Up @@ -997,13 +1001,12 @@ must be retained.

### Instrument enabled

**Status**: [Development](../document-status.md)

The instrument [`Enabled`](./api.md#enabled) MUST return `false` when either:
The synchronous 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
- **Status**: [Development](../document-status.md) - 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`.
Expand All @@ -1013,10 +1016,6 @@ Note: If a user makes no configuration changes, `Enabled` returns `true` since b
default `MeterConfig.disabled=false` and instruments use the default
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

**Status**: [Stable](../document-status.md)
Expand Down
6 changes: 3 additions & 3 deletions specification/trace/sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -212,9 +212,9 @@ It consists of the following parameters:
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`.
However, the changes MUST be eventually visible.
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.

### Enabled

Expand Down
Loading