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

CnOps 智能运维与可观测社区

愿景

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

内容社区

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

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

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

Copyright © 2026 CnOps 社区. All rights reserved.

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

OpenTelemetry

使用 API 扩展插桩功能

除开箱即用的插桩功能外,你还可借助 OpenTelemetry API,通过自定义手动插桩的方式对 Spring 启动器进行扩展。 这使你能够为自己的代码创建 Span 和指标, 无需进行过多代码修改。 所需的依赖项已包含在 Spring Boot 启动器中。 Spring Boot 启动器是一个特殊的案例,其中 OpenTelemetry 可作为 Spring Bean 使用。 只需将...

Introduction {#introduction}

除开箱即用的插桩功能外,你还可借助 OpenTelemetry API,通过自定义手动插桩的方式对 Spring 启动器进行扩展。
这使你能够为自己的代码创建 Span 和指标,
无需进行过多代码修改。

所需的依赖项已包含在 Spring Boot 启动器中。

OpenTelemetry {#opentelemetry}

Spring Boot 启动器是一个特殊的案例,其中 OpenTelemetry 可作为 Spring Bean 使用。
只需将 OpenTelemetry 注入到你的 Spring 组件中即可。

Span {#span}

对于最常见的使用场景,使用 @WithSpan 注解而不是手动插桩。
请参阅注解以获取更多信息。

import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Tracer;

@Controller
public class MyController {
  private final Tracer tracer;

  public MyController(OpenTelemetry openTelemetry) {
    this.tracer = openTelemetry.getTracer("application");
  }
}

使用 Tracer 创建一个 Span,如 Span 部分所述。

完整示例可在示例代码库中找到。

Meter {#meter}

import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.metrics.Meter;

@Controller
public class MyController {
  private final Meter meter;

  public MyController(OpenTelemetry openTelemetry) {
    this.meter = openTelemetry.getMeter("application");
  }
}

使用 Meter 创建一个指标,如 Meter 部分所述。

完整示例可在示例代码库中找到。

文章大纲