CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/OpenTelemetry/快速开始
文档目录
文档开始手动插桩使用插桩库导出器资源采样什么是 OpenTelemetry?
API 参考文档示例
PHP 零代码插桩
快速开始使用 API 扩展插桩功能SDK 配置开箱即用的插桩注解额外的插桩其他 Spring 自动配置
支持库列表

OpenTelemetry

快速开始

你也可以使用 Java 代理为你的 Spring Boot 应用程序配置插桩。 有关优缺点,请参见 Java 零代码插桩. OpenTelemetry Spring Boot 启动器适用于 Spring Boot 2.6+ 和 3.1+ 版本,以及 Spring Boot Native image 应用程序。...

你也可以使用 Java 代理为你的 Spring Boot 应用程序配置插桩。
有关优缺点,请参见 Java 零代码插桩.

兼容性 {#compatibility}

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 应用程序的示例。

依赖管理 {#dependency-management}

物料清单(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></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:"))
}

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

在使用 Gradle 进行配置时,请注意不要混淆不同的配置方式。
例如,不要在 dependencies 中使用 implementation(platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:")) 与 io.spring.dependency-management 插件。

OpenTelemetry 启动器依赖 {#opentelemetry-starter-dependency}

添加以下依赖以启用 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")

文章大纲