spring-projects/spring-boot

Make it easier to configure OTLP exports

Opened this issue · 1 comments

We have those properties which control OTLP export:

Logs

management.opentelemetry.logging.export.otlp.compression
management.opentelemetry.logging.export.otlp.connect-timeout
management.opentelemetry.logging.export.otlp.endpoint
management.opentelemetry.logging.export.otlp.headers.*
management.opentelemetry.logging.export.otlp.timeout
management.opentelemetry.logging.export.otlp.transport

Traces

management.opentelemetry.tracing.export.otlp.compression
management.opentelemetry.tracing.export.otlp.connect-timeout
management.opentelemetry.tracing.export.otlp.endpoint
management.opentelemetry.tracing.export.otlp.headers.*
management.opentelemetry.tracing.export.otlp.timeout
management.opentelemetry.tracing.export.otlp.transport

Metrics

management.otlp.metrics.export.aggregation-temporality
management.otlp.metrics.export.base-time-unit
management.otlp.metrics.export.batch-size
management.otlp.metrics.export.connect-timeout
management.otlp.metrics.export.headers.*
management.otlp.metrics.export.histogram-flavor
management.otlp.metrics.export.max-bucket-count
management.otlp.metrics.export.max-scale
management.otlp.metrics.export.meter.*
management.otlp.metrics.export.read-timeout
management.otlp.metrics.export.step
management.otlp.metrics.export.url

It would be nice to have a configuration section which lets users define the common properties, and then only override some (e.g. endpoint) for tracing, metrics, logging.

That should be relatively easy for tracing and logging, because they use the OpenTelemetry SDK. Metrics are shipped via the OtlpRegistry, which is not from the OpenTelemetry SDK but from Micrometer.

This would be great! If there's anything I can do, I'd be happy to help (shared some ideas for this in #36546 (comment)).

Even if metrics are handled differently, it would be nice if they could re-use the same common configuration as OpenTelemetry (that's what I've done in https://docs.arconia.io/arconia/latest/opentelemetry/).