入门

兼容性

OpenTelemetry Spring Boot Starter 与 Spring Boot 2.6+ 和 3.1+ 以及 Spring Boot Native 镜像应用程序兼容。 opentelemetry-java-examples/spring-native 存储库包含一个使用 OpenTelemetry Spring Boot Starter 检测的 Spring Boot Native 镜像应用程序的示例。

依赖管理

物料清单 (BOM) (Bill of Material (BOM)) 可确保依赖项(包括传递依赖项)的版本保持一致。

为了确保所有 OpenTelemetry 依赖项的版本一致,在使用 OpenTelemetry Starter 时,您必须导入 opentelemetry-instrumentation-bom BOM。

以下示例展示了如何使用 Maven 导入 OpenTelemetry BOM。

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

使用 Gradle 和 Spring Boot 时,您可以通过两种方式导入 BOM。

您可以通过添加 dependencies 来使用 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.23.0"))
}

使用 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.23.0")
  }
}

OpenTelemetry Starter 依赖

添加以下依赖项以启用 OpenTelemetry Starter。

OpenTelemetry Starter 使用 OpenTelemetry Spring Boot 的自动配置

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