Module: OneApm::Agent::Datastore::Mongo

Defined in:
lib/one_apm/agent/datastore/mongo.rb,
lib/one_apm/agent/datastore/mongo/obfuscator.rb,
lib/one_apm/agent/datastore/mongo/command_formatter.rb,
lib/one_apm/agent/datastore/mongo/metric_translator.rb,
lib/one_apm/agent/datastore/mongo/statement_formatter.rb

Defined Under Namespace

Modules: CommandFormatter, MetricTranslator, Obfuscator, StatementFormatter

Class Method Summary collapse

Class Method Details

.is_support_version2?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/one_apm/agent/datastore/mongo.rb', line 14

def self.is_support_version2?
  defined?(::Mongo::Monitoring) && is_version2?
end

.is_supported_version?Boolean

Returns:

  • (Boolean)


7
8
9
10
11
12
# File 'lib/one_apm/agent/datastore/mongo.rb', line 7

def self.is_supported_version?
  # No version constant in < 2.0 versions of Mongo :(
  defined?(::Mongo) &&
    defined?(::Mongo::MongoClient) &&
    !is_version2?
end

.is_version2?Boolean

At present we explicitly don’t support version 2.x of the driver yet

Returns:

  • (Boolean)


19
20
21
22
# File 'lib/one_apm/agent/datastore/mongo.rb', line 19

def self.is_version2?
  defined?(::Mongo::VERSION) &&
    OneApm::VersionNumber.new(::Mongo::VERSION) > OneApm::VersionNumber.new("2.0.0")
end

.is_version_1_10_or_later?Boolean

Returns:

  • (Boolean)


24
25
26
27
# File 'lib/one_apm/agent/datastore/mongo.rb', line 24

def self.is_version_1_10_or_later?
  # Again, no VERSION constant in 1.x, so we have to rely on constant checks
  defined?(::Mongo::CollectionOperationWriter)
end