Початок роботи

Сумісність

Завантажувач OpenTelemetry Spring Boot працює з Spring Boot 2.6+ та 3.1+, а також з нативними застосунками-образами Spring Boot. Репозиторій opentelemetry-java-examples/spring-native містить приклад застосунку з нативним образом Spring Boot, інструментованого за допомогою OpenTelemetry Spring Boot стартера.

Управління залежностями

Bill of Material (BOM) гарантує, що версії залежностей (включаючи транзитивні) узгоджені.

Щоб забезпечити узгодження версій усіх залежностей OpenTelemetry, ви повинні імпортувати BOM opentelemetry-instrumentation-bom при використанні OpenTelemetry стартера.

Наступний приклад показує, як імпортувати BOM OpenTelemetry за допомогою Maven:

<dependencyManagement> <dependencies> <dependency> <groupId>io.opentelemetry.instrumentation</groupId> <artifactId>opentelemetry-instrumentation-bom</artifactId> <version>2.10.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>

З Gradle та Spring Boot, ви маєте два способи імпортувати BOM.

Ви можете використовувати нативну підтримку BOM Gradle, додавши 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.10.0")) }

Інший спосіб з Gradle — використовувати втулок io.spring.dependency-management та імпортувати BOM у 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.10.0") } }

Залежність OpenTelemetry Starter

Додайте залежність, наведену нижче, щоб увімкнути OpenTelemetry стартер.

OpenTelemetry стартер використовує OpenTelemetry Spring Boot автоконфігурацію.

<dependency> <groupId>io.opentelemetry.instrumentation</groupId> <artifactId>opentelemetry-spring-boot-starter</artifactId> </dependency>
implementation("io.opentelemetry.instrumentation:opentelemetry-spring-boot-starter")