はじめに
Spring Bootアプリケーションを計装するために、Javaエージェントを使用することもできます。 長所と短所については、Javaゼロコード計装を参照してください。
互換性
OpenTelemetry Spring Bootスターターは、Spring Boot 2.6+および3.1+、そしてSpring Bootネイティブイメージアプリケーションで動作します。 opentelemetry-java-examples/spring-nativeリポジトリには、OpenTelemetry Spring Bootスターターを使用して計装されたSpring Bootネイティブイメージアプリケーションの例が含まれています。
依存関係の管理
Bill of Material(BOM)は、依存関係(推移的なものを含む)のバージョンが整合していることを保証します。
OpenTelemetryスターターを使用する際は、すべてのOpenTelemetry依存関係のバージョン整合性を確保するために、opentelemetry-instrumentation-bom
BOMをインポートする必要があります。
Mavenを使用する場合は、プロジェクト内の他のBOMよりも前にOpenTelemetry BOMをインポートしてください。
たとえば、spring-boot-dependencies
BOMをインポートする場合は、OpenTelemetry BOMの後に宣言する必要があります。
Gradleは依存関係の最新バージョンを選択するため、BOMの順序は重要ではありません。
以下の例は、Mavenを使用してOpenTelemetry BOMをインポートする方法を示しています。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.opentelemetry.instrumentation</groupId>
<artifactId>opentelemetry-instrumentation-bom</artifactId>
<version>2.20.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
GradleとSpring Bootでは、BOMをインポートする方法が2つあります。
GradleのネイティブなBOMサポートを使用して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.20.1"))
}
Gradleでのもう一つの方法は、io.spring.dependency-management
プラグインを使用し、dependencyManagement
でBOMをインポートすることです。
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.20.1")
}
}
Gradleで異なる設定方法を混在させないよう注意してください。
たとえば、io.spring.dependency-management
プラグインと一緒にimplementation(platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:2.20.1"))
を使用しないでください。
OpenTelemetryスターターの依存関係
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")
フィードバック
このページは役に立ちましたか?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!