lib/new_relic/agent/instrumentation/mongo.rb in newrelic_rpm-3.13.0.299 vs lib/new_relic/agent/instrumentation/mongo.rb in newrelic_rpm-3.13.1.300

- old
+ new

@@ -9,15 +9,30 @@ defined?(::Mongo) end depends_on do require 'new_relic/agent/datastores/mongo' + if NewRelic::Agent::Datastores::Mongo.is_unsupported_2x? + NewRelic::Agent.logger.log_once(:info, :mongo2, 'Detected unsupported Mongo 2, upgrade your Mongo Driver to 2.1 or newer for instrumentation') + end NewRelic::Agent::Datastores::Mongo.is_supported_version? end executes do NewRelic::Agent.logger.info 'Installing Mongo instrumentation' - install_mongo_instrumentation + if NewRelic::Agent::Datastores::Mongo.is_monitoring_enabled? + install_mongo_command_subscriber + else + install_mongo_instrumentation + end + end + + def install_mongo_command_subscriber + require 'new_relic/agent/instrumentation/mongodb_command_subscriber' + Mongo::Monitoring::Global.subscribe( + Mongo::Monitoring::COMMAND, + NewRelic::Agent::Instrumentation::MongodbCommandSubscriber.new + ) end def install_mongo_instrumentation require 'new_relic/agent/datastores/mongo/metric_translator' require 'new_relic/agent/datastores/mongo/statement_formatter'