Use scope when opening JMS span

This commit is contained in:
Nikolay Martynov 2019-04-04 15:58:21 -04:00
parent 4119059e70
commit e678a62e5b
1 changed files with 10 additions and 8 deletions

View File

@ -10,6 +10,7 @@ import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
import com.google.auto.service.AutoService; import com.google.auto.service.AutoService;
import datadog.trace.agent.tooling.Instrumenter; import datadog.trace.agent.tooling.Instrumenter;
import io.opentracing.Scope;
import io.opentracing.Span; import io.opentracing.Span;
import io.opentracing.SpanContext; import io.opentracing.SpanContext;
import io.opentracing.Tracer; import io.opentracing.Tracer;
@ -92,6 +93,7 @@ public final class JMSMessageConsumerInstrumentation extends Instrumenter.Defaul
} }
final Span span = spanBuilder.start(); final Span span = spanBuilder.start();
try (final Scope scope = GlobalTracer.get().scopeManager().activate(span, true)) {
CONSUMER_DECORATE.afterStart(span); CONSUMER_DECORATE.afterStart(span);
if (message == null) { if (message == null) {
CONSUMER_DECORATE.onReceive(span, method); CONSUMER_DECORATE.onReceive(span, method);
@ -100,7 +102,7 @@ public final class JMSMessageConsumerInstrumentation extends Instrumenter.Defaul
} }
CONSUMER_DECORATE.onError(span, throwable); CONSUMER_DECORATE.onError(span, throwable);
CONSUMER_DECORATE.beforeFinish(span); CONSUMER_DECORATE.beforeFinish(span);
span.finish(); }
} }
} }
} }