使用 API 扩展仪器

结合使用 OpenTelemetry API 和 Java Agent,通过自定义 span 和 metrics 扩展自动生成的遥测数据。

简介

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

依赖项

添加对 opentelemetry-api 库的依赖。

Maven

<dependencies>
  <dependency>
    <groupId>io.opentelemetry</groupId>
    <artifactId>opentelemetry-api</artifactId>
    <version>1.57.0</version>
  </dependency>
</dependencies>

Gradle

dependencies {
    implementation('io.opentelemetry:opentelemetry-api:1.57.0')
}

OpenTelemetry

Java Agent 是一个特殊情况,其中 GlobalOpenTelemetry 由 Agent 设置。只需调用 GlobalOpenTelemetry.getOrNoop() 即可访问 OpenTelemetry 实例。

Span

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

Tracer tracer = GlobalOpenTelemetry.getTracer("application");

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

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

Meter

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

Meter meter = GlobalOpenTelemetry.getMeter("application");

使用 Meter 创建计数器、仪表盘或直方图,如 Meter 部分所述。

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


最后修改于 2025 年 12 月 22 日:添加 Java Agent 说明链接 (#8690) (dabd3022)