From 256865146cdee043adc760c0f2b0d0159ccfdd6c Mon Sep 17 00:00:00 2001 From: dengliming Date: Wed, 2 Sep 2020 18:18:09 +0800 Subject: [PATCH] Fix redisson Nightly build (#1150) * Fix redisson Nightly build * Set a property affecting the URL when testing latest deps * Add comments * Fix review --- instrumentation/redisson-3.0/redisson-3.0.gradle | 4 ++++ .../auto/redisson/RedissonClientTracer.java | 3 +++ .../src/test/groovy/RedissonAsyncClientTest.groovy | 8 +++++++- .../src/test/groovy/RedissonClientTest.groovy | 12 +++++++++--- 4 files changed, 23 insertions(+), 4 deletions(-) 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" } } }