From 8544cf7e38333e05217ceb51d91e2aa11c7f8222 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Thu, 19 Mar 2020 18:57:52 -0700 Subject: [PATCH] Better span names for redis (#239) --- .../jedis/JedisInstrumentation.java | 2 +- .../src/test/groovy/JedisClientTest.groovy | 10 ++--- .../jedis30/JedisInstrumentation.java | 10 +++-- .../src/test/groovy/Jedis30ClientTest.groovy | 10 ++--- .../lettuce/ConnectionFutureAdvice.java | 2 +- .../lettuce/LettuceAsyncCommandsAdvice.java | 7 +++- .../lettuce/LettuceClientDecorator.java | 16 -------- .../lettuce/LettuceInstrumentationUtil.java | 32 ---------------- .../rx/LettuceFluxTerminationRunnable.java | 8 +++- .../lettuce/rx/LettuceMonoDualConsumer.java | 8 +++- .../test/groovy/LettuceAsyncClientTest.groovy | 37 ++++++------------- .../groovy/LettuceReactiveClientTest.groovy | 25 ++++--------- .../test/groovy/LettuceSyncClientTest.groovy | 34 ++++++----------- 13 files changed, 66 insertions(+), 135 deletions(-) diff --git a/instrumentation/jedis/jedis-1.4/src/main/java/io/opentelemetry/auto/instrumentation/jedis/JedisInstrumentation.java b/instrumentation/jedis/jedis-1.4/src/main/java/io/opentelemetry/auto/instrumentation/jedis/JedisInstrumentation.java index 8caee4ee86..7152826c9c 100644 --- a/instrumentation/jedis/jedis-1.4/src/main/java/io/opentelemetry/auto/instrumentation/jedis/JedisInstrumentation.java +++ b/instrumentation/jedis/jedis-1.4/src/main/java/io/opentelemetry/auto/instrumentation/jedis/JedisInstrumentation.java @@ -77,7 +77,7 @@ public final class JedisInstrumentation extends Instrumenter.Default { @Advice.OnMethodEnter(suppress = Throwable.class) public static SpanWithScope onEnter(@Advice.Argument(1) final Command command) { - final Span span = TRACER.spanBuilder("redis.query").setSpanKind(CLIENT).startSpan(); + final Span span = TRACER.spanBuilder(command.name()).setSpanKind(CLIENT).startSpan(); DECORATE.afterStart(span); DECORATE.onStatement(span, command.name()); return new SpanWithScope(span, TRACER.withSpan(span)); diff --git a/instrumentation/jedis/jedis-1.4/src/test/groovy/JedisClientTest.groovy b/instrumentation/jedis/jedis-1.4/src/test/groovy/JedisClientTest.groovy index 2b147d5f33..66a6331a67 100644 --- a/instrumentation/jedis/jedis-1.4/src/test/groovy/JedisClientTest.groovy +++ b/instrumentation/jedis/jedis-1.4/src/test/groovy/JedisClientTest.groovy @@ -68,7 +68,7 @@ class JedisClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "SET" spanKind CLIENT tags { "$MoreTags.SERVICE_NAME" "redis" @@ -93,7 +93,7 @@ class JedisClientTest extends AgentTestRunner { assertTraces(2) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "SET" spanKind CLIENT tags { "$MoreTags.SERVICE_NAME" "redis" @@ -106,7 +106,7 @@ class JedisClientTest extends AgentTestRunner { } trace(1, 1) { span(0) { - operationName "redis.query" + operationName "GET" spanKind CLIENT tags { "$MoreTags.SERVICE_NAME" "redis" @@ -131,7 +131,7 @@ class JedisClientTest extends AgentTestRunner { assertTraces(2) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "SET" spanKind CLIENT tags { "$MoreTags.SERVICE_NAME" "redis" @@ -144,7 +144,7 @@ class JedisClientTest extends AgentTestRunner { } trace(1, 1) { span(0) { - operationName "redis.query" + operationName "RANDOMKEY" spanKind CLIENT tags { "$MoreTags.SERVICE_NAME" "redis" diff --git a/instrumentation/jedis/jedis-3.0/src/main/java/io/opentelemetry/auto/instrumentation/jedis30/JedisInstrumentation.java b/instrumentation/jedis/jedis-3.0/src/main/java/io/opentelemetry/auto/instrumentation/jedis30/JedisInstrumentation.java index 2748ae3bc5..5647602657 100644 --- a/instrumentation/jedis/jedis-3.0/src/main/java/io/opentelemetry/auto/instrumentation/jedis30/JedisInstrumentation.java +++ b/instrumentation/jedis/jedis-3.0/src/main/java/io/opentelemetry/auto/instrumentation/jedis30/JedisInstrumentation.java @@ -71,15 +71,17 @@ public final class JedisInstrumentation extends Instrumenter.Default { @Advice.OnMethodEnter(suppress = Throwable.class) public static SpanWithScope onEnter(@Advice.Argument(1) final ProtocolCommand command) { - final Span span = TRACER.spanBuilder("redis.query").setSpanKind(CLIENT).startSpan(); - DECORATE.afterStart(span); + final String query; if (command instanceof Protocol.Command) { - DECORATE.onStatement(span, ((Protocol.Command) command).name()); + query = ((Protocol.Command) command).name(); } else { // Protocol.Command is the only implementation in the Jedis lib as of 3.1 but this will save // us if that changes - DECORATE.onStatement(span, new String(command.getRaw(), StandardCharsets.UTF_8)); + query = new String(command.getRaw(), StandardCharsets.UTF_8); } + final Span span = TRACER.spanBuilder(query).setSpanKind(CLIENT).startSpan(); + DECORATE.afterStart(span); + DECORATE.onStatement(span, query); return new SpanWithScope(span, TRACER.withSpan(span)); } diff --git a/instrumentation/jedis/jedis-3.0/src/test/groovy/Jedis30ClientTest.groovy b/instrumentation/jedis/jedis-3.0/src/test/groovy/Jedis30ClientTest.groovy index bc6bd632db..0eca1283d1 100644 --- a/instrumentation/jedis/jedis-3.0/src/test/groovy/Jedis30ClientTest.groovy +++ b/instrumentation/jedis/jedis-3.0/src/test/groovy/Jedis30ClientTest.groovy @@ -68,7 +68,7 @@ class Jedis30ClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "SET" spanKind CLIENT tags { "$MoreTags.SERVICE_NAME" "redis" @@ -93,7 +93,7 @@ class Jedis30ClientTest extends AgentTestRunner { assertTraces(2) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "SET" spanKind CLIENT tags { "$MoreTags.SERVICE_NAME" "redis" @@ -106,7 +106,7 @@ class Jedis30ClientTest extends AgentTestRunner { } trace(1, 1) { span(0) { - operationName "redis.query" + operationName "GET" spanKind CLIENT tags { "$MoreTags.SERVICE_NAME" "redis" @@ -131,7 +131,7 @@ class Jedis30ClientTest extends AgentTestRunner { assertTraces(2) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "SET" spanKind CLIENT tags { "$MoreTags.SERVICE_NAME" "redis" @@ -144,7 +144,7 @@ class Jedis30ClientTest extends AgentTestRunner { } trace(1, 1) { span(0) { - operationName "redis.query" + operationName "RANDOMKEY" spanKind CLIENT tags { "$MoreTags.SERVICE_NAME" "redis" diff --git a/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/ConnectionFutureAdvice.java b/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/ConnectionFutureAdvice.java index cabf6d23a8..cb6be15fef 100644 --- a/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/ConnectionFutureAdvice.java +++ b/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/ConnectionFutureAdvice.java @@ -29,7 +29,7 @@ public class ConnectionFutureAdvice { @Advice.OnMethodEnter(suppress = Throwable.class) public static SpanWithScope onEnter(@Advice.Argument(1) final RedisURI redisURI) { - final Span span = TRACER.spanBuilder("redis.query").setSpanKind(CLIENT).startSpan(); + final Span span = TRACER.spanBuilder("CONNECT").setSpanKind(CLIENT).startSpan(); DECORATE.afterStart(span); DECORATE.onConnection(span, redisURI); return new SpanWithScope(span, TRACER.withSpan(span)); diff --git a/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/LettuceAsyncCommandsAdvice.java b/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/LettuceAsyncCommandsAdvice.java index a69da50f32..738f58217f 100644 --- a/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/LettuceAsyncCommandsAdvice.java +++ b/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/LettuceAsyncCommandsAdvice.java @@ -31,9 +31,12 @@ public class LettuceAsyncCommandsAdvice { @Advice.OnMethodEnter(suppress = Throwable.class) public static SpanWithScope onEnter(@Advice.Argument(0) final RedisCommand command) { - final Span span = TRACER.spanBuilder("redis.query").setSpanKind(CLIENT).startSpan(); + final Span span = + TRACER + .spanBuilder(LettuceInstrumentationUtil.getCommandName(command)) + .setSpanKind(CLIENT) + .startSpan(); DECORATE.afterStart(span); - DECORATE.onCommand(span, command); return new SpanWithScope(span, TRACER.withSpan(span)); } diff --git a/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/LettuceClientDecorator.java b/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/LettuceClientDecorator.java index d191045d39..5b38393722 100644 --- a/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/LettuceClientDecorator.java +++ b/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/LettuceClientDecorator.java @@ -16,7 +16,6 @@ package io.opentelemetry.auto.instrumentation.lettuce; import io.lettuce.core.RedisURI; -import io.lettuce.core.protocol.RedisCommand; import io.opentelemetry.OpenTelemetry; import io.opentelemetry.auto.bootstrap.instrumentation.decorator.DatabaseClientDecorator; import io.opentelemetry.auto.instrumentation.api.MoreTags; @@ -67,22 +66,7 @@ public class LettuceClientDecorator extends DatabaseClientDecorator { span.setAttribute(MoreTags.NET_PEER_PORT, connection.getPort()); span.setAttribute("db.redis.dbIndex", connection.getDatabase()); - span.setAttribute( - MoreTags.RESOURCE_NAME, - "CONNECT:" - + connection.getHost() - + ":" - + connection.getPort() - + "/" - + connection.getDatabase()); } return super.onConnection(span, connection); } - - public Span onCommand(final Span span, final RedisCommand command) { - final String commandName = LettuceInstrumentationUtil.getCommandName(command); - span.setAttribute( - MoreTags.RESOURCE_NAME, LettuceInstrumentationUtil.getCommandResourceName(commandName)); - return span; - } } diff --git a/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/LettuceInstrumentationUtil.java b/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/LettuceInstrumentationUtil.java index 5950d47ff0..f9cb68fccc 100644 --- a/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/LettuceInstrumentationUtil.java +++ b/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/LettuceInstrumentationUtil.java @@ -25,17 +25,9 @@ public class LettuceInstrumentationUtil { public static final String[] NON_INSTRUMENTING_COMMAND_WORDS = new String[] {"SHUTDOWN", "DEBUG", "OOM", "SEGFAULT"}; - public static final String[] AGENT_CRASHING_COMMANDS_WORDS = - new String[] {"CLIENT", "CLUSTER", "COMMAND", "CONFIG", "DEBUG", "SCRIPT"}; - - public static final String AGENT_CRASHING_COMMAND_PREFIX = "COMMAND-NAME:"; - public static final Set nonInstrumentingCommands = new HashSet<>(Arrays.asList(NON_INSTRUMENTING_COMMAND_WORDS)); - public static final Set agentCrashingCommands = - new HashSet<>(Arrays.asList(AGENT_CRASHING_COMMANDS_WORDS)); - /** * Determines whether a redis command should finish its relevant span early (as soon as tags are * added and the command is executed) because these commands have no return values/call backs, so @@ -49,30 +41,6 @@ public class LettuceInstrumentationUtil { return nonInstrumentingCommands.contains(commandName); } - // Workaround to keep trace agent from crashing - // Currently the commands in AGENT_CRASHING_COMMANDS_WORDS will crash the trace agent and - // traces with these commands as the resource name will not be processed by the trace agent - // https://github.com/DataDog/datadog-trace-agent/blob/master/quantizer/redis.go#L18 has - // list of commands that will currently fail at the trace agent level. - - /** - * Workaround to keep trace agent from crashing Currently the commands in - * AGENT_CRASHING_COMMANDS_WORDS will crash the trace agent and traces with these commands as the - * resource name will not be processed by the trace agent - * https://github.com/DataDog/datadog-trace-agent/blob/master/quantizer/redis.go#L18 has list of - * commands that will currently fail at the trace agent level. - * - * @param actualCommandName the actual redis command - * @return the redis command with a prefix if it is a command that will crash the trace agent, - * otherwise, the original command is returned. - */ - public static String getCommandResourceName(final String actualCommandName) { - if (agentCrashingCommands.contains(actualCommandName)) { - return AGENT_CRASHING_COMMAND_PREFIX + actualCommandName; - } - return actualCommandName; - } - /** * Retrieves the actual redis command name from a RedisCommand object * diff --git a/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/rx/LettuceFluxTerminationRunnable.java b/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/rx/LettuceFluxTerminationRunnable.java index 0a44bbc5b2..5da7070177 100644 --- a/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/rx/LettuceFluxTerminationRunnable.java +++ b/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/rx/LettuceFluxTerminationRunnable.java @@ -20,6 +20,7 @@ import static io.opentelemetry.auto.instrumentation.lettuce.LettuceClientDecorat import static io.opentelemetry.trace.Span.Kind.CLIENT; import io.lettuce.core.protocol.RedisCommand; +import io.opentelemetry.auto.instrumentation.lettuce.LettuceInstrumentationUtil; import io.opentelemetry.trace.Span; import java.util.function.Consumer; import org.reactivestreams.Subscription; @@ -99,10 +100,13 @@ public class LettuceFluxTerminationRunnable implements Consumer, Runnabl @Override public void accept(final Subscription subscription) { - final Span span = TRACER.spanBuilder("redis.query").setSpanKind(CLIENT).startSpan(); + final Span span = + TRACER + .spanBuilder(LettuceInstrumentationUtil.getCommandName(command)) + .setSpanKind(CLIENT) + .startSpan(); owner.span = span; DECORATE.afterStart(span); - DECORATE.onCommand(span, command); if (finishSpanOnClose) { DECORATE.beforeFinish(span); span.end(); diff --git a/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/rx/LettuceMonoDualConsumer.java b/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/rx/LettuceMonoDualConsumer.java index 7ea7537671..4ade06645a 100644 --- a/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/rx/LettuceMonoDualConsumer.java +++ b/instrumentation/lettuce-5.0/src/main/java8/io/opentelemetry/auto/instrumentation/lettuce/rx/LettuceMonoDualConsumer.java @@ -20,6 +20,7 @@ import static io.opentelemetry.auto.instrumentation.lettuce.LettuceClientDecorat import static io.opentelemetry.trace.Span.Kind.CLIENT; import io.lettuce.core.protocol.RedisCommand; +import io.opentelemetry.auto.instrumentation.lettuce.LettuceInstrumentationUtil; import io.opentelemetry.trace.Span; import java.util.function.BiConsumer; import java.util.function.Consumer; @@ -40,9 +41,12 @@ public class LettuceMonoDualConsumer @Override public void accept(final R r) { - span = TRACER.spanBuilder("redis.query").setSpanKind(CLIENT).startSpan(); + span = + TRACER + .spanBuilder(LettuceInstrumentationUtil.getCommandName(command)) + .setSpanKind(CLIENT) + .startSpan(); DECORATE.afterStart(span); - DECORATE.onCommand(span, command); if (finishSpanOnClose) { span.end(); } diff --git a/instrumentation/lettuce-5.0/src/test/groovy/LettuceAsyncClientTest.groovy b/instrumentation/lettuce-5.0/src/test/groovy/LettuceAsyncClientTest.groovy index 9c08b2673f..1d2069cd6d 100644 --- a/instrumentation/lettuce-5.0/src/test/groovy/LettuceAsyncClientTest.groovy +++ b/instrumentation/lettuce-5.0/src/test/groovy/LettuceAsyncClientTest.groovy @@ -41,7 +41,6 @@ import java.util.function.BiFunction import java.util.function.Consumer import java.util.function.Function -import static io.opentelemetry.auto.instrumentation.lettuce.LettuceInstrumentationUtil.AGENT_CRASHING_COMMAND_PREFIX import static io.opentelemetry.trace.Span.Kind.CLIENT class LettuceAsyncClientTest extends AgentTestRunner { @@ -132,12 +131,11 @@ class LettuceAsyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "CONNECT" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "CONNECT:" + dbAddr "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$MoreTags.NET_PEER_NAME" HOST @@ -169,12 +167,11 @@ class LettuceAsyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "CONNECT" spanKind CLIENT errored true tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "CONNECT:" + dbAddrNonExistent "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$MoreTags.NET_PEER_NAME" HOST @@ -198,12 +195,11 @@ class LettuceAsyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "SET" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "SET" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -234,12 +230,11 @@ class LettuceAsyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "GET" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "GET" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -284,12 +279,11 @@ class LettuceAsyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "GET" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "GET" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -320,12 +314,11 @@ class LettuceAsyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "RANDOMKEY" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "RANDOMKEY" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -374,12 +367,11 @@ class LettuceAsyncClientTest extends AgentTestRunner { assertTraces(2) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "HMSET" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "HMSET" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -388,12 +380,11 @@ class LettuceAsyncClientTest extends AgentTestRunner { } trace(1, 1) { span(0) { - operationName "redis.query" + operationName "HGETALL" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "HGETALL" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -432,12 +423,11 @@ class LettuceAsyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "DEL" spanKind CLIENT errored true tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "DEL" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -471,12 +461,11 @@ class LettuceAsyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "SADD" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "SADD" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -495,12 +484,11 @@ class LettuceAsyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "DEBUG" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" AGENT_CRASHING_COMMAND_PREFIX + "DEBUG" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -519,12 +507,11 @@ class LettuceAsyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "SHUTDOWN" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "SHUTDOWN" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" diff --git a/instrumentation/lettuce-5.0/src/test/groovy/LettuceReactiveClientTest.groovy b/instrumentation/lettuce-5.0/src/test/groovy/LettuceReactiveClientTest.groovy index 367a545821..2c5ed5b14f 100644 --- a/instrumentation/lettuce-5.0/src/test/groovy/LettuceReactiveClientTest.groovy +++ b/instrumentation/lettuce-5.0/src/test/groovy/LettuceReactiveClientTest.groovy @@ -29,7 +29,6 @@ import spock.util.concurrent.AsyncConditions import java.util.function.Consumer -import static io.opentelemetry.auto.instrumentation.lettuce.LettuceInstrumentationUtil.AGENT_CRASHING_COMMAND_PREFIX import static io.opentelemetry.trace.Span.Kind.CLIENT class LettuceReactiveClientTest extends AgentTestRunner { @@ -105,12 +104,11 @@ class LettuceReactiveClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "SET" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "SET" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -132,12 +130,11 @@ class LettuceReactiveClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "GET" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "GET" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -167,12 +164,11 @@ class LettuceReactiveClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "GET" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "GET" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -200,12 +196,11 @@ class LettuceReactiveClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "RANDOMKEY" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "RANDOMKEY" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -223,12 +218,11 @@ class LettuceReactiveClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "COMMAND" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" AGENT_CRASHING_COMMAND_PREFIX + "COMMAND" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -247,12 +241,11 @@ class LettuceReactiveClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "COMMAND" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" AGENT_CRASHING_COMMAND_PREFIX + "COMMAND" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -284,12 +277,11 @@ class LettuceReactiveClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "DEBUG" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" AGENT_CRASHING_COMMAND_PREFIX + "DEBUG" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -307,12 +299,11 @@ class LettuceReactiveClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "SHUTDOWN" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "SHUTDOWN" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" diff --git a/instrumentation/lettuce-5.0/src/test/groovy/LettuceSyncClientTest.groovy b/instrumentation/lettuce-5.0/src/test/groovy/LettuceSyncClientTest.groovy index 5655784bd0..404bd1cc22 100644 --- a/instrumentation/lettuce-5.0/src/test/groovy/LettuceSyncClientTest.groovy +++ b/instrumentation/lettuce-5.0/src/test/groovy/LettuceSyncClientTest.groovy @@ -28,7 +28,6 @@ import spock.lang.Shared import java.util.concurrent.CompletionException -import static io.opentelemetry.auto.instrumentation.lettuce.LettuceInstrumentationUtil.AGENT_CRASHING_COMMAND_PREFIX import static io.opentelemetry.trace.Span.Kind.CLIENT class LettuceSyncClientTest extends AgentTestRunner { @@ -112,12 +111,11 @@ class LettuceSyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "CONNECT" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "CONNECT:" + dbAddr "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$MoreTags.NET_PEER_NAME" HOST @@ -146,12 +144,11 @@ class LettuceSyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "CONNECT" spanKind CLIENT errored true tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "CONNECT:" + dbAddrNonExistent "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$MoreTags.NET_PEER_NAME" HOST @@ -174,12 +171,11 @@ class LettuceSyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "SET" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "SET" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -198,12 +194,11 @@ class LettuceSyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "GET" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "GET" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -222,12 +217,11 @@ class LettuceSyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "GET" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "GET" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -246,12 +240,11 @@ class LettuceSyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "RANDOMKEY" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "RANDOMKEY" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -270,12 +263,11 @@ class LettuceSyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "LPUSH" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "LPUSH" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -294,12 +286,11 @@ class LettuceSyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "HMSET" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "HMSET" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -318,12 +309,11 @@ class LettuceSyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "HGETALL" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "HGETALL" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -341,12 +331,11 @@ class LettuceSyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "DEBUG" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" AGENT_CRASHING_COMMAND_PREFIX + "DEBUG" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis" @@ -364,12 +353,11 @@ class LettuceSyncClientTest extends AgentTestRunner { assertTraces(1) { trace(0, 1) { span(0) { - operationName "redis.query" + operationName "SHUTDOWN" spanKind CLIENT errored false tags { "$MoreTags.SERVICE_NAME" "redis" - "$MoreTags.RESOURCE_NAME" "SHUTDOWN" "$MoreTags.SPAN_TYPE" SpanTypes.REDIS "$Tags.COMPONENT" "redis-client" "$Tags.DB_TYPE" "redis"