Skip to content

Commit

Permalink
Upgrade OpenTelemetry to latest stable version 1.0.0 (#9247)
Browse files Browse the repository at this point in the history
* [tracing] Upgrade OpenTelemetry to 0.17.0

* [tracing] Upgrade OpenTelemetry to 1.0.0

* [tracing] Remove unused import

Co-authored-by: Diego Molina <diemol@users.noreply.github.com>
  • Loading branch information
pujagani and diemol committed Mar 9, 2021
1 parent a2dc341 commit d488c0c
Show file tree
Hide file tree
Showing 5 changed files with 284 additions and 277 deletions.
Expand Up @@ -18,9 +18,11 @@
package org.openqa.selenium.remote.tracing.opentelemetry;

import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapGetter;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.context.propagation.TextMapSetter;
import org.openqa.selenium.internal.Require;
import org.openqa.selenium.remote.tracing.Propagator;
import org.openqa.selenium.remote.tracing.TraceContext;
Expand All @@ -44,7 +46,7 @@ public <C> void inject(TraceContext toInject, C carrier, Setter<C> setter) {
Require.nonNull("Setter", setter);
Require.argument("Trace context", toInject).instanceOf(OpenTelemetryContext.class);

TextMapPropagator.Setter<C> propagatorSetter = setter::set;
TextMapSetter<C> propagatorSetter = setter::set;

httpTextFormat.inject(((OpenTelemetryContext) toInject).getContext(), carrier, propagatorSetter);
}
Expand All @@ -57,7 +59,7 @@ public <C> OpenTelemetryContext extractContext(
Require.nonNull("Getter", getter);
Require.argument("Trace context", existing).instanceOf(OpenTelemetryContext.class);

TextMapPropagator.Getter<C> propagatorGetter = new TextMapPropagator.Getter<C>() {
TextMapGetter<C> propagatorGetter = new TextMapGetter<C>() {

@Override
public Iterable<String> keys(C carrier) {
Expand Down
Expand Up @@ -58,6 +58,13 @@ public static OpenTelemetryTracer getInstance() {
private static OpenTelemetryTracer createTracer() {
LOG.info("Using OpenTelemetry for tracing");

// Default exporter for traces and metrics is OTLP 0.17.0 onwards.
// If the metrics exporter property is not set to none, external dependency is required.
System.setProperty("otel.metrics.exporter", "none");
String exporter = System.getProperty("otel.traces.exporter");
if(exporter == null) {
System.setProperty("otel.traces.exporter", "none");
}
OpenTelemetrySdk autoConfiguredSdk = OpenTelemetrySdkAutoConfiguration.initialize();

return new OpenTelemetryTracer(
Expand Down
4 changes: 2 additions & 2 deletions java/maven_deps.bzl
Expand Up @@ -3,7 +3,7 @@ load("@rules_jvm_external//:specs.bzl", "maven")

def selenium_java_deps():
netty_version = "4.1.58.Final"
opentelemetry_version = "0.16.0"
opentelemetry_version = "1.0.0"

maven_install(
artifacts = [
Expand Down Expand Up @@ -44,7 +44,7 @@ def selenium_java_deps():
"io.opentelemetry:opentelemetry-semconv:%s" % opentelemetry_version + "-alpha",
"io.opentelemetry:opentelemetry-sdk:%s" % opentelemetry_version,
"io.opentelemetry:opentelemetry-sdk-common:%s" % opentelemetry_version,
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:0.16.0-alpha",
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:%s" % opentelemetry_version + "-alpha",
"io.opentelemetry:opentelemetry-sdk-testing:%s" % opentelemetry_version,
"io.opentelemetry:opentelemetry-sdk-trace:%s" % opentelemetry_version,
"io.ous:jtoml:2.0.0",
Expand Down

0 comments on commit d488c0c

Please sign in to comment.