Extending instrumentations with the API

Use the OpenTelemetry API in combination with the Java agent to extend the automatically generated telemetry with custom spans and metrics

Introdução

In addition to the out-of-the-box instrumentation, você pode estender o Java agent com instrumentações manuais personalizadas usando a API do OpenTelemetry. Isso permite que você crie trechos e métricas para o seu próprio código sem precisar fazer muitas alterações de código.

Dependências

Adiciona uma dependência na biblioteca opentelemetry-api.

Maven

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

Gradle

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

OpenTelemetry

O Java agent é um caso especial onde GlobalOpenTelemetry é definido pelo agente. Uma simples chamada GlobalOpenTelemetry.get() para acessar a instância OpenTelemetry.

Trecho

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

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

Use o Tracer para criar um trecho como explicado na seção de trechos.

Um exemplo completo pode ser encontrado no repositório de exemplos.

Medidor

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

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

Use o Meter para criar contadores, medidores ou histogramas como explicados na seção de medidores.

Um exemplo completo pode ser encontrado no repositório de exemplos.


Last modified June 15, 2025: add default_lang_commit (14e3291a)