module OneApm::Agent::Datastore::Mongo::StatementFormatter

Constants

OA_OBFUSCATE_KEYS
OA_PLAINTEXT_KEYS

Public Class Methods

format(statement, operation) click to toggle source
# File lib/one_apm/agent/datastore/mongo/statement_formatter.rb, line 25
def self.format(statement, operation)
  return nil unless OneApm::Manager.config[:'mongo.capture_queries']

  result = { :operation => operation }

  OA_PLAINTEXT_KEYS.each do |key|
    result[key] = statement[key] if statement.key?(key)
  end

  OA_OBFUSCATE_KEYS.each do |key|
    if statement.key?(key) && statement[key]
      obfuscated = obfuscate(statement[key])
      result[key] = obfuscated if obfuscated
    end
  end
  result
end
obfuscate(statement) click to toggle source
# File lib/one_apm/agent/datastore/mongo/statement_formatter.rb, line 43
def self.obfuscate(statement)
  statement = Obfuscator.obfuscate_statement(statement) if OneApm::Manager.config[:'mongo.obfuscate_queries']
  statement
end