Sha256: 0c4d645072a9989176c9d832e88791880fccd72ed538bdd93ed39c09be6e282c
Contents?: true
Size: 1.04 KB
Versions: 6
Compression:
Stored size: 1.04 KB
Contents
require 'sqreen/ecosystem/module_api' require 'sqreen/ecosystem/module_api/instrumentation' require 'sqreen/ecosystem/module_api/message_producer' require 'sqreen/ecosystem/databases/database_connection_data' module Sqreen module Ecosystem module Databases class Mongo include ModuleApi::Instrumentation include ModuleApi::MessageProducer def setup advice = wrap_for_interest(DatabaseConnectionData, &method(:after_advice)) instrument 'Mongo::Client#initialize', after: advice end private # @param [Sqreen::Graft::CallbackCall] call def after_advice(call, _ball) return if call.raised client = call.instance server_addrs = client.cluster.servers.map(&:address) server_addrs.map do |addr| DatabaseConnectionData.new( transport: :mongo, host: addr.host, port: addr.port, db: client.database.name, ) end end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems