Skip to content

Commit 6f4bc24

Browse files
committed
Avoid double instrumenting lambdas on latest spring scheduling
1 parent 26ff4a9 commit 6f4bc24

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

dd-java-agent/instrumentation/spring-scheduling-3.1/src/main/java/datadog/trace/instrumentation/springscheduling/SpringSchedulingInstrumentation.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
package datadog.trace.instrumentation.springscheduling;
22

3+
import static datadog.trace.bootstrap.instrumentation.java.concurrent.ExcludeFilter.ExcludeType.RUNNABLE;
34
import static net.bytebuddy.matcher.ElementMatchers.isConstructor;
45
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
56

67
import com.google.auto.service.AutoService;
8+
import datadog.trace.agent.tooling.ExcludeFilterProvider;
79
import datadog.trace.agent.tooling.Instrumenter;
810
import datadog.trace.agent.tooling.InstrumenterModule;
11+
import datadog.trace.bootstrap.instrumentation.java.concurrent.ExcludeFilter;
12+
import java.util.Collection;
13+
import java.util.Collections;
14+
import java.util.Map;
915
import net.bytebuddy.asm.Advice;
1016

1117
@AutoService(InstrumenterModule.class)
1218
public final class SpringSchedulingInstrumentation extends InstrumenterModule.Tracing
13-
implements Instrumenter.ForSingleType {
19+
implements Instrumenter.ForSingleType, ExcludeFilterProvider {
1420

1521
public SpringSchedulingInstrumentation() {
1622
super("spring-scheduling");
@@ -35,6 +41,14 @@ public void methodAdvice(MethodTransformer transformer) {
3541
getClass().getName() + "$SpringSchedulingAdvice");
3642
}
3743

44+
@Override
45+
public Map<ExcludeFilter.ExcludeType, ? extends Collection<String>> excludedClasses() {
46+
return Collections.singletonMap(
47+
RUNNABLE,
48+
Collections.singleton(
49+
"org.springframework.scheduling.config.Task$OutcomeTrackingRunnable"));
50+
}
51+
3852
public static class SpringSchedulingAdvice {
3953
@Advice.OnMethodEnter(suppress = Throwable.class)
4054
public static void onConstruction(

0 commit comments

Comments
 (0)