Sha256: e3394c09df38758400a192608dff72e70a84007060667896af8e498c03455d60
Contents?: true
Size: 1.19 KB
Versions: 10
Compression:
Stored size: 1.19 KB
Contents
# typed: ignore # Copyright (c) 2015 Sqreen. All Rights Reserved. # Please refer to our terms for more information: https://www.sqreen.com/terms.html 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
10 entries across 10 versions & 1 rubygems