Only instrument the actual Spring `TaskScheduler` implementations (#8676)
This commit is contained in:
parent
ebd31188af
commit
188d4c249a
|
@ -5,7 +5,6 @@
|
||||||
|
|
||||||
package io.opentelemetry.javaagent.instrumentation.spring.scheduling.v3_1;
|
package io.opentelemetry.javaagent.instrumentation.spring.scheduling.v3_1;
|
||||||
|
|
||||||
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
|
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.namedOneOf;
|
import static net.bytebuddy.matcher.ElementMatchers.namedOneOf;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
|
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
|
||||||
|
@ -20,7 +19,12 @@ import net.bytebuddy.matcher.ElementMatcher;
|
||||||
public class TaskSchedulerInstrumentation implements TypeInstrumentation {
|
public class TaskSchedulerInstrumentation implements TypeInstrumentation {
|
||||||
@Override
|
@Override
|
||||||
public ElementMatcher<TypeDescription> typeMatcher() {
|
public ElementMatcher<TypeDescription> typeMatcher() {
|
||||||
return implementsInterface(named("org.springframework.scheduling.TaskScheduler"));
|
// we're only instrumenting the "real" scheduler implementations, and skipping all the decorator
|
||||||
|
// impls
|
||||||
|
return namedOneOf(
|
||||||
|
"org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler",
|
||||||
|
"org.springframework.scheduling.concurrent.ConcurrentTaskScheduler",
|
||||||
|
"org.springframework.scheduling.commonj.TimerManagerTaskScheduler");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue