update the examples for 0.13.1 (#2360)

This commit is contained in:
John Watson 2020-12-18 10:03:27 -08:00 committed by GitHub
parent 0412d47ffe
commit ba90083780
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 85 additions and 62 deletions

View File

@ -13,7 +13,7 @@ subprojects {
version = "0.1.0-SNAPSHOT" version = "0.1.0-SNAPSHOT"
ext { ext {
opentelemetryVersion = "0.12.0" opentelemetryVersion = "0.13.1"
grpcVersion = '1.30.2' grpcVersion = '1.30.2'
protobufVersion = '3.11.4' protobufVersion = '3.11.4'
protocVersion = protobufVersion protocVersion = protobufVersion

View File

@ -16,6 +16,7 @@ import io.grpc.ManagedChannelBuilder;
import io.grpc.Metadata; import io.grpc.Metadata;
import io.grpc.MethodDescriptor; import io.grpc.MethodDescriptor;
import io.grpc.StatusRuntimeException; import io.grpc.StatusRuntimeException;
import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.StatusCode; import io.opentelemetry.api.trace.StatusCode;
@ -27,7 +28,7 @@ import io.opentelemetry.context.propagation.ContextPropagators;
import io.opentelemetry.context.propagation.TextMapPropagator; import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.exporter.logging.LoggingSpanExporter; import io.opentelemetry.exporter.logging.LoggingSpanExporter;
import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.trace.TracerSdkManagement; import io.opentelemetry.sdk.trace.SdkTracerProvider;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.logging.Level; import java.util.logging.Level;
@ -40,7 +41,7 @@ public class HelloWorldClient {
private final Integer serverPort; private final Integer serverPort;
private final GreeterGrpc.GreeterBlockingStub blockingStub; private final GreeterGrpc.GreeterBlockingStub blockingStub;
OpenTelemetry openTelemetry = OpenTelemetry.get(); OpenTelemetry openTelemetry = GlobalOpenTelemetry.get();
// OTel API // OTel API
Tracer tracer = openTelemetry.getTracer("io.opentelemetry.example.HelloWorldClient"); Tracer tracer = openTelemetry.getTracer("io.opentelemetry.example.HelloWorldClient");
// Share context via text headers // Share context via text headers
@ -116,14 +117,20 @@ public class HelloWorldClient {
} }
private static void initTracing() { private static void initTracing() {
OpenTelemetry.setGlobalPropagators( // install the W3C Trace Context propagator
ContextPropagators.create(W3CTraceContextPropagator.getInstance())); // Get the tracer management instance
SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder().build();
// Use the OpenTelemetry SDK // Set to process the the spans by the LogExporter
LoggingSpanExporter exporter = new LoggingSpanExporter(); LoggingSpanExporter exporter = new LoggingSpanExporter();
TracerSdkManagement tracerProvider = OpenTelemetrySdk.getGlobalTracerManagement(); sdkTracerProvider.addSpanProcessor(SimpleSpanProcessor.builder(exporter).build());
// Set to process the spans by the log exporter
tracerProvider.addSpanProcessor(SimpleSpanProcessor.builder(exporter).build()); OpenTelemetrySdk openTelemetrySdk =
OpenTelemetrySdk.builder()
.setTracerProvider(sdkTracerProvider)
.setPropagators(ContextPropagators.create(W3CTraceContextPropagator.getInstance()))
.build();
GlobalOpenTelemetry.set(openTelemetrySdk);
} }
/** /**

View File

@ -17,7 +17,7 @@ import io.grpc.Metadata;
import io.grpc.MethodDescriptor; import io.grpc.MethodDescriptor;
import io.grpc.StatusRuntimeException; import io.grpc.StatusRuntimeException;
import io.grpc.stub.StreamObserver; import io.grpc.stub.StreamObserver;
import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.StatusCode; import io.opentelemetry.api.trace.StatusCode;
import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.api.trace.Tracer;
@ -26,7 +26,7 @@ import io.opentelemetry.context.Scope;
import io.opentelemetry.context.propagation.TextMapPropagator; import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.exporter.logging.LoggingSpanExporter; import io.opentelemetry.exporter.logging.LoggingSpanExporter;
import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.trace.TracerSdkManagement; import io.opentelemetry.sdk.trace.SdkTracerManagement;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -42,11 +42,11 @@ public class HelloWorldClientStream {
private final GreeterGrpc.GreeterStub asyncStub; private final GreeterGrpc.GreeterStub asyncStub;
// OTel API // OTel API
Tracer tracer = OpenTelemetry.getGlobalTracer("io.opentelemetry.example.HelloWorldClient"); Tracer tracer = GlobalOpenTelemetry.getTracer("io.opentelemetry.example.HelloWorldClient");
// Export traces as log // Export traces as log
LoggingSpanExporter exporter = new LoggingSpanExporter(); LoggingSpanExporter exporter = new LoggingSpanExporter();
// Share context via text headers // Share context via text headers
TextMapPropagator textFormat = OpenTelemetry.getGlobalPropagators().getTextMapPropagator(); TextMapPropagator textFormat = GlobalOpenTelemetry.getPropagators().getTextMapPropagator();
// Inject context into the gRPC request metadata // Inject context into the gRPC request metadata
TextMapPropagator.Setter<Metadata> setter = TextMapPropagator.Setter<Metadata> setter =
(carrier, key, value) -> (carrier, key, value) ->
@ -71,7 +71,7 @@ public class HelloWorldClientStream {
private void initTracer() { private void initTracer() {
// Use the OpenTelemetry SDK // Use the OpenTelemetry SDK
TracerSdkManagement tracerManagement = OpenTelemetrySdk.getGlobalTracerManagement(); SdkTracerManagement tracerManagement = OpenTelemetrySdk.getGlobalTracerManagement();
// Set to process the spans by the log exporter // Set to process the spans by the log exporter
tracerManagement.addSpanProcessor(SimpleSpanProcessor.builder(exporter).build()); tracerManagement.addSpanProcessor(SimpleSpanProcessor.builder(exporter).build());
} }

View File

@ -14,6 +14,7 @@ import io.grpc.ServerBuilder;
import io.grpc.ServerCall; import io.grpc.ServerCall;
import io.grpc.ServerCallHandler; import io.grpc.ServerCallHandler;
import io.grpc.stub.StreamObserver; import io.grpc.stub.StreamObserver;
import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.api.trace.Tracer;
@ -24,7 +25,7 @@ import io.opentelemetry.context.propagation.ContextPropagators;
import io.opentelemetry.context.propagation.TextMapPropagator; import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.exporter.logging.LoggingSpanExporter; import io.opentelemetry.exporter.logging.LoggingSpanExporter;
import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.trace.TracerSdkManagement; import io.opentelemetry.sdk.trace.SdkTracerProvider;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
import java.io.IOException; import java.io.IOException;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
@ -38,7 +39,7 @@ public class HelloWorldServer {
private Server server; private Server server;
private final OpenTelemetry openTelemetry = OpenTelemetry.get(); private final OpenTelemetry openTelemetry = GlobalOpenTelemetry.get();
private final Tracer tracer = private final Tracer tracer =
openTelemetry.getTracer("io.opentelemetry.example.HelloWorldServer"); openTelemetry.getTracer("io.opentelemetry.example.HelloWorldServer");
private final TextMapPropagator textFormat = private final TextMapPropagator textFormat =
@ -167,12 +168,18 @@ public class HelloWorldServer {
private static void initTracing() { private static void initTracing() {
// install the W3C Trace Context propagator // install the W3C Trace Context propagator
OpenTelemetry.setGlobalPropagators(
ContextPropagators.create(W3CTraceContextPropagator.getInstance()));
// Get the tracer management instance // Get the tracer management instance
TracerSdkManagement tracerManagement = OpenTelemetrySdk.getGlobalTracerManagement(); SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder().build();
// Set to process the the spans by the LogExporter // Set to process the the spans by the LogExporter
tracerManagement.addSpanProcessor(SimpleSpanProcessor.builder(exporter).build()); sdkTracerProvider.addSpanProcessor(SimpleSpanProcessor.builder(exporter).build());
OpenTelemetrySdk openTelemetrySdk =
OpenTelemetrySdk.builder()
.setTracerProvider(sdkTracerProvider)
.setPropagators(ContextPropagators.create(W3CTraceContextPropagator.getInstance()))
.build();
GlobalOpenTelemetry.set(openTelemetrySdk);
} }
/** Main launches the server from the command line. */ /** Main launches the server from the command line. */

View File

@ -5,6 +5,7 @@
package io.opentelemetry.example.http; package io.opentelemetry.example.http;
import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.StatusCode; import io.opentelemetry.api.trace.StatusCode;
@ -16,7 +17,7 @@ import io.opentelemetry.context.propagation.ContextPropagators;
import io.opentelemetry.context.propagation.TextMapPropagator; import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.exporter.logging.LoggingSpanExporter; import io.opentelemetry.exporter.logging.LoggingSpanExporter;
import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.trace.TracerSdkManagement; import io.opentelemetry.sdk.trace.SdkTracerProvider;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.IOException; import java.io.IOException;
@ -39,15 +40,18 @@ public class HttpClient {
private static void initTracing() { private static void initTracing() {
// install the W3C Trace Context propagator // install the W3C Trace Context propagator
OpenTelemetry.setGlobalPropagators( // Get the tracer management instance
ContextPropagators.create(W3CTraceContextPropagator.getInstance())); SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder().build();
// Set to process the the spans by the LogExporter
sdkTracerProvider.addSpanProcessor(SimpleSpanProcessor.builder(loggingExporter).build());
// Get the tracer management instance. OpenTelemetrySdk openTelemetrySdk =
TracerSdkManagement tracerManagement = OpenTelemetrySdk.getGlobalTracerManagement(); OpenTelemetrySdk.builder()
// Show that multiple exporters can be used .setTracerProvider(sdkTracerProvider)
.setPropagators(ContextPropagators.create(W3CTraceContextPropagator.getInstance()))
.build();
// Set to export the traces also to a log file GlobalOpenTelemetry.set(openTelemetrySdk);
tracerManagement.addSpanProcessor(SimpleSpanProcessor.builder(loggingExporter).build());
} }
private void makeRequest() throws IOException { private void makeRequest() throws IOException {
@ -75,7 +79,7 @@ public class HttpClient {
span.setAttribute("http.url", url.toString()); span.setAttribute("http.url", url.toString());
// Inject the request with the current Context/Span. // Inject the request with the current Context/Span.
OpenTelemetry.getGlobalPropagators() GlobalOpenTelemetry.getPropagators()
.getTextMapPropagator() .getTextMapPropagator()
.inject(Context.current(), con, setter); .inject(Context.current(), con, setter);

View File

@ -20,7 +20,7 @@ import io.opentelemetry.context.propagation.ContextPropagators;
import io.opentelemetry.context.propagation.TextMapPropagator; import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.exporter.logging.LoggingSpanExporter; import io.opentelemetry.exporter.logging.LoggingSpanExporter;
import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.trace.TracerSdkManagement; import io.opentelemetry.sdk.trace.SdkTracerManagement;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
@ -125,7 +125,7 @@ public class HttpServer {
ContextPropagators.create(W3CTraceContextPropagator.getInstance())); ContextPropagators.create(W3CTraceContextPropagator.getInstance()));
// Get the tracer // Get the tracer
TracerSdkManagement tracerManagement = OpenTelemetrySdk.getGlobalTracerManagement(); SdkTracerManagement tracerManagement = OpenTelemetrySdk.getGlobalTracerManagement();
// Show that multiple exporters can be used // Show that multiple exporters can be used
// Set to export the traces also to a log file // Set to export the traces also to a log file

View File

@ -1,8 +1,9 @@
package io.opentelemetry.example.metrics; package io.opentelemetry.example.metrics;
import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.DoubleCounter; import io.opentelemetry.api.metrics.DoubleCounter;
import io.opentelemetry.api.metrics.GlobalMetricsProvider;
import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.Meter;
import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Span.Kind; import io.opentelemetry.api.trace.Span.Kind;
@ -21,9 +22,9 @@ import javax.swing.filechooser.FileSystemView;
public class DoubleCounterExample { public class DoubleCounterExample {
private static final Tracer tracer = private static final Tracer tracer =
OpenTelemetry.getGlobalTracer("io.opentelemetry.example.metrics", "0.5"); GlobalOpenTelemetry.getTracer("io.opentelemetry.example.metrics", "0.5");
private static final Meter sampleMeter = private static final Meter sampleMeter =
OpenTelemetry.getGlobalMeterProvider().get("io.opentelemetry.example.metrics", "0.5"); GlobalMetricsProvider.get().get("io.opentelemetry.example.metrics", "0.5");
private static final File directoryToCountIn = private static final File directoryToCountIn =
FileSystemView.getFileSystemView().getHomeDirectory(); FileSystemView.getFileSystemView().getHomeDirectory();
private static final DoubleCounter diskSpaceCounter = private static final DoubleCounter diskSpaceCounter =

View File

@ -1,7 +1,8 @@
package io.opentelemetry.example.metrics; package io.opentelemetry.example.metrics;
import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.GlobalMetricsProvider;
import io.opentelemetry.api.metrics.LongCounter; import io.opentelemetry.api.metrics.LongCounter;
import io.opentelemetry.api.metrics.LongCounter.BoundLongCounter; import io.opentelemetry.api.metrics.LongCounter.BoundLongCounter;
import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.Meter;
@ -20,9 +21,9 @@ import javax.swing.filechooser.FileSystemView;
public class LongCounterExample { public class LongCounterExample {
private static final Tracer tracer = private static final Tracer tracer =
OpenTelemetry.getGlobalTracer("io.opentelemetry.example.metrics", "0.5"); GlobalOpenTelemetry.getTracer("io.opentelemetry.example.metrics", "0.5");
private static final Meter sampleMeter = private static final Meter sampleMeter =
OpenTelemetry.getGlobalMeterProvider().get("io.opentelemetry.example.metrics", "0.5"); GlobalMetricsProvider.getMeter("io.opentelemetry.example.metrics", "0.5");
private static final LongCounter directoryCounter = private static final LongCounter directoryCounter =
sampleMeter sampleMeter
.longCounterBuilder("directories_search_count") .longCounterBuilder("directories_search_count")

View File

@ -6,9 +6,9 @@ import io.opentelemetry.api.metrics.LongValueObserver;
import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.Meter;
/** /**
* Example of using {@link LongValueObserver} to measure execution time of method. Setting {@link * Example of using {@link LongValueObserver} to measure execution time of method. Setting the
* LongValueObserver.Callback} a callback that gets executed every collection interval. Useful for * {@link LongValueObserver} updater sets a callback that gets executed every collection interval.
* expensive measurements that would be wastefully to calculate each request. * Useful for expensive measurements that would be wastefully to calculate each request.
*/ */
public class LongValueObserverExample { public class LongValueObserverExample {
@ -19,7 +19,7 @@ public class LongValueObserverExample {
.longValueObserverBuilder("jvm.memory.total") .longValueObserverBuilder("jvm.memory.total")
.setDescription("Reports JVM memory usage.") .setDescription("Reports JVM memory usage.")
.setUnit("byte") .setUnit("byte")
.setCallback( .setUpdater(
result -> result.observe(Runtime.getRuntime().totalMemory(), Labels.empty())) result -> result.observe(Runtime.getRuntime().totalMemory(), Labels.empty()))
.build(); .build();
} }

View File

@ -9,5 +9,6 @@ dependencies {
compile("io.opentelemetry:opentelemetry-api") compile("io.opentelemetry:opentelemetry-api")
compile("io.opentelemetry:opentelemetry-sdk") compile("io.opentelemetry:opentelemetry-sdk")
compile("io.opentelemetry:opentelemetry-exporter-otlp") compile("io.opentelemetry:opentelemetry-exporter-otlp")
compile("io.opentelemetry:opentelemetry-exporter-otlp-metrics:0.13.1-alpha")
compile "io.grpc:grpc-netty-shaded" compile "io.grpc:grpc-netty-shaded"
} }

View File

@ -11,8 +11,8 @@ import io.opentelemetry.api.metrics.Meter;
import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.context.Scope; import io.opentelemetry.context.Scope;
import io.opentelemetry.exporter.otlp.OtlpGrpcMetricExporter; import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporter;
import io.opentelemetry.exporter.otlp.OtlpGrpcSpanExporter; import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.metrics.export.IntervalMetricReader; import io.opentelemetry.sdk.metrics.export.IntervalMetricReader;
import io.opentelemetry.sdk.trace.export.BatchSpanProcessor; import io.opentelemetry.sdk.trace.export.BatchSpanProcessor;

View File

@ -1,11 +1,12 @@
package io.opentelemetry.example.prometheus; package io.opentelemetry.example.prometheus;
import io.opentelemetry.api.common.Labels; import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.GlobalMetricsProvider;
import io.opentelemetry.api.metrics.LongValueObserver; import io.opentelemetry.api.metrics.LongValueObserver;
import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.Meter;
import io.opentelemetry.api.metrics.MeterProvider;
import io.opentelemetry.exporter.prometheus.PrometheusCollector; import io.opentelemetry.exporter.prometheus.PrometheusCollector;
import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import io.opentelemetry.sdk.metrics.MeterSdkProvider;
import io.prometheus.client.exporter.HTTPServer; import io.prometheus.client.exporter.HTTPServer;
import java.io.IOException; import java.io.IOException;
import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.ThreadLocalRandom;
@ -15,12 +16,12 @@ import java.util.concurrent.ThreadLocalRandom;
* expose these to a Prometheus instance via a {@link HTTPServer} exporter. * expose these to a Prometheus instance via a {@link HTTPServer} exporter.
* *
* <p>A {@link LongValueObserver} is used to periodically measure how many incoming messages are * <p>A {@link LongValueObserver} is used to periodically measure how many incoming messages are
* awaiting processing. The {@link LongValueObserver.Callback} gets executed every collection * awaiting processing. The {@link LongValueObserver} Updater gets executed every collection
* interval. * interval.
*/ */
public class PrometheusExample { public class PrometheusExample {
private final MeterSdkProvider meterSdkProvider = OpenTelemetrySdk.getGlobalMeterProvider(); private final MeterProvider meterSdkProvider = GlobalMetricsProvider.get();
private final Meter meter = meterSdkProvider.get("PrometheusExample", "0.7"); private final Meter meter = meterSdkProvider.get("PrometheusExample", "0.7");
private final HTTPServer server; private final HTTPServer server;
private long incomingMessageCount; private long incomingMessageCount;
@ -32,11 +33,11 @@ public class PrometheusExample {
.longValueObserverBuilder("incoming.messages") .longValueObserverBuilder("incoming.messages")
.setDescription("No of incoming messages awaiting processing") .setDescription("No of incoming messages awaiting processing")
.setUnit("message") .setUnit("message")
.setCallback(result -> result.observe(incomingMessageCount, Labels.empty())) .setUpdater(result -> result.observe(incomingMessageCount, Labels.empty()))
.build(); .build();
PrometheusCollector.builder() PrometheusCollector.builder()
.setMetricProducer(meterSdkProvider.getMetricProducer()) .setMetricProducer(((SdkMeterProvider) meterSdkProvider).getMetricProducer())
.buildAndRegister(); .buildAndRegister();
server = new HTTPServer(port); server = new HTTPServer(port);

View File

@ -5,12 +5,12 @@
package io.opentelemetry.sdk.example; package io.opentelemetry.sdk.example;
import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.exporter.logging.LoggingSpanExporter; import io.opentelemetry.exporter.logging.LoggingSpanExporter;
import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.trace.SdkTracerManagement;
import io.opentelemetry.sdk.trace.SpanProcessor; import io.opentelemetry.sdk.trace.SpanProcessor;
import io.opentelemetry.sdk.trace.TracerSdkManagement;
import io.opentelemetry.sdk.trace.export.BatchSpanProcessor; import io.opentelemetry.sdk.trace.export.BatchSpanProcessor;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
@ -20,9 +20,9 @@ public class ConfigureSpanProcessorExample {
static LoggingSpanExporter exporter = new LoggingSpanExporter(); static LoggingSpanExporter exporter = new LoggingSpanExporter();
// Get the Tracer Provider // Get the Tracer Provider
static TracerSdkManagement tracerProvider = OpenTelemetrySdk.getGlobalTracerManagement(); static SdkTracerManagement tracerProvider = OpenTelemetrySdk.getGlobalTracerManagement();
// Acquire a tracer // Acquire a tracer
static Tracer tracer = OpenTelemetry.getGlobalTracer("ConfigureSpanProcessorExample"); static Tracer tracer = GlobalOpenTelemetry.getTracer("ConfigureSpanProcessorExample");
public static void main(String[] args) { public static void main(String[] args) {

View File

@ -5,7 +5,7 @@
package io.opentelemetry.sdk.example; package io.opentelemetry.sdk.example;
import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Span.Kind; import io.opentelemetry.api.trace.Span.Kind;
@ -13,7 +13,7 @@ import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.context.Context; import io.opentelemetry.context.Context;
import io.opentelemetry.exporter.logging.LoggingSpanExporter; import io.opentelemetry.exporter.logging.LoggingSpanExporter;
import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.trace.TracerSdkManagement; import io.opentelemetry.sdk.trace.SdkTracerManagement;
import io.opentelemetry.sdk.trace.config.TraceConfig; import io.opentelemetry.sdk.trace.config.TraceConfig;
import io.opentelemetry.sdk.trace.data.SpanData.Link; import io.opentelemetry.sdk.trace.data.SpanData.Link;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
@ -24,8 +24,8 @@ import java.util.List;
class ConfigureTraceExample { class ConfigureTraceExample {
// Configure a tracer for these examples // Configure a tracer for these examples
static TracerSdkManagement tracerManagement = OpenTelemetrySdk.getGlobalTracerManagement(); static SdkTracerManagement tracerManagement = OpenTelemetrySdk.getGlobalTracerManagement();
static Tracer tracer = OpenTelemetry.getGlobalTracer("ConfigureTraceExample"); static Tracer tracer = GlobalOpenTelemetry.getTracer("ConfigureTraceExample");
static { static {
tracerManagement.addSpanProcessor( tracerManagement.addSpanProcessor(

View File

@ -1,6 +1,6 @@
package io.opentelemetry.example.zipkin; package io.opentelemetry.example.zipkin;
import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.exporter.zipkin.ZipkinSpanExporter; import io.opentelemetry.exporter.zipkin.ZipkinSpanExporter;
@ -20,8 +20,8 @@ public class ZipkinExample {
// Name of the service // Name of the service
private static final String SERVICE_NAME = "myExampleService"; private static final String SERVICE_NAME = "myExampleService";
private Tracer tracer = OpenTelemetry.getGlobalTracer("io.opentelemetry.example.ZipkinExample"); private final Tracer tracer =
private ZipkinSpanExporter zipkinExporter; GlobalOpenTelemetry.getTracer("io.opentelemetry.example.ZipkinExample");
public ZipkinExample(String ip, int port) { public ZipkinExample(String ip, int port) {
this.ip = ip; this.ip = ip;
@ -32,7 +32,7 @@ public class ZipkinExample {
// TracerSdkProvider // TracerSdkProvider
public void setupZipkinExporter() { public void setupZipkinExporter() {
String httpUrl = String.format("http://%s:%s", ip, port); String httpUrl = String.format("http://%s:%s", ip, port);
this.zipkinExporter = ZipkinSpanExporter zipkinExporter =
ZipkinSpanExporter.builder() ZipkinSpanExporter.builder()
.setEndpoint(httpUrl + ENDPOINT_V2_SPANS) .setEndpoint(httpUrl + ENDPOINT_V2_SPANS)
.setServiceName(SERVICE_NAME) .setServiceName(SERVICE_NAME)
@ -60,6 +60,7 @@ public class ZipkinExample {
try { try {
Thread.sleep(1000); Thread.sleep(1000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
// ignore in an example
} }
} }