<dependencies>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-api</artifactId>
<version>0.20.0</version>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-exporters-jaeger</artifactId>
<version>0.20.0</version>
</dependency>
</dependencies>
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.exporters.jaeger.JaegerGrpcSpanExporter;
import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.trace.SdkTracerProvider;
public class MyApplication {
public static void main(String[] args) {
JaegerGrpcSpanExporter jaegerExporter =
JaegerGrpcSpanExporter.builder()
.setEndpoint("your-jaeger-endpoint")
.setServiceName("your-service-name")
.build();
OpenTelemetry openTelemetry =
OpenTelemetrySdk.builder()
.setTracerProvider(SdkTracerProvider.builder().build())
.addSpanExporter(jaegerExporter)
.build();
Tracer tracer = openTelemetry.getTracer("your-instrumentation-name");
// ...
}
}
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Tracer;
public class MyApplicationService {
private final Tracer tracer;
public MyApplicationService(Tracer tracer) {
this.tracer = tracer;
}
public void doSomething() {
Span span = tracer.spanBuilder("doSomethingSpan").startSpan();
try (Scope ignored = span.makeCurrent()) {
span.addEvent("Some event occurred");
// ...
} finally {
}
}
}