Skip to content

feat(config): generic plugin loading for OTLP exporters in declarative config #5069

@MikeGoldsmith

Description

@MikeGoldsmith

Currently _tracer_provider.py, _meter_provider.py, and _logger_provider.py each have a hardcoded list of supported exporters (otlp_http, otlp_grpc, console). Any exporter from a contrib package or private library cannot be used via declarative config.

The OTel declarative config spec defines a PluginComponentProvider mechanism where unknown exporter names should be resolved dynamically rather than erroring. For Python, the idiomatic approach is entry points — consistent with how the container resource detector is already loaded (#5004).

This issue tracks implementing generic exporter loading for all three signal types:

  • Span exporters (_tracer_provider.py)
  • Metric exporters (_meter_provider.py)
  • Log exporters (_logger_provider.py)

Related: #5053 (generic resource detector loading)

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