File tree Expand file tree Collapse file tree
agent-tooling/src/main/java/datadog/trace/agent/tooling
testing/src/main/java/datadog/trace/agent/test
main/java/datadog/opentracing
test/groovy/datadog/opentracing Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package datadog .trace .agent .tooling ;
22
33import datadog .opentracing .DDTracer ;
4- import io . opentracing . Tracer ;
4+ import datadog . trace . context . TracerBridge ;
55import io .opentracing .util .GlobalTracer ;
66import lombok .extern .slf4j .Slf4j ;
77
@@ -10,11 +10,12 @@ public class TracerInstaller {
1010 /** Register a global tracer if no global tracer is already registered. */
1111 public static synchronized void installGlobalTracer () {
1212 if (!GlobalTracer .isRegistered ()) {
13- final Tracer resolved = new DDTracer ();
13+ final DDTracer tracer = new DDTracer ();
1414 try {
15- GlobalTracer .register (resolved );
15+ GlobalTracer .register (tracer );
16+ TracerBridge .registerIfAbsent (tracer );
1617 } catch (final RuntimeException re ) {
17- log .warn ("Failed to register tracer '" + resolved + "'" , re );
18+ log .warn ("Failed to register tracer '" + tracer + "'" , re );
1819 }
1920 } else {
2021 log .debug ("GlobalTracer already registered." );
Original file line number Diff line number Diff line change 99import datadog .trace .agent .tooling .Instrumenter ;
1010import datadog .trace .common .writer .ListWriter ;
1111import datadog .trace .common .writer .Writer ;
12+ import datadog .trace .context .TracerBridge ;
1213import io .opentracing .Tracer ;
1314import java .lang .instrument .ClassFileTransformer ;
1415import java .lang .instrument .Instrumentation ;
@@ -84,6 +85,7 @@ public boolean add(final List<DDSpan> trace) {
8485 };
8586 TEST_TRACER = new DDTracer (TEST_WRITER );
8687 TestUtils .registerOrReplaceGlobalTracer ((Tracer ) TEST_TRACER );
88+ TracerBridge .registerIfAbsent ((DDTracer ) TEST_TRACER );
8789 }
8890
8991 protected static Tracer getTestTracer () {
Original file line number Diff line number Diff line change @@ -162,8 +162,6 @@ public void run() {
162162 addDecorator (decorator );
163163 }
164164
165- TracerBridge .registerIfAbsent (this );
166-
167165 log .info ("New instance: {}" , this );
168166 }
169167
Original file line number Diff line number Diff line change @@ -147,6 +147,7 @@ class TraceInterceptorTest extends Specification {
147147
148148 def " register interceptor through bridge" () {
149149 setup:
150+ TracerBridge.registerIfAbsent(tracer)
150151 def interceptor = new TraceInterceptor() {
151152 @Override
152153 Collection<? extends MutableSpan> onTraceComplete(Collection<? extends MutableSpan> trace) {
@@ -161,5 +162,6 @@ class TraceInterceptorTest extends Specification {
161162
162163 expect:
163164 TracerBridge.addTraceInterceptor(interceptor)
165+ tracer.interceptors.contains(interceptor)
164166 }
165167}
You can’t perform that action at this time.
0 commit comments