Skip to content

otelconf: provide strategy for supporting experimental features in schema #8203

@codeboten

Description

@codeboten

Capturing this in a new issue to not lose sight of wanting to provide a strategy for how experimental features in the configuration schema are supported in otelconf moving forward as discussed in the 20-Nov SIG call.

Given this is an RC of v1 I want to ask what is the design/plan regarding backwards compatiblity and stability.

For instance OpenTelemetryConfiguration has InstrumentationDevelopment field. Should it be exported? This does not seem to be a stable field.

Do we want we eventually want to have Instrumentation instead of InstrumentationDevelopment?

That's a good question! The plan for the schema v1 is to include experimental support for:

  • resource detection
  • instrumentation
  • otlp file exporter
  • configurators for each signal
  • prometheus exporter
  • various samplers configuration (composite, probability)

The stability guarantee around these are near none (https://github.com/open-telemetry/opentelemetry-configuration/tree/main?tab=readme-ov-file#experimental-features). We could decide to not support these in the implementation at this time.

Alternatively we could put these in an experimental module and only unmarshal anything marked with the /development suffix if an option is set (something like WithExperimentalFeatures)

Thoughts?

Originally posted by @codeboten in #8026 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions