update the examples for 0.16.0 (#2780)

This commit is contained in:
John Watson 2021-02-09 12:09:00 -08:00 committed by GitHub
parent 3c150cc4ad
commit 964996f538
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 39 additions and 34 deletions

View File

@ -15,8 +15,8 @@ subprojects {
version = "0.1.0-SNAPSHOT"
ext {
openTelemetryVersion = "0.15.0"
openTelemetryAlphaVersion = "0.15.0-alpha"
openTelemetryVersion = "0.16.0"
openTelemetryAlphaVersion = "0.16.0-alpha"
grpcVersion = '1.34.1'
protobufVersion = '3.11.4'
protocVersion = protobufVersion

View File

@ -18,6 +18,7 @@ import io.grpc.MethodDescriptor;
import io.grpc.StatusRuntimeException;
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.api.trace.StatusCode;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.context.Context;
@ -75,7 +76,7 @@ public class HelloWorldClient {
// Start a span
Span span =
tracer.spanBuilder("helloworld.Greeter/SayHello").setSpanKind(Span.Kind.CLIENT).startSpan();
tracer.spanBuilder("helloworld.Greeter/SayHello").setSpanKind(SpanKind.CLIENT).startSpan();
span.setAttribute("component", "grpc");
span.setAttribute("rpc.service", "Greeter");
span.setAttribute("net.peer.ip", this.serverHostname);

View File

@ -19,6 +19,7 @@ import io.grpc.StatusRuntimeException;
import io.grpc.stub.StreamObserver;
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.api.trace.StatusCode;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator;
@ -85,7 +86,7 @@ public class HelloWorldClientStream {
// Start a span
Span span =
tracer.spanBuilder("helloworld.Greeter/SayHello").setSpanKind(Span.Kind.CLIENT).startSpan();
tracer.spanBuilder("helloworld.Greeter/SayHello").setSpanKind(SpanKind.CLIENT).startSpan();
span.setAttribute("component", "grpc");
span.setAttribute(SemanticAttributes.RPC_SERVICE, "Greeter");
span.setAttribute(SemanticAttributes.NET_HOST_IP, this.serverHostname);

View File

@ -16,6 +16,7 @@ import io.grpc.ServerCallHandler;
import io.grpc.stub.StreamObserver;
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.Scope;
@ -143,7 +144,7 @@ public class HelloWorldServer {
tracer
.spanBuilder("helloworld.Greeter/SayHello")
.setParent(extractedContext)
.setSpanKind(Span.Kind.SERVER)
.setSpanKind(SpanKind.SERVER)
.startSpan();
try (Scope innerScope = span.makeCurrent()) {
span.setAttribute("component", "grpc");

View File

@ -7,6 +7,7 @@ package io.opentelemetry.example.http;
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.api.trace.StatusCode;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.context.Context;
@ -47,7 +48,7 @@ public class HttpClient {
// Name convention for the Span is not yet defined.
// See: https://github.com/open-telemetry/opentelemetry-specification/issues/270
Span span = tracer.spanBuilder("/").setSpanKind(Span.Kind.CLIENT).startSpan();
Span span = tracer.spanBuilder("/").setSpanKind(SpanKind.CLIENT).startSpan();
try (Scope scope = span.makeCurrent()) {
span.setAttribute(SemanticAttributes.HTTP_METHOD, "GET");
span.setAttribute("component", "http");

View File

@ -12,6 +12,7 @@ import com.sun.net.httpserver.HttpHandler;
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.Scope;
@ -71,7 +72,7 @@ public class HttpServer {
Context context = TEXT_MAP_PROPAGATOR.extract(Context.current(), exchange, getter);
Span span =
tracer.spanBuilder("GET /").setParent(context).setSpanKind(Span.Kind.SERVER).startSpan();
tracer.spanBuilder("GET /").setParent(context).setSpanKind(SpanKind.SERVER).startSpan();
try (Scope scope = span.makeCurrent()) {
// Set the Semantic Convention

View File

@ -1,13 +1,13 @@
package io.opentelemetry.example.metrics;
import io.opentelemetry.api.DefaultOpenTelemetry;
import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.DoubleCounter;
import io.opentelemetry.api.metrics.GlobalMetricsProvider;
import io.opentelemetry.api.metrics.Meter;
import io.opentelemetry.api.metrics.common.Labels;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Span.Kind;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.api.trace.StatusCode;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.context.Scope;
@ -21,7 +21,7 @@ import javax.swing.filechooser.FileSystemView;
* extensions.
*/
public class DoubleCounterExample {
private static final OpenTelemetry openTelemetry = DefaultOpenTelemetry.builder().build();
private static final OpenTelemetry openTelemetry = GlobalOpenTelemetry.get();
private static final Tracer tracer =
openTelemetry.getTracer("io.opentelemetry.example.metrics", "0.13.1");
private static final Meter sampleMeter =
@ -36,7 +36,7 @@ public class DoubleCounterExample {
.build();
public static void main(String[] args) {
Span span = tracer.spanBuilder("calculate space").setSpanKind(Kind.INTERNAL).startSpan();
Span span = tracer.spanBuilder("calculate space").setSpanKind(SpanKind.INTERNAL).startSpan();
DoubleCounterExample example = new DoubleCounterExample();
try (Scope scope = span.makeCurrent()) {
List<String> extensionsToFind = new ArrayList<>();

View File

@ -1,14 +1,14 @@
package io.opentelemetry.example.metrics;
import io.opentelemetry.api.DefaultOpenTelemetry;
import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.BoundLongCounter;
import io.opentelemetry.api.metrics.GlobalMetricsProvider;
import io.opentelemetry.api.metrics.LongCounter;
import io.opentelemetry.api.metrics.Meter;
import io.opentelemetry.api.metrics.common.Labels;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Span.Kind;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.api.trace.StatusCode;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.context.Scope;
@ -19,7 +19,7 @@ import javax.swing.filechooser.FileSystemView;
* Example of using {@link LongCounter} and {@link BoundLongCounter} to count searched directories.
*/
public class LongCounterExample {
private static final OpenTelemetry openTelemetry = DefaultOpenTelemetry.builder().build();
private static final OpenTelemetry openTelemetry = GlobalOpenTelemetry.get();
private static final Tracer tracer =
openTelemetry.getTracer("io.opentelemetry.example.metrics", "0.13.1");
@ -37,7 +37,7 @@ public class LongCounterExample {
directoryCounter.bind(Labels.of("root directory", homeDirectory.getName()));
public static void main(String[] args) {
Span span = tracer.spanBuilder("workflow").setSpanKind(Kind.INTERNAL).startSpan();
Span span = tracer.spanBuilder("workflow").setSpanKind(SpanKind.INTERNAL).startSpan();
LongCounterExample example = new LongCounterExample();
try (Scope scope = span.makeCurrent()) {
homeDirectoryCounter.add(1); // count root directory

View File

@ -1,9 +1,9 @@
package io.opentelemetry.example.metrics;
import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.GlobalMetricsProvider;
import io.opentelemetry.api.metrics.LongValueObserver;
import io.opentelemetry.api.metrics.Meter;
import io.opentelemetry.api.metrics.common.Labels;
/**
* Example of using {@link LongValueObserver} to measure execution time of method. Setting the

View File

@ -1,9 +1,9 @@
package io.opentelemetry.example.prometheus;
import io.opentelemetry.api.common.Labels;
import io.opentelemetry.api.metrics.LongValueObserver;
import io.opentelemetry.api.metrics.Meter;
import io.opentelemetry.api.metrics.MeterProvider;
import io.opentelemetry.api.metrics.common.Labels;
import io.opentelemetry.exporter.prometheus.PrometheusCollector;
import io.prometheus.client.exporter.HTTPServer;
import java.io.IOException;

View File

@ -7,13 +7,13 @@ package io.opentelemetry.sdk.example;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Span.Kind;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.context.Context;
import io.opentelemetry.exporter.logging.LoggingSpanExporter;
import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.trace.SdkTracerProvider;
import io.opentelemetry.sdk.trace.config.TraceConfig;
import io.opentelemetry.sdk.trace.SpanLimits;
import io.opentelemetry.sdk.trace.data.LinkData;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
import io.opentelemetry.sdk.trace.samplers.Sampler;
@ -22,13 +22,13 @@ import io.opentelemetry.sdk.trace.samplers.SamplingResult;
import java.util.List;
/**
* This example demonstrates various {@link TraceConfig} options and how to configure them into an
* This example demonstrates various {@link SpanLimits} options and how to configure them into an
* SDK.
*/
class ConfigureTraceExample {
public static void main(String[] args) {
// TraceConfig handles the tracing configuration
// SpanLimits handles the tracing configuration
OpenTelemetrySdk openTelemetrySdk =
OpenTelemetrySdk.builder()
@ -38,7 +38,7 @@ class ConfigureTraceExample {
.build())
.build();
printTraceConfig(openTelemetrySdk);
printSpanLimits(openTelemetrySdk);
Tracer tracer = openTelemetrySdk.getTracer("ConfigureTraceExample");
// OpenTelemetry has a maximum of 32 Attributes by default for Spans, Links, and Events.
@ -49,18 +49,18 @@ class ConfigureTraceExample {
// The configuration can be changed in the trace provider.
// For example, we can change the maximum number of Attributes per span to 1.
TraceConfig newConf = TraceConfig.builder().setMaxNumberOfAttributes(1).build();
SpanLimits newConf = SpanLimits.builder().setMaxNumberOfAttributes(1).build();
openTelemetrySdk =
OpenTelemetrySdk.builder()
.setTracerProvider(
SdkTracerProvider.builder()
.addSpanProcessor(SimpleSpanProcessor.create(new LoggingSpanExporter()))
.setTraceConfig(newConf)
.setSpanLimits(newConf)
.build())
.build();
printTraceConfig(openTelemetrySdk);
printSpanLimits(openTelemetrySdk);
// If more attributes than allowed by the configuration are set, they are dropped.
Span singleAttrSpan = tracer.spanBuilder("Example Span Attributes").startSpan();
@ -84,7 +84,7 @@ class ConfigureTraceExample {
.build())
.build();
printTraceConfig(openTelemetrySdk);
printSpanLimits(openTelemetrySdk);
tracer = openTelemetrySdk.getTracer("ConfigureTraceExample");
tracer.spanBuilder("Not forwarded to any processors").startSpan().end();
@ -99,7 +99,7 @@ class ConfigureTraceExample {
.setSampler(Sampler.alwaysOn())
.build())
.build();
printTraceConfig(openTelemetrySdk);
printSpanLimits(openTelemetrySdk);
tracer = openTelemetrySdk.getTracer("ConfigureTraceExample");
tracer.spanBuilder("Forwarded to all processors").startSpan().end();
@ -116,7 +116,7 @@ class ConfigureTraceExample {
.setSampler(traceIdRatioBased)
.build())
.build();
printTraceConfig(openTelemetrySdk);
printSpanLimits(openTelemetrySdk);
tracer = openTelemetrySdk.getTracer("ConfigureTraceExample");
@ -136,7 +136,7 @@ class ConfigureTraceExample {
Context parentContext,
String traceId,
String name,
Kind spanKind,
SpanKind spanKind,
Attributes attributes,
List<LinkData> parentLinks) {
return SamplingResult.create(
@ -158,7 +158,7 @@ class ConfigureTraceExample {
.setSampler(new MySampler())
.build())
.build();
printTraceConfig(openTelemetrySdk);
printSpanLimits(openTelemetrySdk);
tracer = openTelemetrySdk.getTracer("ConfigureTraceExample");
@ -175,8 +175,8 @@ class ConfigureTraceExample {
tracer.spanBuilder("#5").startSpan().end();
}
private static void printTraceConfig(OpenTelemetrySdk sdk) {
TraceConfig config = sdk.getSdkTracerProvider().getActiveTraceConfig();
private static void printSpanLimits(OpenTelemetrySdk sdk) {
SpanLimits config = sdk.getSdkTracerProvider().getSpanLimits();
System.err.println("==================================");
System.err.print("Max number of attributes: ");
System.err.println(config.getMaxNumberOfAttributes());