I am trying to find out the easiest and most reliable way to enable OpenTelemetry observability in SpringBoot. On one hand we have the OpenTelemetry micrometer support for metrics and tracing. Tracing requires an exporter provided by OTEL as well:
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-exporter-otlp</artifactId>
</dependency>
On the other hand, we have the official OpenTelemetry starter dependency opentelemetry-spring-boot-starter
which does autoconfiguration, instrumentation and brings several additional dependencies not included by default in SpringBoot.
To the best of my knowledge there is some overlapping in both solutions as they do instrumentation to some degree, but I would like to know the following:
- What offers
opentelemetry-spring-boot-starter
that micrometer +opentelemetry-exporter-otlp
does not already have. - In which scenarios I would choose
opentelemetry-spring-boot-starter
instead of the micrometer support.