diff --git a/instrumentation/mongo/mongo-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_1/MongoClientInstrumentationModule.java b/instrumentation/mongo/mongo-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_1/MongoClientInstrumentationModule.java index d027261f1d..297dc69a4d 100644 --- a/instrumentation/mongo/mongo-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_1/MongoClientInstrumentationModule.java +++ b/instrumentation/mongo/mongo-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_1/MongoClientInstrumentationModule.java @@ -66,7 +66,7 @@ public class MongoClientInstrumentationModule extends InstrumentationModule { @Advice.This MongoClientOptions.Builder builder, @Advice.FieldValue("commandListeners") List commandListeners) { for (CommandListener commandListener : commandListeners) { - if (commandListener == MongoInstrumentationSingletons.LISTENER) { + if (MongoInstrumentationSingletons.isTracingListener(commandListener)) { return; } } diff --git a/instrumentation/mongo/mongo-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_1/MongoInstrumentationSingletons.java b/instrumentation/mongo/mongo-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_1/MongoInstrumentationSingletons.java index d17068b3e9..522efa3241 100644 --- a/instrumentation/mongo/mongo-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_1/MongoInstrumentationSingletons.java +++ b/instrumentation/mongo/mongo-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_1/MongoInstrumentationSingletons.java @@ -14,5 +14,9 @@ public final class MongoInstrumentationSingletons { public static final CommandListener LISTENER = MongoTelemetry.create(GlobalOpenTelemetry.get()).newCommandListener(); + public static boolean isTracingListener(CommandListener listener) { + return listener.getClass().getName().equals(LISTENER.getClass().getName()); + } + private MongoInstrumentationSingletons() {} } diff --git a/instrumentation/mongo/mongo-3.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_7/MongoClientSettingsBuilderInstrumentation.java b/instrumentation/mongo/mongo-3.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_7/MongoClientSettingsBuilderInstrumentation.java index 82fac89822..24f77675b4 100644 --- a/instrumentation/mongo/mongo-3.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_7/MongoClientSettingsBuilderInstrumentation.java +++ b/instrumentation/mongo/mongo-3.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_7/MongoClientSettingsBuilderInstrumentation.java @@ -49,7 +49,7 @@ final class MongoClientSettingsBuilderInstrumentation implements TypeInstrumenta @Advice.This MongoClientSettings.Builder builder, @Advice.FieldValue("commandListeners") List commandListeners) { for (CommandListener commandListener : commandListeners) { - if (commandListener == MongoInstrumentationSingletons.LISTENER) { + if (MongoInstrumentationSingletons.isTracingListener(commandListener)) { return; } } diff --git a/instrumentation/mongo/mongo-3.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_7/MongoInstrumentationSingletons.java b/instrumentation/mongo/mongo-3.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_7/MongoInstrumentationSingletons.java index 7ed8dbed98..839998e4b4 100644 --- a/instrumentation/mongo/mongo-3.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_7/MongoInstrumentationSingletons.java +++ b/instrumentation/mongo/mongo-3.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v3_7/MongoInstrumentationSingletons.java @@ -14,5 +14,9 @@ public final class MongoInstrumentationSingletons { public static final CommandListener LISTENER = MongoTelemetry.create(GlobalOpenTelemetry.get()).newCommandListener(); + public static boolean isTracingListener(CommandListener listener) { + return listener.getClass().getName().equals(LISTENER.getClass().getName()); + } + private MongoInstrumentationSingletons() {} } diff --git a/instrumentation/mongo/mongo-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/MongoClientSettingsBuilderInstrumentation.java b/instrumentation/mongo/mongo-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/MongoClientSettingsBuilderInstrumentation.java index 6060031bd9..065b342392 100644 --- a/instrumentation/mongo/mongo-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/MongoClientSettingsBuilderInstrumentation.java +++ b/instrumentation/mongo/mongo-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/MongoClientSettingsBuilderInstrumentation.java @@ -49,7 +49,7 @@ final class MongoClientSettingsBuilderInstrumentation implements TypeInstrumenta @Advice.This MongoClientSettings.Builder builder, @Advice.FieldValue("commandListeners") List commandListeners) { for (CommandListener commandListener : commandListeners) { - if (commandListener == MongoInstrumentationSingletons.LISTENER) { + if (MongoInstrumentationSingletons.isTracingListener(commandListener)) { return; } } diff --git a/instrumentation/mongo/mongo-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/MongoInstrumentationSingletons.java b/instrumentation/mongo/mongo-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/MongoInstrumentationSingletons.java index 47195e2de1..058bf53cb0 100644 --- a/instrumentation/mongo/mongo-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/MongoInstrumentationSingletons.java +++ b/instrumentation/mongo/mongo-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/MongoInstrumentationSingletons.java @@ -14,5 +14,9 @@ public final class MongoInstrumentationSingletons { public static final CommandListener LISTENER = MongoTelemetry.create(GlobalOpenTelemetry.get()).newCommandListener(); + public static boolean isTracingListener(CommandListener listener) { + return listener.getClass().getName().equals(LISTENER.getClass().getName()); + } + private MongoInstrumentationSingletons() {} } diff --git a/instrumentation/mongo/mongo-async-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongoasync/v3_3/MongoClientSettingsBuildersInstrumentation.java b/instrumentation/mongo/mongo-async-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongoasync/v3_3/MongoClientSettingsBuildersInstrumentation.java index 2a82fd93b4..81f23d16cf 100644 --- a/instrumentation/mongo/mongo-async-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongoasync/v3_3/MongoClientSettingsBuildersInstrumentation.java +++ b/instrumentation/mongo/mongo-async-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongoasync/v3_3/MongoClientSettingsBuildersInstrumentation.java @@ -51,7 +51,7 @@ final class MongoClientSettingsBuildersInstrumentation implements TypeInstrument @Advice.This MongoClientSettings.Builder builder, @Advice.FieldValue("commandListeners") List commandListeners) { for (CommandListener commandListener : commandListeners) { - if (commandListener == MongoInstrumentationSingletons.LISTENER) { + if (MongoInstrumentationSingletons.isTracingListener(commandListener)) { return; } } diff --git a/instrumentation/mongo/mongo-async-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongoasync/v3_3/MongoInstrumentationSingletons.java b/instrumentation/mongo/mongo-async-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongoasync/v3_3/MongoInstrumentationSingletons.java index 388d8d776f..7ccd25635c 100644 --- a/instrumentation/mongo/mongo-async-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongoasync/v3_3/MongoInstrumentationSingletons.java +++ b/instrumentation/mongo/mongo-async-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongoasync/v3_3/MongoInstrumentationSingletons.java @@ -14,5 +14,9 @@ public final class MongoInstrumentationSingletons { public static final CommandListener LISTENER = MongoTelemetry.create(GlobalOpenTelemetry.get()).newCommandListener(); + public static boolean isTracingListener(CommandListener listener) { + return listener.getClass().getName().equals(LISTENER.getClass().getName()); + } + private MongoInstrumentationSingletons() {} }