Specificationv1.55.0
since v1.54.09 breaking11 notable13 editorial
From the upstream release notes
- Add normative language to the Tracing API/SDK spec concurrency requirements.
- Add additional in-development requirements to metric start timestamps.
- Stabilize optional Exception parameter to Logger Emit.
- Stabilize Prometheus Summary to OTLP Summary transformation.
- Declarative configuration: allow language-specific prefixes in environment
- Mark significant portions of declarative configuration as stable.
Breaking9
Requirements added to, removed from, or restrengthened in a document marked Stable.
- new rulerequirementconfiguration/data-model.md#environment-variable-substitutionMUST added: When
PREFIXis absent orenv,GENERIC-SUBSTITUTIONMUST conform toENV-SUBSTITUTION: - new rulerequirementtrace/api.md#concurrency-requirementsMUST added: TracerProvider - all methods MUST be documented that implementations need to be safe for concurrent use by default.
- new rulerequirementtrace/api.md#concurrency-requirementsMUST added: Tracer - all methods MUST be documented that implementations need to be safe for concurrent use by default.
- new rulerequirementtrace/api.md#concurrency-requirementsMUST added: Span - all methods MUST be documented that implementations need to be safe for concurrent use by default.
- new rulerequirementtrace/api.md#concurrency-requirementsMUST added: Event - Events are immutable and MUST be safe for concurrent use by default.
- new rulerequirementtrace/sdk.md#concurrency-requirementsMUST added: Tracer Provider - Tracer creation,
ForceFlushandShutdownMUST be safe to be called concurrently. - new rulerequirementtrace/sdk.md#concurrency-requirementsMUST added: Sampler -
ShouldSampleandGetDescriptionMUST be safe to be called concurrently. - new rulerequirementtrace/sdk.md#concurrency-requirementsMUST added: Span processor - all methods MUST be safe to be called concurrently.
- new rulerequirementtrace/sdk.md#concurrency-requirementsMUST added: Span Exporter -
ForceFlushandShutdownMUST be safe to be called concurrently.
Notable11
- removedsectiontrace/api.md#concurrencySection "Concurrency" removed.
- stabilitydocumentconfiguration/api.mdStatus changed from Development to Mixed.
- stabilitydocumentconfiguration/data-model.mdStatus changed from Development to Stable.
- stabilitydocumentconfiguration/sdk.mdStatus changed from Development to Stable.
- new rulerequirementcompatibility/prometheus_and_openmetrics.md#summariesMUST added: In text formats where Prometheus Summaries are represented by multiple samples, samples with same metric family name MUST be merged together into a single OTLP Summary.
- new rulerequirementconfiguration/data-model.md#environment-variable-substitutionMAY added: Language implementations MAY support additional prefixes beyond
env:to access language-specific configuration sources. - new rulerequirementconfiguration/data-model.md#environment-variable-substitutionSHOULD added: Language implementations SHOULD document any additional prefixes they support.
- new rulerequirementmetrics/sdk.md#start-timestampsMUST added: For delta aggregations, the start timestamp MUST equal the previous collection interval's timestamp, or the creation time of the instrument if this is the first collection interval for the instrument.
- new rulerequirementmetrics/sdk.md#start-timestampsMUST added: This implies that all data points with delta temporality aggregation for an instrument MUST share the same start timestamp.
- new rulerequirementmetrics/sdk.md#start-timestampsMUST added: Cumulative timeseries MUST use a consistent start timestamp for all collection intervals.
- new rulerequirementtrace/api.md#concurrency-requirementsSHOULD added: Link - Links are immutable and SHOULD be safe for concurrent use by default.
Editorial13
- removedsectionconfiguration/sdk.md#via-otelexperimentalconfig_fileSection "Via OTELEXPERIMENTALCONFIG_FILE" removed.
- new rulerequirementmetrics/sdk.md#start-timestampsSHOULD added: For synchronous instruments, the start timestamp SHOULD be the time of the first measurement for the series.
- new rulerequirementmetrics/sdk.md#start-timestampsSHOULD added: For asynchronous instrument, the start timestamp SHOULD be:
- rewordedrequirementconfiguration/sdk-environment-variables.md#declarative-configurationMUST reworded: When
OTELCONFIGFILEis set, all other environment variables besides those referenced in the configuration file for environment variable substitution MUST be ignored. - rewordedrequirementconfiguration/sdk-environment-variables.md#declarative-configurationMAY reworded: Implementations MAY provide a mechanism to customize the configuration model parsed from
OTELCONFIGFILE. - rewordedrequirementconfiguration/sdk.md#createMAY reworded: Status: Development SDK implementations MAY provide options to allow programmatic customization of the components initialized by
Create. - rewordedrequirementlogs/api.md#emit-a-logrecordMAY reworded: The API MAY accept the following parameter:
- rewordedrequirementlogs/sdk.md#emit-a-logrecordMUST reworded: If an Exception is provided, the SDK MUST by default set attributes from the exception on the
LogRecordwith the conventions outlined in the exception semantic conventions. - addedsectionconfiguration/sdk.md#via-otelconfigfileNew section "Via OTELCONFIGFILE".
- addedsectionmetrics/sdk.md#start-timestampsNew section "Start timestamps".
- addedsectiontrace/api.md#concurrency-requirementsNew section "Concurrency requirements".
- addedsectiontrace/sdk.md#concurrency-requirementsNew section "Concurrency requirements".
- rewrittensectioncompatibility/prometheus_and_openmetrics.md#summaries"Summaries" substantially rewritten (802 to 1252 characters).