Skip to content

Commit

Permalink
Adds version to otel tracer instrumentation scope (#5336)
Browse files Browse the repository at this point in the history
* Adds version to otel tracer instrumentation scope

* spotless

* while I'm here

* fix tests

* spotless

* use version properties
  • Loading branch information
dmarkwat committed Apr 4, 2023
1 parent 8e3c295 commit 9bd1a51
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,15 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Properties;
import java.util.Random;
import javax.annotation.Nullable;

class OpenTelemetrySpanBuilderImpl extends SpanBuilder {

private static final String OPENCENSUSSHIM_VERSION = readVersion();
private static final Tracer OTEL_TRACER =
GlobalOpenTelemetry.getTracer("io.opentelemetry.opencensusshim");
GlobalOpenTelemetry.getTracer("io.opentelemetry.opencensusshim", OPENCENSUSSHIM_VERSION);
private static final Tracestate OC_TRACESTATE_DEFAULT = Tracestate.builder().build();
private static final TraceOptions OC_SAMPLED_TRACE_OPTIONS =
TraceOptions.builder().setIsSampled(true).build();
Expand Down Expand Up @@ -209,6 +212,20 @@ private static boolean isAnyParentLinkSampled(List<Span> parentLinks) {
return false;
}

private static String readVersion() {
Properties properties = new Properties();
String version;
try {
properties.load(
OpenTelemetrySpanBuilderImpl.class.getResourceAsStream(
"/io/opentelemetry/opencensusshim/version.properties"));
version = properties.getProperty("sdk.version", "unknown");
} catch (Exception e) {
version = "unknown";
}
return version;
}

static final class Options {
private final RandomHandler randomHandler;
private final TraceConfig traceConfig;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import java.io.Closeable;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.Properties;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Level;
import java.util.logging.Logger;
Expand All @@ -26,6 +27,8 @@
final class TracerShim implements Tracer {
private static final Logger logger = Logger.getLogger(TracerShim.class.getName());

static final String OPENTRACINGSHIM_VERSION = readVersion();

private final io.opentelemetry.api.trace.TracerProvider provider;
private final io.opentelemetry.api.trace.Tracer tracer;
private final ScopeManager scopeManagerShim;
Expand All @@ -37,7 +40,7 @@ final class TracerShim implements Tracer {
TextMapPropagator textMapPropagator,
TextMapPropagator httpPropagator) {
this.provider = provider;
this.tracer = provider.get("opentracing-shim");
this.tracer = provider.get("opentracing-shim", OPENTRACINGSHIM_VERSION);
this.propagation = new Propagation(textMapPropagator, httpPropagator);
this.scopeManagerShim = new ScopeManagerShim();
}
Expand Down Expand Up @@ -147,4 +150,18 @@ private static TracerProvider maybeUnobfuscate(TracerProvider tracerProvider) {
}
return tracerProvider;
}

private static String readVersion() {
Properties properties = new Properties();
String version;
try {
properties.load(
TracerShim.class.getResourceAsStream(
"/io/opentelemetry/opentracingshim/version.properties"));
version = properties.getProperty("sdk.version", "unknown");
} catch (Exception e) {
version = "unknown";
}
return version;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ void createTracerShim_fromOpenTelemetryInstance() {
.isSameAs(textMapPropagator);
assertThat(tracerShim.propagation().getPropagator(Format.Builtin.HTTP_HEADERS))
.isSameAs(textMapPropagator);
assertThat(tracerShim.tracer()).isEqualTo(sdk.get("opentracing-shim"));
assertThat(tracerShim.tracer())
.isEqualTo(sdk.get("opentracing-shim", TracerShim.OPENTRACINGSHIM_VERSION));
}

@Test
Expand Down Expand Up @@ -75,6 +76,7 @@ void createTracerShim_withTraceProviderAndPropagator() {
.isSameAs(textMapPropagator);
assertThat(tracerShim.propagation().getPropagator(Format.Builtin.HTTP_HEADERS))
.isSameAs(httpHeadersPropagator);
assertThat(tracerShim.tracer()).isSameAs(sdk.get("opentracing-shim"));
assertThat(tracerShim.tracer())
.isSameAs(sdk.get("opentracing-shim", TracerShim.OPENTRACINGSHIM_VERSION));
}
}

0 comments on commit 9bd1a51

Please sign in to comment.