快速开始
你也可以使用 Java 代理为你的 Spring Boot 应用程序配置插桩。 有关优缺点,请参见 Java 零代码插桩.
兼容性
OpenTelemetry Spring Boot 启动器适用于 Spring Boot 2.6+ 和 3.1+ 版本,以及 Spring Boot Native image 应用程序。 opentelemetry-java-examples/spring-native仓库包含了一个使用 OpenTelemetry Spring Boot 启动器配置插桩的 Spring Boot Native image 应用程序的示例。
依赖管理
物料清单(BOM) 确保依赖(含传递性依赖)版本一致性
使用 Maven 时,请在项目中的任何其他 BOM 之前导入 OpenTelemetry BOM。
例如,如果您导入 spring-boot-dependencies
BOM,则必须在 OpenTelemetry BOM 之后声明它。
使用 Gradle 时,当存在多个 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。
你可以通过在 dependencies
中添加 BOM 来使用 Gradle 的原生 BOM 支持:
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 进行配置时,请注意不要混淆不同的配置方式。
例如,不要在 dependencies
中使用 implementation(platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:2.20.1"))
与 io.spring.dependency-management
插件。
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")
Feedback
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!