Skip to content

OtlpMetricExporterProvider does not implement AutoConfigureListener #7522

@iNikem

Description

@iNikem

Describe the bug
Both OtlpSpanExporterProvider and OtlpLogRecordExporterProvider implement AutoConfigureListener which they use to manage a MeterProvider supplier passed to the exporters that they create. OtlpMetricExporterProvider does not do that thus always relying on the default value of io.opentelemetry.exporter.internal.http.HttpExporterBuilder#meterProviderSupplier which is GlobalOpenTelemetry::getMeterProvider.

This creates a problem when I am trying to create an instance of OpenTelemetrySdk without setting it as a global one (exactly as GlobalOpenTelemetry class-level javadoc "strongly" recommends). In this situation there is no global OpenTelemetry instance and there is no way for me to pass any other MeterProvider to my metrics exporter.

What did you expect to see?
Make OtlpMetricExporterProvider implement AutoConfigureListener in exactly the same was as OtlpSpanExporterProvider and call builder.setMeterProvider(meterProviderRef::get) when configuring metrics exporter builder.

What version and what artifacts are you using?
opentelemetry-exporter-otlp-1.50.0.jar

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions