Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ release.

### Metrics

- Add normative language to the Metrics API/SDK spec concurrency requirements.
([#4868](https://github.com/open-telemetry/opentelemetry-specification/pull/4868))

### Logs

- Add optional `Exception` parameter to Emit LogRecord.
Expand Down
10 changes: 6 additions & 4 deletions specification/metrics/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -1342,12 +1342,14 @@ APIs without introducing breaking changes, if possible.
For languages which support concurrent execution the Metrics APIs provide
specific guarantees and safeties.

**MeterProvider** - all methods are safe to be called concurrently.
**MeterProvider** - all methods MUST be documented that implementations need to
be safe for concurrent use by default.

**Meter** - all methods are safe to be called concurrently.
**Meter** - all methods MUST be documented that implementations need to be safe
for concurrent use by default.

**Instrument** - All methods of any Instrument are safe to be called
concurrently.
**Instrument** - all methods MUST be documented that implementations need to be
safe for concurrent use by default.

## References

Expand Down
10 changes: 5 additions & 5 deletions specification/metrics/sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -1847,15 +1847,15 @@ existing methods without introducing breaking changes, if possible.
For languages which support concurrent execution the Metrics SDKs provide
specific guarantees and safeties.

**MeterProvider** - Meter creation, `ForceFlush` and `Shutdown` are safe to be
called concurrently.
**MeterProvider** - Meter creation, `ForceFlush` and `Shutdown` MUST be safe
to be called concurrently.

**ExemplarReservoir** - all methods are safe to be called concurrently.
**ExemplarReservoir** - all methods MUST be safe to be called concurrently.

**MetricReader** - `Collect`, `ForceFlush` (for periodic exporting MetricReader)
and `Shutdown` are safe to be called concurrently.
and `Shutdown` MUST be safe to be called concurrently.

**MetricExporter** - `ForceFlush` and `Shutdown` are safe to be called
**MetricExporter** - `ForceFlush` and `Shutdown` MUST be safe to be called
concurrently.

## References
Expand Down
Loading