Jaxrs: use scope when span is opened
This commit is contained in:
parent
0e7418fde6
commit
4119059e70
|
@ -3,6 +3,7 @@ package datadog.trace.instrumentation.jaxrs;
|
||||||
import static datadog.trace.instrumentation.jaxrs.JaxRsClientDecorator.DECORATE;
|
import static datadog.trace.instrumentation.jaxrs.JaxRsClientDecorator.DECORATE;
|
||||||
|
|
||||||
import datadog.trace.api.DDTags;
|
import datadog.trace.api.DDTags;
|
||||||
|
import io.opentracing.Scope;
|
||||||
import io.opentracing.Span;
|
import io.opentracing.Span;
|
||||||
import io.opentracing.propagation.Format;
|
import io.opentracing.propagation.Format;
|
||||||
import io.opentracing.util.GlobalTracer;
|
import io.opentracing.util.GlobalTracer;
|
||||||
|
@ -21,24 +22,25 @@ public class ClientTracingFilter implements ClientRequestFilter, ClientResponseF
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void filter(final ClientRequestContext requestContext) {
|
public void filter(final ClientRequestContext requestContext) {
|
||||||
|
|
||||||
final Span span =
|
final Span span =
|
||||||
GlobalTracer.get()
|
GlobalTracer.get()
|
||||||
.buildSpan("jax-rs.client.call")
|
.buildSpan("jax-rs.client.call")
|
||||||
.withTag(DDTags.RESOURCE_NAME, requestContext.getMethod() + " jax-rs.client.call")
|
.withTag(DDTags.RESOURCE_NAME, requestContext.getMethod() + " jax-rs.client.call")
|
||||||
.start();
|
.start();
|
||||||
DECORATE.afterStart(span);
|
try (final Scope scope = GlobalTracer.get().scopeManager().activate(span, false)) {
|
||||||
DECORATE.onRequest(span, requestContext);
|
DECORATE.afterStart(span);
|
||||||
|
DECORATE.onRequest(span, requestContext);
|
||||||
|
|
||||||
log.debug("{} - client span started", span);
|
log.debug("{} - client span started", span);
|
||||||
|
|
||||||
GlobalTracer.get()
|
GlobalTracer.get()
|
||||||
.inject(
|
.inject(
|
||||||
span.context(),
|
span.context(),
|
||||||
Format.Builtin.HTTP_HEADERS,
|
Format.Builtin.HTTP_HEADERS,
|
||||||
new InjectAdapter(requestContext.getHeaders()));
|
new InjectAdapter(requestContext.getHeaders()));
|
||||||
|
|
||||||
requestContext.setProperty(SPAN_PROPERTY_NAME, span);
|
requestContext.setProperty(SPAN_PROPERTY_NAME, span);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue