Skip to content

Commit 9c2fbe9

Browse files
committed
Fix: injected bytecode shouldn't link back to instrumentation class
Thanks to @mcculls for pointing out the issue.
1 parent 192f3f4 commit 9c2fbe9

File tree

6 files changed

+36
-11
lines changed

6 files changed

+36
-11
lines changed

dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/Dbcp2LinkedBlockingDequeInstrumentation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public void methodAdvice(MethodTransformer transformer) {
5050
public static class PollFirstAdvice {
5151
@Advice.OnMethodEnter(suppress = Throwable.class)
5252
public static AgentSpan onEnter() {
53-
if (CallDepthThreadLocalMap.getCallDepth(Dbcp2LinkedBlockingDequeInstrumentation.class) > 0) {
53+
if (CallDepthThreadLocalMap.getCallDepth(PoolWaitingDecorator.class) > 0) {
5454
AgentSpan span = startSpan(POOL_WAITING);
5555
DECORATE.afterStart(span);
5656
span.setResourceName("dbcp2.waiting");

dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/Dbcp2ManagedConnectionInstrumentation.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ public String[] knownMatchingTypes() {
3030
};
3131
}
3232

33+
@Override
34+
public String[] helperClassNames() {
35+
return new String[] {packageName + ".PoolWaitingDecorator"};
36+
}
37+
3338
@Override
3439
public void methodAdvice(MethodTransformer transformer) {
3540
transformer.applyAdvice(
@@ -40,12 +45,12 @@ public void methodAdvice(MethodTransformer transformer) {
4045
public static class UpdateTransactionStatusAdvice {
4146
@Advice.OnMethodEnter(suppress = Throwable.class)
4247
public static void onEnter() {
43-
CallDepthThreadLocalMap.incrementCallDepth(Dbcp2LinkedBlockingDequeInstrumentation.class);
48+
CallDepthThreadLocalMap.incrementCallDepth(PoolWaitingDecorator.class);
4449
}
4550

4651
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
4752
public static void onExit() {
48-
CallDepthThreadLocalMap.decrementCallDepth(Dbcp2LinkedBlockingDequeInstrumentation.class);
53+
CallDepthThreadLocalMap.decrementCallDepth(PoolWaitingDecorator.class);
4954
}
5055
}
5156
}

dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/Dbcp2PerUserPoolDataSourceInstrumentation.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ public String[] knownMatchingTypes() {
3030
};
3131
}
3232

33+
@Override
34+
public String[] helperClassNames() {
35+
return new String[] {packageName + ".PoolWaitingDecorator"};
36+
}
37+
3338
@Override
3439
public void methodAdvice(MethodTransformer transformer) {
3540
transformer.applyAdvice(
@@ -41,12 +46,12 @@ public void methodAdvice(MethodTransformer transformer) {
4146
public static class GetPooledConnectionAndInfoAdvice {
4247
@Advice.OnMethodEnter(suppress = Throwable.class)
4348
public static void onEnter() {
44-
CallDepthThreadLocalMap.incrementCallDepth(Dbcp2LinkedBlockingDequeInstrumentation.class);
49+
CallDepthThreadLocalMap.incrementCallDepth(PoolWaitingDecorator.class);
4550
}
4651

4752
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
4853
public static void onExit() {
49-
CallDepthThreadLocalMap.decrementCallDepth(Dbcp2LinkedBlockingDequeInstrumentation.class);
54+
CallDepthThreadLocalMap.decrementCallDepth(PoolWaitingDecorator.class);
5055
}
5156
}
5257
}

dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/Dbcp2PoolingDataSourceInstrumentation.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ public String[] knownMatchingTypes() {
3030
};
3131
}
3232

33+
@Override
34+
public String[] helperClassNames() {
35+
return new String[] {packageName + ".PoolWaitingDecorator"};
36+
}
37+
3338
@Override
3439
public void methodAdvice(MethodTransformer transformer) {
3540
transformer.applyAdvice(
@@ -40,12 +45,12 @@ public void methodAdvice(MethodTransformer transformer) {
4045
public static class GetConnectionAdvice {
4146
@Advice.OnMethodEnter(suppress = Throwable.class)
4247
public static void onEnter() {
43-
CallDepthThreadLocalMap.incrementCallDepth(Dbcp2LinkedBlockingDequeInstrumentation.class);
48+
CallDepthThreadLocalMap.incrementCallDepth(PoolWaitingDecorator.class);
4449
}
4550

4651
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
4752
public static void onExit() {
48-
CallDepthThreadLocalMap.decrementCallDepth(Dbcp2LinkedBlockingDequeInstrumentation.class);
53+
CallDepthThreadLocalMap.decrementCallDepth(PoolWaitingDecorator.class);
4954
}
5055
}
5156
}

dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/Dbcp2PoolingDriverInstrumentation.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ public String[] knownMatchingTypes() {
3030
};
3131
}
3232

33+
@Override
34+
public String[] helperClassNames() {
35+
return new String[] {packageName + ".PoolWaitingDecorator"};
36+
}
37+
3338
@Override
3439
public void methodAdvice(MethodTransformer transformer) {
3540
transformer.applyAdvice(
@@ -39,12 +44,12 @@ public void methodAdvice(MethodTransformer transformer) {
3944
public static class ConnectAdvice {
4045
@Advice.OnMethodEnter(suppress = Throwable.class)
4146
public static void onEnter() {
42-
CallDepthThreadLocalMap.incrementCallDepth(Dbcp2LinkedBlockingDequeInstrumentation.class);
47+
CallDepthThreadLocalMap.incrementCallDepth(PoolWaitingDecorator.class);
4348
}
4449

4550
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
4651
public static void onExit() {
47-
CallDepthThreadLocalMap.decrementCallDepth(Dbcp2LinkedBlockingDequeInstrumentation.class);
52+
CallDepthThreadLocalMap.decrementCallDepth(PoolWaitingDecorator.class);
4853
}
4954
}
5055
}

dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/Dbcp2SharedPoolDataSourceInstrumentation.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ public String[] knownMatchingTypes() {
3030
};
3131
}
3232

33+
@Override
34+
public String[] helperClassNames() {
35+
return new String[] {packageName + ".PoolWaitingDecorator"};
36+
}
37+
3338
@Override
3439
public void methodAdvice(MethodTransformer transformer) {
3540
transformer.applyAdvice(
@@ -41,12 +46,12 @@ public void methodAdvice(MethodTransformer transformer) {
4146
public static class GetPooledConnectionAndInfoAdvice {
4247
@Advice.OnMethodEnter(suppress = Throwable.class)
4348
public static void onEnter() {
44-
CallDepthThreadLocalMap.incrementCallDepth(Dbcp2LinkedBlockingDequeInstrumentation.class);
49+
CallDepthThreadLocalMap.incrementCallDepth(PoolWaitingDecorator.class);
4550
}
4651

4752
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
4853
public static void onExit() {
49-
CallDepthThreadLocalMap.decrementCallDepth(Dbcp2LinkedBlockingDequeInstrumentation.class);
54+
CallDepthThreadLocalMap.decrementCallDepth(PoolWaitingDecorator.class);
5055
}
5156
}
5257
}

0 commit comments

Comments
 (0)