使用 API 扩展仪器

使用 OpenTelemetry API 结合 Spring Boot starter,扩展自动生成的遥测数据,添加自定义 span 和 metric

简介

除了开箱即用的 instrumentation,您还可以使用 OpenTelemetry API 通过自定义手动 instrumentation 来扩展 Spring starter。这允许您为自己的代码创建 spanmetric,而无需进行太多代码更改。

所需的依赖项已包含在 Spring Boot starter 中。

OpenTelemetry

Spring Boot starter 是一个特殊情况,其中 OpenTelemetry 可作为 Spring bean 使用。只需将 OpenTelemetry 注入到您的 Spring 组件中即可。

Span

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

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 创建计数器、Gauge 或直方图,具体请参阅 Meter 部分。

完整的示例可以在 示例仓库 中找到。


最后修改于 2025 年 6 月 11 日: 警报清理 (#7090) (c392c714)