diff --git a/instrumentation/redisson-3.0/redisson-3.0.gradle b/instrumentation/redisson-3.0/redisson-3.0.gradle index e2aa43e36c..d0be12c58f 100644 --- a/instrumentation/redisson-3.0/redisson-3.0.gradle +++ b/instrumentation/redisson-3.0/redisson-3.0.gradle @@ -17,3 +17,7 @@ dependencies { library group: 'org.redisson', name: 'redisson', version: '3.0.0' testImplementation group: 'com.github.kstyrc', name: 'embedded-redis', version: '0.6' } + +test { + systemProperty "testLatestDeps", testLatestDeps +} diff --git a/instrumentation/redisson-3.0/src/main/java/io/opentelemetry/instrumentation/auto/redisson/RedissonClientTracer.java b/instrumentation/redisson-3.0/src/main/java/io/opentelemetry/instrumentation/auto/redisson/RedissonClientTracer.java index 2f7d2c80b6..85e02dd8e5 100644 --- a/instrumentation/redisson-3.0/src/main/java/io/opentelemetry/instrumentation/auto/redisson/RedissonClientTracer.java +++ b/instrumentation/redisson-3.0/src/main/java/io/opentelemetry/instrumentation/auto/redisson/RedissonClientTracer.java @@ -43,6 +43,9 @@ public class RedissonClientTracer extends DatabaseClientTracer 0) { + commandStrings.deleteCharAt(commandStrings.length() - 1); + } return commandStrings.toString(); } else if (args instanceof CommandData) { return ((CommandData) args).getCommand().getName(); diff --git a/instrumentation/redisson-3.0/src/test/groovy/RedissonAsyncClientTest.groovy b/instrumentation/redisson-3.0/src/test/groovy/RedissonAsyncClientTest.groovy index ea23f88382..d6c9e18af1 100644 --- a/instrumentation/redisson-3.0/src/test/groovy/RedissonAsyncClientTest.groovy +++ b/instrumentation/redisson-3.0/src/test/groovy/RedissonAsyncClientTest.groovy @@ -42,8 +42,14 @@ class RedissonAsyncClientTest extends AgentTestRunner { .port(port).build() @Shared RedissonClient redisson + @Shared + String address = "localhost:" + port def setupSpec() { + if (Boolean.getBoolean("testLatestDeps")) { + // Newer versions of redisson require scheme, older versions forbid it + address = "redis://" + address + } println "Using redis: $redisServer.args" redisServer.start() } @@ -55,7 +61,7 @@ class RedissonAsyncClientTest extends AgentTestRunner { def setup() { Config config = new Config() - config.useSingleServer().setAddress("localhost:" + port) + config.useSingleServer().setAddress(address) redisson = Redisson.create(config) TEST_WRITER.clear() } diff --git a/instrumentation/redisson-3.0/src/test/groovy/RedissonClientTest.groovy b/instrumentation/redisson-3.0/src/test/groovy/RedissonClientTest.groovy index 67af9bbc2b..b9ac8ead35 100644 --- a/instrumentation/redisson-3.0/src/test/groovy/RedissonClientTest.groovy +++ b/instrumentation/redisson-3.0/src/test/groovy/RedissonClientTest.groovy @@ -47,8 +47,14 @@ class RedissonClientTest extends AgentTestRunner { .port(port).build() @Shared RedissonClient redisson + @Shared + String address = "localhost:" + port def setupSpec() { + if (Boolean.getBoolean("testLatestDeps")) { + // Newer versions of redisson require scheme, older versions forbid it + address = "redis://" + address + } println "Using redis: $redisServer.args" redisServer.start() } @@ -60,7 +66,7 @@ class RedissonClientTest extends AgentTestRunner { def setup() { Config config = new Config() - config.useSingleServer().setAddress("localhost:" + port) + config.useSingleServer().setAddress(address) redisson = Redisson.create(config) TEST_WRITER.clear() } @@ -113,7 +119,7 @@ class RedissonClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "SET;SET;" + operationName "SET;SET" spanKind CLIENT attributes { "${SemanticAttributes.DB_SYSTEM.key()}" "redis" @@ -121,7 +127,7 @@ class RedissonClientTest extends AgentTestRunner { "${SemanticAttributes.NET_PEER_NAME.key()}" "localhost" "${SemanticAttributes.DB_CONNECTION_STRING.key()}" "localhost:$port" "${SemanticAttributes.NET_PEER_PORT.key()}" port - "${SemanticAttributes.DB_STATEMENT.key()}" "SET;SET;" + "${SemanticAttributes.DB_STATEMENT.key()}" "SET;SET" } } }