From 513cded8aa5d0905a75a8fe3abb4bc5dcd0587c9 Mon Sep 17 00:00:00 2001 From: Tyler Benson Date: Thu, 29 Mar 2018 12:32:50 +0800 Subject: [PATCH] =?UTF-8?q?Advice=20shouldn=E2=80=99t=20reference=20fields?= =?UTF-8?q?=20from=20non-injected=20classes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It might not be accessible on the classpath and cause failures. --- .../kafka_clients/KafkaConsumerInstrumentation.java | 13 ++++++------- .../KafkaStreamsProcessorInstrumentation.java | 7 ++----- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/dd-java-agent/instrumentation/kafka-clients-0.11/src/main/java/datadog/trace/instrumentation/kafka_clients/KafkaConsumerInstrumentation.java b/dd-java-agent/instrumentation/kafka-clients-0.11/src/main/java/datadog/trace/instrumentation/kafka_clients/KafkaConsumerInstrumentation.java index c6a43a941b..ed182f8622 100644 --- a/dd-java-agent/instrumentation/kafka-clients-0.11/src/main/java/datadog/trace/instrumentation/kafka_clients/KafkaConsumerInstrumentation.java +++ b/dd-java-agent/instrumentation/kafka-clients-0.11/src/main/java/datadog/trace/instrumentation/kafka_clients/KafkaConsumerInstrumentation.java @@ -34,10 +34,6 @@ public final class KafkaConsumerInstrumentation extends Instrumenter.Configurabl "datadog.trace.instrumentation.kafka_clients.TracingIterable$TracingIterator", "datadog.trace.instrumentation.kafka_clients.TracingIterable$SpanBuilderDecorator", "datadog.trace.instrumentation.kafka_clients.KafkaConsumerInstrumentation$ConsumeScopeAction"); - public static final ConsumeScopeAction CONSUME_ACTION = new ConsumeScopeAction(); - - private static final String OPERATION = "kafka.consume"; - private static final String COMPONENT_NAME = "java-kafka"; public KafkaConsumerInstrumentation() { super("kafka"); @@ -75,7 +71,7 @@ public final class KafkaConsumerInstrumentation extends Instrumenter.Configurabl @Advice.OnMethodExit(suppress = Throwable.class) public static void wrap(@Advice.Return(readOnly = false) Iterable iterable) { - iterable = new TracingIterable(iterable, OPERATION, CONSUME_ACTION); + iterable = new TracingIterable(iterable, "kafka.consume", ConsumeScopeAction.INSTANCE); } } @@ -83,12 +79,15 @@ public final class KafkaConsumerInstrumentation extends Instrumenter.Configurabl @Advice.OnMethodExit(suppress = Throwable.class) public static void wrap(@Advice.Return(readOnly = false) Iterator iterator) { - iterator = new TracingIterable.TracingIterator(iterator, OPERATION, CONSUME_ACTION); + iterator = + new TracingIterable.TracingIterator( + iterator, "kafka.consume", ConsumeScopeAction.INSTANCE); } } public static class ConsumeScopeAction implements TracingIterable.SpanBuilderDecorator { + public static final ConsumeScopeAction INSTANCE = new ConsumeScopeAction(); @Override public void decorate(final Tracer.SpanBuilder spanBuilder, final ConsumerRecord record) { @@ -101,7 +100,7 @@ public final class KafkaConsumerInstrumentation extends Instrumenter.Configurabl .withTag(DDTags.SERVICE_NAME, "kafka") .withTag(DDTags.RESOURCE_NAME, "Consume Topic " + topic) .withTag(DDTags.SPAN_TYPE, DDSpanTypes.MESSAGE_CONSUMER) - .withTag(Tags.COMPONENT.getKey(), COMPONENT_NAME) + .withTag(Tags.COMPONENT.getKey(), "java-kafka") .withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CONSUMER) .withTag("partition", record.partition()) .withTag("offset", record.offset()); diff --git a/dd-java-agent/instrumentation/kafka-streams-0.11/src/main/java/datadog/trace/instrumentation/kafka_streams/KafkaStreamsProcessorInstrumentation.java b/dd-java-agent/instrumentation/kafka-streams-0.11/src/main/java/datadog/trace/instrumentation/kafka_streams/KafkaStreamsProcessorInstrumentation.java index 461100deec..a60499d3bb 100644 --- a/dd-java-agent/instrumentation/kafka-streams-0.11/src/main/java/datadog/trace/instrumentation/kafka_streams/KafkaStreamsProcessorInstrumentation.java +++ b/dd-java-agent/instrumentation/kafka-streams-0.11/src/main/java/datadog/trace/instrumentation/kafka_streams/KafkaStreamsProcessorInstrumentation.java @@ -34,9 +34,6 @@ public class KafkaStreamsProcessorInstrumentation { public static final HelperInjector HELPER_INJECTOR = new HelperInjector("datadog.trace.instrumentation.kafka_streams.TextMapExtractAdapter"); - private static final String OPERATION = "kafka.consume"; - private static final String COMPONENT_NAME = "java-kafka"; - @AutoService(Instrumenter.class) public static class StartInstrumentation extends Instrumenter.Configurable { @@ -80,12 +77,12 @@ public class KafkaStreamsProcessorInstrumentation { Format.Builtin.TEXT_MAP, new TextMapExtractAdapter(record.value.headers())); GlobalTracer.get() - .buildSpan(OPERATION) + .buildSpan("kafka.consume") .asChildOf(extractedContext) .withTag(DDTags.SERVICE_NAME, "kafka") .withTag(DDTags.RESOURCE_NAME, "Consume Topic " + record.topic()) .withTag(DDTags.SPAN_TYPE, DDSpanTypes.MESSAGE_CONSUMER) - .withTag(Tags.COMPONENT.getKey(), COMPONENT_NAME) + .withTag(Tags.COMPONENT.getKey(), "java-kafka") .withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CONSUMER) .withTag("partition", record.partition()) .withTag("offset", record.offset())