Getting started
You are viewing the English version of this page because it has not yet been fully translated. Interested in helping out? See Contributing.
Note
You can also use the Java agent to instrument your Spring Boot application. For the pros and cons, see Java zero-code instrumentation.Compatibility
The OpenTelemetry Spring Boot starter works with Spring Boot 2.6+ and 3.1+, and Spring Boot native image applications. The opentelemetry-java-examples/spring-native repository contains an example of a Spring Boot Native image application instrumented using the OpenTelemetry Spring Boot starter.
Dependency management
A Bill of Material (BOM) ensures that versions of dependencies (including transitive ones) are aligned.
To ensure version alignment across all OpenTelemetry dependencies, you must
import the opentelemetry-instrumentation-bom
BOM when using the OpenTelemetry
starter.
Note
When using Maven, import the OpenTelemetry BOMs before any other BOMs in your
project. For example, if you import the spring-boot-dependencies
BOM, you have
to declare it after the OpenTelemetry BOMs.
Gradle selects the latest version of a dependency when multiple BOMs, so the order of BOMs is not important.
The following example shows how to import the OpenTelemetry BOMs using Maven:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.opentelemetry.instrumentation</groupId>
<artifactId>opentelemetry-instrumentation-bom</artifactId>
<version>2.13.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
With Gradle and Spring Boot, you have two ways to import a BOM.
You can use the Gradle’s native BOM support by adding dependencies
:
import org.springframework.boot.gradle.plugin.SpringBootPlugin
plugins {
id("java")
id("org.springframework.boot") version "3.2.O"
}
dependencies {
implementation(platform(SpringBootPlugin.BOM_COORDINATES))
implementation(platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:2.13.1"))
}
The other way with Gradle is to use the io.spring.dependency-management
plugin
and to import the BOMs in dependencyManagement
:
plugins {
id("java")
id("org.springframework.boot") version "3.2.O"
id("io.spring.dependency-management") version "1.1.0"
}
dependencyManagement {
imports {
mavenBom("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:2.13.1")
}
}
Note
Be careful not to mix up the different ways of configuring things with Gradle. For example, don’t useimplementation(platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:2.13.1"))
with the io.spring.dependency-management
plugin.OpenTelemetry Starter dependency
Add the dependency given below to enable the OpenTelemetry starter.
The OpenTelemetry starter uses OpenTelemetry Spring Boot autoconfiguration.
<dependency>
<groupId>io.opentelemetry.instrumentation</groupId>
<artifactId>opentelemetry-spring-boot-starter</artifactId>
</dependency>
implementation("io.opentelemetry.instrumentation:opentelemetry-spring-boot-starter")
Feedback
Cette page est-elle utile?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!