Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@ release.

### SDK Configuration

- Declarative configuration: add in-development guidance for exposing the
effective `Resource` returned by `Create`.
([#4948](https://github.com/open-telemetry/opentelemetry-specification/issues/4948))

### Supplementary Guidelines

### OTEPs
Expand Down
23 changes: 23 additions & 0 deletions specification/configuration/sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,11 +252,34 @@ Interpret configuration model and return SDK components.
* [MeterProvider](../metrics/sdk.md#meterprovider)
* [LoggerProvider](../logs/sdk.md#loggerprovider)
* [Propagators](../context/api-propagators.md#composite-propagator)
* **Status**: [Development](../document-status.md) -
[Resource](../resource/sdk.md) - the effective resource associated with SDK
components returned by `Create`
* **Status**: [Development](../document-status.md) - [ConfigProvider](#configprovider)

The multiple responses MAY be returned using a tuple, or some other data
structure encapsulating the components.

**Status**: [Development](../document-status.md) The effective `Resource` is
the `Resource` actually associated with the SDK
components produced by `Create`, after all resource-related configuration,
resource detection, and merging required during configuration interpretation
have been applied.

The [TracerProvider](../trace/sdk.md#tracer-provider),
[MeterProvider](../metrics/sdk.md#meterprovider), and
[LoggerProvider](../logs/sdk.md#loggerprovider) returned by the same `Create`
invocation MUST be associated with this effective `Resource`.

If the results of `Create` are returned in a structure encapsulating the top
level SDK components, that structure MUST provide access to the effective
`Resource`.
Comment thread
iblancasa marked this conversation as resolved.
Outdated

Because [Resources](../resource/sdk.md) are immutable, any `Resource` returned
by `Create` MUST be read-only from the caller's perspective. Callers MUST NOT
be able to mutate the returned value in a way that changes the `Resource`
associated with the created SDK components.
Comment thread
iblancasa marked this conversation as resolved.
Outdated

Create requirements around default and null behavior are described below. Note that
[`defaultBehavior` and `nullBehavior`](https://github.com/open-telemetry/opentelemetry-configuration/blob/main/CONTRIBUTING.md#json-schema-source-and-output)
are defined in the configuration data model.
Expand Down
Loading