diff --git a/dd-java-agent/instrumentation/kafka/kafka-clients-3.8/src/main/java/datadog/trace/instrumentation/kafka_clients38/KafkaConsumerInfoInstrumentation.java b/dd-java-agent/instrumentation/kafka/kafka-clients-3.8/src/main/java/datadog/trace/instrumentation/kafka_clients38/KafkaConsumerInfoInstrumentation.java index 2df7a897765..13dd0c93e6e 100644 --- a/dd-java-agent/instrumentation/kafka/kafka-clients-3.8/src/main/java/datadog/trace/instrumentation/kafka_clients38/KafkaConsumerInfoInstrumentation.java +++ b/dd-java-agent/instrumentation/kafka/kafka-clients-3.8/src/main/java/datadog/trace/instrumentation/kafka_clients38/KafkaConsumerInfoInstrumentation.java @@ -25,7 +25,9 @@ */ @AutoService(InstrumenterModule.class) public final class KafkaConsumerInfoInstrumentation extends InstrumenterModule.Tracing - implements Instrumenter.ForTypeHierarchy, Instrumenter.HasMethodAdvice { + implements Instrumenter.ForTypeHierarchy, + Instrumenter.HasMethodAdvice, + Instrumenter.WithTypeStructure { public KafkaConsumerInfoInstrumentation() { super("kafka", "kafka-3.8"); @@ -60,8 +62,12 @@ public String hierarchyMarkerType() { @Override public ElementMatcher hierarchyMatcher() { - return implementsInterface(named(hierarchyMarkerType())) - .and(declaresField(named("offsetCommitCallbackInvoker"))); + return implementsInterface(named(hierarchyMarkerType())); + } + + @Override + public ElementMatcher structureMatcher() { + return declaresField(named("offsetCommitCallbackInvoker")); } @Override diff --git a/dd-java-agent/instrumentation/kafka/kafka-clients-3.8/src/main/java/datadog/trace/instrumentation/kafka_clients38/LegacyKafkaConsumerInfoInstrumentation.java b/dd-java-agent/instrumentation/kafka/kafka-clients-3.8/src/main/java/datadog/trace/instrumentation/kafka_clients38/LegacyKafkaConsumerInfoInstrumentation.java index 39ff5fafb6c..908baf990a6 100644 --- a/dd-java-agent/instrumentation/kafka/kafka-clients-3.8/src/main/java/datadog/trace/instrumentation/kafka_clients38/LegacyKafkaConsumerInfoInstrumentation.java +++ b/dd-java-agent/instrumentation/kafka/kafka-clients-3.8/src/main/java/datadog/trace/instrumentation/kafka_clients38/LegacyKafkaConsumerInfoInstrumentation.java @@ -25,7 +25,9 @@ */ @AutoService(InstrumenterModule.class) public final class LegacyKafkaConsumerInfoInstrumentation extends InstrumenterModule.Tracing - implements Instrumenter.ForTypeHierarchy, Instrumenter.HasMethodAdvice { + implements Instrumenter.ForTypeHierarchy, + Instrumenter.HasMethodAdvice, + Instrumenter.WithTypeStructure { public LegacyKafkaConsumerInfoInstrumentation() { super("kafka", "kafka-3.8"); @@ -60,8 +62,12 @@ public String hierarchyMarkerType() { // new - we are instrumenting the ConsumerDelegate class instead of the KafkaConsumer class @Override public ElementMatcher hierarchyMatcher() { - return implementsInterface(named(hierarchyMarkerType())) - .and(declaresField(named("coordinator"))); + return implementsInterface(named(hierarchyMarkerType())); + } + + @Override + public ElementMatcher structureMatcher() { + return declaresField(named("coordinator")); } @Override