diff --git a/dd-java-agent/instrumentation/java/java-concurrent/java-concurrent-1.8/src/main/java/datadog/trace/instrumentation/java/concurrent/AsyncPropagatingDisableInstrumentation.java b/dd-java-agent/instrumentation/java/java-concurrent/java-concurrent-1.8/src/main/java/datadog/trace/instrumentation/java/concurrent/AsyncPropagatingDisableInstrumentation.java index 85598459f26..05d3c3f751b 100644 --- a/dd-java-agent/instrumentation/java/java-concurrent/java-concurrent-1.8/src/main/java/datadog/trace/instrumentation/java/concurrent/AsyncPropagatingDisableInstrumentation.java +++ b/dd-java-agent/instrumentation/java/java-concurrent/java-concurrent-1.8/src/main/java/datadog/trace/instrumentation/java/concurrent/AsyncPropagatingDisableInstrumentation.java @@ -49,6 +49,8 @@ public AsyncPropagatingDisableInstrumentation() { named("io.reactivex.internal.schedulers.AbstractDirectTask"); private static final ElementMatcher JAVA_HTTP_CLIENT = extendsClass(named("java.net.http.HttpClient")); + private static final String LETTUCE_HANDSHAKE_HANDLER = + "io.lettuce.core.protocol.RedisHandshakeHandler"; @Override public boolean onlyMatchKnownTypes() { @@ -83,7 +85,8 @@ public String[] knownMatchingTypes() { "org.apache.activemq.broker.TransactionBroker", "com.mongodb.internal.connection.DefaultConnectionPool$AsyncWorkManager", "io.reactivex.internal.schedulers.AbstractDirectTask", - "jdk.internal.net.http.HttpClientImpl" + "jdk.internal.net.http.HttpClientImpl", + LETTUCE_HANDSHAKE_HANDLER }; } @@ -185,6 +188,8 @@ public void methodAdvice(MethodTransformer transformer) { transformer.applyAdvice( isTypeInitializer().and(isDeclaredBy(RXJAVA2_DISABLED_TYPE_INITIALIZERS)), advice); transformer.applyAdvice(namedOneOf("sendAsync").and(isDeclaredBy(JAVA_HTTP_CLIENT)), advice); + transformer.applyAdvice( + named("channelRegistered").and(isDeclaredBy(named(LETTUCE_HANDSHAKE_HANDLER))), advice); } public static class DisableAsyncAdvice { diff --git a/dd-java-agent/instrumentation/lettuce/lettuce-5.0/src/test/groovy/Lettuce5ClientTestBase.groovy b/dd-java-agent/instrumentation/lettuce/lettuce-5.0/src/test/groovy/Lettuce5ClientTestBase.groovy index b38c142cede..9749dbdfb0f 100644 --- a/dd-java-agent/instrumentation/lettuce/lettuce-5.0/src/test/groovy/Lettuce5ClientTestBase.groovy +++ b/dd-java-agent/instrumentation/lettuce/lettuce-5.0/src/test/groovy/Lettuce5ClientTestBase.groovy @@ -42,13 +42,6 @@ abstract class Lettuce5ClientTestBase extends VersionedNamingTestBase { RedisAsyncCommands asyncCommands RedisCommands syncCommands - @Override - boolean useStrictTraceWrites() { - // latest seems leaking continuations that terminates later hence the strict trace will discard our spans. - !isLatestDepTest - } - - def setup() { redisServer.start() println "Using redis: $redisServer.redisURI"