Tracer tracer = OpenTelemetry.getTracer("my-java-app");
Span span = tracer.spanBuilder("my-span").startSpan();
span.setAttribute("key", "value");
try (Scope scope = tracer.withSpan(span)) {
// ...
span.addEvent("task.completed");
} catch (Exception e) {
span.recordException(e);
} finally {
span.end();
}
private static SdkMeterProvider getMeterProvider() {
MeterSdkProvider meterProvider = MeterSdkProvider.builder().build();
BatchSpanProcessor spanProcessor = BatchSpanProcessor.builder(exporter).build();
OpenTelemetrySdk openTelemetry = OpenTelemetrySdk.builder()
.setTracerProvider(DefaultTracerProvider.builder()
.addSpanProcessor(spanProcessor).build())
.setMeterProvider(meterProvider)
.buildAndRegisterGlobal();
return meterProvider;
}