Skip to content

Commit f6078bf

Browse files
committed
Fix jetty 12 advices
1 parent 2d96885 commit f6078bf

2 files changed

Lines changed: 5 additions & 14 deletions

File tree

dd-java-agent/instrumentation/jetty/jetty-server/jetty-server-12.0/src/main/java/datadog/trace/instrumentation/jetty12/JettyServerInstrumentation.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ public String[] helperClassNames() {
4848
public void methodAdvice(MethodTransformer transformer) {
4949
transformer.applyAdvices(
5050
named("onRequest").and(takesArguments(1)),
51-
packageName + ".JettyServerAdvice$ContextTrackingAdvice",
52-
packageName + ".JettyServerAdvice$HandleAdvice");
51+
packageName + ".JettyServerAdvice$HandleAdvice",
52+
// note this is last while it should be first because this instrumentation advices on exit
53+
packageName + ".JettyServerAdvice$ContextTrackingAdvice");
5354
transformer.applyAdvice(
5455
named("recycle").and(takesNoArguments()), packageName + ".JettyServerAdvice$ResetAdvice");
5556
}

dd-java-agent/instrumentation/jetty/jetty-server/jetty-server-12.0/src/main/java17/datadog/trace/instrumentation/jetty12/JettyServerAdvice.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,14 @@ public class JettyServerAdvice {
2121
@AppliesOn(CONTEXT_TRACKING)
2222
public static class ContextTrackingAdvice {
2323

24-
@Advice.OnMethodEnter(suppress = Throwable.class)
25-
public static void onEnter(
26-
@Advice.This final HttpChannelState channel,
27-
@Advice.Local("parentScope") ContextScope parentScope) {
24+
@Advice.OnMethodExit(suppress = Throwable.class)
25+
public static void onExit(@Advice.This final HttpChannelState channel) {
2826
Request req = channel.getRequest();
2927
if (req.getAttribute(DD_CONTEXT_ATTRIBUTE) instanceof Context) {
3028
return; // re-entry: HandleAdvice will attach existing context
3129
}
3230
Context parentContext = DECORATE.extract(req);
3331
req.setAttribute(DD_PARENT_CONTEXT_ATTRIBUTE, parentContext);
34-
parentScope = parentContext.attach();
35-
}
36-
37-
@Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class)
38-
public static void closeScope(@Advice.Local("parentScope") ContextScope parentScope) {
39-
if (parentScope != null) {
40-
parentScope.close();
41-
}
4232
}
4333
}
4434

0 commit comments

Comments
 (0)