Skip to content

Commit a82bded

Browse files
Merge pull request #5546 from DataDog/rgs/jetty-scope-activation
activate spans before calling decorators
2 parents 9023c3a + ff1ee00 commit a82bded

File tree

16 files changed

+29
-31
lines changed

16 files changed

+29
-31
lines changed

dd-java-agent/instrumentation/jetty-11/src/main/java11/datadog/trace/instrumentation/jetty11/JettyServerAdvice.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ public static AgentScope onEnter(
2727

2828
final AgentSpan.Context.Extracted extractedContext = DECORATE.extract(req);
2929
span = DECORATE.startSpan(req, extractedContext);
30+
final AgentScope scope = activateSpan(span);
31+
scope.setAsyncPropagation(true);
3032
span.setMeasured(true);
3133
DECORATE.afterStart(span);
3234
DECORATE.onRequest(span, req, req, extractedContext);
3335

34-
final AgentScope scope = activateSpan(span);
35-
scope.setAsyncPropagation(true);
3636
req.setAttribute(DD_SPAN_ATTRIBUTE, span);
3737
req.setAttribute(CorrelationIdentifier.getTraceIdKey(), GlobalTracer.get().getTraceId());
3838
req.setAttribute(CorrelationIdentifier.getSpanIdKey(), GlobalTracer.get().getSpanId());

dd-java-agent/instrumentation/jetty-7.0/src/main/java/datadog/trace/instrumentation/jetty70/JettyServerInstrumentation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,11 @@ public static AgentScope onEnter(
154154

155155
final AgentSpan.Context.Extracted extractedContext = DECORATE.extract(req);
156156
span = DECORATE.startSpan(req, extractedContext);
157+
final AgentScope scope = activateSpan(span);
158+
scope.setAsyncPropagation(true);
157159
DECORATE.afterStart(span);
158160
DECORATE.onRequest(span, req, req, extractedContext);
159161

160-
final AgentScope scope = activateSpan(span);
161-
scope.setAsyncPropagation(true);
162162
req.setAttribute(DD_SPAN_ATTRIBUTE, span);
163163
req.setAttribute(CorrelationIdentifier.getTraceIdKey(), GlobalTracer.get().getTraceId());
164164
req.setAttribute(CorrelationIdentifier.getSpanIdKey(), GlobalTracer.get().getSpanId());

dd-java-agent/instrumentation/jetty-7.6/src/main/java/datadog/trace/instrumentation/jetty76/JettyServerInstrumentation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,11 +155,11 @@ public static AgentScope onEnter(
155155

156156
final AgentSpan.Context.Extracted extractedContext = DECORATE.extract(req);
157157
span = DECORATE.startSpan(req, extractedContext);
158+
final AgentScope scope = activateSpan(span);
159+
scope.setAsyncPropagation(true);
158160
DECORATE.afterStart(span);
159161
DECORATE.onRequest(span, req, req, extractedContext);
160162

161-
final AgentScope scope = activateSpan(span);
162-
scope.setAsyncPropagation(true);
163163
req.setAttribute(DD_SPAN_ATTRIBUTE, span);
164164
req.setAttribute(CorrelationIdentifier.getTraceIdKey(), GlobalTracer.get().getTraceId());
165165
req.setAttribute(CorrelationIdentifier.getSpanIdKey(), GlobalTracer.get().getSpanId());

dd-java-agent/instrumentation/jetty-9/src/main/java/datadog/trace/instrumentation/jetty9/JettyServerInstrumentation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,11 +162,11 @@ public static AgentScope onEnter(
162162

163163
final AgentSpan.Context.Extracted extractedContext = DECORATE.extract(req);
164164
span = DECORATE.startSpan(req, extractedContext);
165+
final AgentScope scope = activateSpan(span);
166+
scope.setAsyncPropagation(true);
165167
DECORATE.afterStart(span);
166168
DECORATE.onRequest(span, req, req, extractedContext);
167169

168-
final AgentScope scope = activateSpan(span);
169-
scope.setAsyncPropagation(true);
170170
req.setAttribute(DD_SPAN_ATTRIBUTE, span);
171171
req.setAttribute(CorrelationIdentifier.getTraceIdKey(), GlobalTracer.get().getTraceId());
172172
req.setAttribute(CorrelationIdentifier.getSpanIdKey(), GlobalTracer.get().getSpanId());

dd-java-agent/instrumentation/liberty-20/src/main/java/datadog/trace/instrumentation/liberty20/LibertyServerInstrumentation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,11 @@ public static class HandleRequestAdvice {
8989
final AgentSpan.Context.Extracted extractedContext = DECORATE.extract(request);
9090
request.setAttribute(DD_EXTRACTED_CONTEXT_ATTRIBUTE, extractedContext);
9191
final AgentSpan span = DECORATE.startSpan(request, extractedContext);
92+
scope = activateSpan(span);
93+
scope.setAsyncPropagation(true);
9294

9395
DECORATE.afterStart(span);
9496
DECORATE.onRequest(span, request, request, extractedContext);
95-
scope = activateSpan(span);
96-
scope.setAsyncPropagation(true);
9797
request.setAttribute(DD_SPAN_ATTRIBUTE, span);
9898
request.setAttribute(CorrelationIdentifier.getTraceIdKey(), GlobalTracer.get().getTraceId());
9999
request.setAttribute(CorrelationIdentifier.getSpanIdKey(), GlobalTracer.get().getSpanId());

dd-java-agent/instrumentation/play-2.3/src/main/java/datadog/trace/instrumentation/play23/PlayAdvice.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ public static AgentScope onEnter(@Advice.Argument(0) final Request req) {
3131
span = startSpan(PLAY_REQUEST);
3232
span.setMeasured(true);
3333
}
34-
DECORATE.afterStart(span);
3534

3635
final AgentScope scope = activateSpan(span);
3736
scope.setAsyncPropagation(true);
37+
DECORATE.afterStart(span);
3838
return scope;
3939
}
4040

dd-java-agent/instrumentation/play-2.4/src/main/java/datadog/trace/instrumentation/play24/PlayAdvice.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ public static AgentScope onEnter(@Advice.Argument(value = 0, readOnly = false) R
3737
span = startSpan(PLAY_REQUEST);
3838
span.setMeasured(true);
3939
}
40-
DECORATE.afterStart(span);
4140

4241
final AgentScope scope = activateSpan(span);
4342
scope.setAsyncPropagation(true);
43+
DECORATE.afterStart(span);
4444

4545
req = RequestHelper.withTag(req, "_dd_HasPlayRequestSpan", "true");
4646

dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/PlayAdvice.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,10 @@ public static AgentScope onEnter(@Advice.Argument(value = 0, readOnly = false) R
3535
// Do not extract the context.
3636
span = startSpan(PLAY_REQUEST);
3737
}
38-
span.setMeasured(true);
39-
DECORATE.afterStart(span);
40-
4138
final AgentScope scope = activateSpan(span);
4239
scope.setAsyncPropagation(true);
40+
span.setMeasured(true);
41+
DECORATE.afterStart(span);
4342

4443
req = req.addAttr(HasPlayRequestSpan.KEY, HasPlayRequestSpan.INSTANCE);
4544

dd-java-agent/instrumentation/restlet-2.2/src/main/java/datadog/trace/instrumentation/restlet/RestletInstrumentation.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,12 @@ public static class RestletHandleAdvice {
5454
public static AgentScope beginRequest(@Advice.Argument(0) final HttpExchange exchange) {
5555
AgentSpan.Context.Extracted context = DECORATE.extract(exchange);
5656
AgentSpan span = DECORATE.startSpan(exchange, context);
57+
AgentScope scope = activateSpan(span);
5758
DECORATE.afterStart(span);
5859
DECORATE.onRequest(span, exchange, exchange, context);
5960
DECORATE.onPeerConnection(span, exchange.getRemoteAddress());
6061

61-
return activateSpan(span);
62+
return scope;
6263
}
6364

6465
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)

dd-java-agent/instrumentation/servlet/request-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Advice.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,10 @@ public static boolean onEnter(
5050

5151
final AgentSpan.Context.Extracted extractedContext = DECORATE.extract(httpServletRequest);
5252
final AgentSpan span = DECORATE.startSpan(httpServletRequest, extractedContext);
53-
DECORATE.afterStart(span);
54-
DECORATE.onRequest(span, httpServletRequest, httpServletRequest, extractedContext);
55-
5653
scope = activateSpan(span);
5754
scope.setAsyncPropagation(true);
55+
DECORATE.afterStart(span);
56+
DECORATE.onRequest(span, httpServletRequest, httpServletRequest, extractedContext);
5857

5958
httpServletRequest.setAttribute(DD_SPAN_ATTRIBUTE, span);
6059
httpServletRequest.setAttribute(

0 commit comments

Comments
 (0)