Other Spring autoconfiguration
Instead of using the OpenTelemetry Spring starter, you can use the OpenTelemetry autoconfiguration features with an annotation or the Zipkin starter.
Spring support
Autoconfiguration is natively supported by Spring Boot applications. To enable
these features in “vanilla” use @EnableOpenTelemetry
to complete a component
scan of this package.
import io.opentelemetry.instrumentation.spring.autoconfigure.EnableOpenTelemetry;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableOpenTelemetry
public class OpenTelemetryConfig {}
Zipkin starter
OpenTelemetry Zipkin Exporter Starter is a starter package that includes the
opentelemetry-api
, opentelemetry-sdk
, opentelemetry-extension-annotations
,
opentelemetry-logging-exporter
, opentelemetry-spring-boot-autoconfigurations
and spring framework starters required to setup distributed tracing. It also
provides the
opentelemetry-exporters-zipkin
artifact and corresponding exporter autoconfiguration. Check out
opentelemetry-spring-boot-autoconfigure
for the list of supported libraries and features.
If an exporter is present in the classpath during runtime and a spring bean of the exporter is missing from the spring application context, an exporter bean is initialized and added to a simple span processor in the active tracer provider. Check out the implementation here.
<dependencies>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-exporter-zipkin</artifactId>
<version>1.38.0</version>
</dependency>
</dependencies>
dependencies {
implementation("io.opentelemetry:opentelemetry-exporter-zipkin:1.38.0")
}
Configurations
Property | Default Value | ConditionalOnClass |
---|---|---|
otel.exporter.zipkin.enabled | true | ZipkinSpanExporter |