<dependencies> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-api</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-exporter-otlp</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-sdk</artifactId> <version>1.0.0</version> </dependency> </dependencies> import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.context.propagation.ContextPropagators; import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter; import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.trace.export.BatchSpanProcessor; public class MyApp { public static void main(String[] args) { OtlpGrpcSpanExporter otlpExporter = OtlpGrpcSpanExporter.builder().setEndpoint("your-opentelemetry-endpoint").build(); BatchSpanProcessor spanProcessor = BatchSpanProcessor.builder(otlpExporter).build(); OpenTelemetry openTelemetry = OpenTelemetrySdk.builder() .setTracerProvider( SdkTracerProvider.builder() .addSpanProcessor(spanProcessor) .build()) .setPropagators(ContextPropagators.create(W3CTraceContextPropagator.getInstance())) .build(); Tracer tracer = openTelemetry.getTracerProvider().get("myapp"); // ... } } import io.opentelemetry.context.Scope; import io.opentelemetry.trace.Span; public class MyClass { public void myMethod() { Tracer tracer = openTelemetry.getTracerProvider().get("myapp"); Span span = tracer.spanBuilder("my_method").startSpan(); try (Scope ignored = span.makeCurrent()) { // ... } finally { span.end(); } } }


上一篇:
下一篇:
切换中文