diff --git a/dd-java-agent/instrumentation/rediscala/rediscala.gradle b/dd-java-agent/instrumentation/rediscala-1.8.1/rediscala-1.8.1.gradle similarity index 100% rename from dd-java-agent/instrumentation/rediscala/rediscala.gradle rename to dd-java-agent/instrumentation/rediscala-1.8.1/rediscala-1.8.1.gradle diff --git a/dd-java-agent/instrumentation/rediscala/src/main/java/datadog/trace/instrumentation/rediscala/RediscalaClientDecorator.java b/dd-java-agent/instrumentation/rediscala-1.8.1/src/main/java/datadog/trace/instrumentation/rediscala/RediscalaClientDecorator.java similarity index 52% rename from dd-java-agent/instrumentation/rediscala/src/main/java/datadog/trace/instrumentation/rediscala/RediscalaClientDecorator.java rename to dd-java-agent/instrumentation/rediscala-1.8.1/src/main/java/datadog/trace/instrumentation/rediscala/RediscalaClientDecorator.java index 2527bb8077..dbbdd9fd2f 100644 --- a/dd-java-agent/instrumentation/rediscala/src/main/java/datadog/trace/instrumentation/rediscala/RediscalaClientDecorator.java +++ b/dd-java-agent/instrumentation/rediscala-1.8.1/src/main/java/datadog/trace/instrumentation/rediscala/RediscalaClientDecorator.java @@ -1,10 +1,16 @@ package datadog.trace.instrumentation.rediscala; -import datadog.trace.agent.decorator.DatabaseClientDecorator; import datadog.trace.api.DDSpanTypes; +import datadog.trace.bootstrap.instrumentation.decorator.DatabaseClientDecorator; import redis.RedisCommand; +import redis.protocol.RedisReply; + +public class RediscalaClientDecorator + extends DatabaseClientDecorator> { + + private static final String SERVICE_NAME = "redis"; + private static final String COMPONENT_NAME = SERVICE_NAME + "-command"; -public class RediscalaClientDecorator extends DatabaseClientDecorator { public static final RediscalaClientDecorator DECORATE = new RediscalaClientDecorator(); @Override @@ -14,12 +20,12 @@ public class RediscalaClientDecorator extends DatabaseClientDecorator session) { return null; } @Override - protected String dbInstance(final RedisCommand session) { + protected String dbInstance(final RedisCommand session) { return null; } } diff --git a/dd-java-agent/instrumentation/rediscala/src/main/java/datadog/trace/instrumentation/rediscala/RediscalaInstrumentation.java b/dd-java-agent/instrumentation/rediscala-1.8.1/src/main/java/datadog/trace/instrumentation/rediscala/RediscalaInstrumentation.java similarity index 84% rename from dd-java-agent/instrumentation/rediscala/src/main/java/datadog/trace/instrumentation/rediscala/RediscalaInstrumentation.java rename to dd-java-agent/instrumentation/rediscala-1.8.1/src/main/java/datadog/trace/instrumentation/rediscala/RediscalaInstrumentation.java index 0b26629792..ba0f40f56e 100644 --- a/dd-java-agent/instrumentation/rediscala/src/main/java/datadog/trace/instrumentation/rediscala/RediscalaInstrumentation.java +++ b/dd-java-agent/instrumentation/rediscala-1.8.1/src/main/java/datadog/trace/instrumentation/rediscala/RediscalaInstrumentation.java @@ -1,9 +1,9 @@ package datadog.trace.instrumentation.rediscala; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; -import static datadog.trace.instrumentation.api.AgentTracer.activateSpan; -import static datadog.trace.instrumentation.api.AgentTracer.activeScope; -import static datadog.trace.instrumentation.api.AgentTracer.startSpan; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasSuperType; +import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; +import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeScope; +import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.rediscala.RediscalaClientDecorator.DECORATE; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -14,9 +14,9 @@ import static net.bytebuddy.matcher.ElementMatchers.takesArgument; import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.Instrumenter; +import datadog.trace.bootstrap.instrumentation.api.AgentScope; +import datadog.trace.bootstrap.instrumentation.api.AgentSpan; import datadog.trace.context.TraceScope; -import datadog.trace.instrumentation.api.AgentScope; -import datadog.trace.instrumentation.api.AgentSpan; import java.util.Map; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.method.MethodDescription; @@ -31,9 +31,6 @@ import scala.util.Try; @AutoService(Instrumenter.class) public final class RediscalaInstrumentation extends Instrumenter.Default { - private static final String SERVICE_NAME = "redis"; - private static final String COMPONENT_NAME = SERVICE_NAME + "-command"; - public RediscalaInstrumentation() { super("rediscala", "redis"); } @@ -50,9 +47,9 @@ public final class RediscalaInstrumentation extends Instrumenter.Default { public String[] helperClassNames() { return new String[] { RediscalaInstrumentation.class.getName() + "$OnCompleteHandler", - "datadog.trace.agent.decorator.BaseDecorator", - "datadog.trace.agent.decorator.ClientDecorator", - "datadog.trace.agent.decorator.DatabaseClientDecorator", + "datadog.trace.bootstrap.instrumentation.decorator.BaseDecorator", + "datadog.trace.bootstrap.instrumentation.decorator.ClientDecorator", + "datadog.trace.bootstrap.instrumentation.decorator.DatabaseClientDecorator", packageName + ".RediscalaClientDecorator", }; } diff --git a/dd-java-agent/instrumentation/rediscala/src/test/groovy/RediscalaClientTest.groovy b/dd-java-agent/instrumentation/rediscala-1.8.1/src/test/groovy/RediscalaClientTest.groovy similarity index 94% rename from dd-java-agent/instrumentation/rediscala/src/test/groovy/RediscalaClientTest.groovy rename to dd-java-agent/instrumentation/rediscala-1.8.1/src/test/groovy/RediscalaClientTest.groovy index 76f8e02d87..14e35138e6 100644 --- a/dd-java-agent/instrumentation/rediscala/src/test/groovy/RediscalaClientTest.groovy +++ b/dd-java-agent/instrumentation/rediscala-1.8.1/src/test/groovy/RediscalaClientTest.groovy @@ -1,8 +1,9 @@ import akka.actor.ActorSystem import datadog.trace.agent.test.AgentTestRunner +import datadog.trace.agent.test.utils.PortUtils import datadog.trace.api.Config import datadog.trace.api.DDSpanTypes -import datadog.trace.instrumentation.api.Tags +import datadog.trace.bootstrap.instrumentation.api.Tags import redis.ByteStringSerializerLowPriority import redis.ByteStringDeserializerDefault import redis.RedisClient @@ -15,7 +16,8 @@ import spock.lang.Shared class RediscalaClientTest extends AgentTestRunner { - public static final int PORT = 6399 + @Shared + int port = PortUtils.randomOpenPort() @Shared RedisServer redisServer = RedisServer.builder() @@ -23,7 +25,7 @@ class RediscalaClientTest extends AgentTestRunner { .setting("bind 127.0.0.1") // set max memory to avoid problems in CI .setting("maxmemory 128M") - .port(PORT).build() + .port(port).build() @Shared ActorSystem system @@ -34,7 +36,7 @@ class RediscalaClientTest extends AgentTestRunner { def setupSpec() { system = ActorSystem.create() redisClient = new RedisClient("localhost", - PORT, + port, Option.apply(null), Option.apply(null), "RedisClient", @@ -81,8 +83,8 @@ class RediscalaClientTest extends AgentTestRunner { spanType DDSpanTypes.REDIS tags { "$Tags.COMPONENT" "redis-command" - "$Tags.DB_TYPE" "redis" "$Tags.SPAN_KIND" Tags.SPAN_KIND_CLIENT + "$Tags.DB_TYPE" "redis" defaultTags() } } @@ -113,8 +115,8 @@ class RediscalaClientTest extends AgentTestRunner { spanType DDSpanTypes.REDIS tags { "$Tags.COMPONENT" "redis-command" - "$Tags.DB_TYPE" "redis" "$Tags.SPAN_KIND" Tags.SPAN_KIND_CLIENT + "$Tags.DB_TYPE" "redis" defaultTags() } } @@ -127,8 +129,8 @@ class RediscalaClientTest extends AgentTestRunner { spanType DDSpanTypes.REDIS tags { "$Tags.COMPONENT" "redis-command" - "$Tags.DB_TYPE" "redis" "$Tags.SPAN_KIND" Tags.SPAN_KIND_CLIENT + "$Tags.DB_TYPE" "redis" defaultTags() } } diff --git a/settings.gradle b/settings.gradle index ae7065dc43..3bc749fd56 100644 --- a/settings.gradle +++ b/settings.gradle @@ -126,7 +126,7 @@ include ':dd-java-agent:instrumentation:play-ws-2' include ':dd-java-agent:instrumentation:play-ws-2.1' include ':dd-java-agent:instrumentation:rabbitmq-amqp-2.7' include ':dd-java-agent:instrumentation:ratpack-1.4' -include ':dd-java-agent:instrumentation:rediscala' +include ':dd-java-agent:instrumentation:rediscala-1.8.1' include ':dd-java-agent:instrumentation:reactor-core-3.1' include ':dd-java-agent:instrumentation:rmi' include ':dd-java-agent:instrumentation:rxjava-1'