class Sqreen::Ecosystem::Messaging::Bunny
Public Instance Methods
setup()
click to toggle source
# File lib/sqreen/ecosystem/messaging/bunny.rb, line 20 def setup advice_send = wrap_for_interest(ModuleApi::Tracing::ProducerData, &method(:after_send_advice)) advice_receive = wrap_for_interest(ModuleApi::Tracing::ConsumerData, &method(:after_receive_advice)) advice_receive_consumer = wrap_for_interest(ModuleApi::Tracing::ConsumerData, &method(:after_receive_advice_consumer)) instrument 'Bunny::Queue#publish', after: advice_send instrument 'Bunny::Queue#pop', after: advice_receive instrument 'Bunny::Consumer#call', after: advice_receive_consumer end
Private Instance Methods
after_receive_advice(call, _ball)
click to toggle source
@param [Sqreen::Graft::CallbackCall] call
# File lib/sqreen/ecosystem/messaging/bunny.rb, line 39 def after_receive_advice(call, _ball) return if call.raised create_signal(call.instance, ModuleApi::Tracing::ConsumerData) end
after_receive_advice_consumer(call, _ball)
click to toggle source
@param [Sqreen::Graft::CallbackCall] call
# File lib/sqreen/ecosystem/messaging/bunny.rb, line 46 def after_receive_advice_consumer(call, _ball) return if call.raised queue = call.instance.queue create_signal(queue, ModuleApi::Tracing::ConsumerData) end
after_send_advice(call, _ball)
click to toggle source
@param [Sqreen::Graft::CallbackCall] call
# File lib/sqreen/ecosystem/messaging/bunny.rb, line 32 def after_send_advice(call, _ball) return if call.raised create_signal(call.instance, ModuleApi::Tracing::ProducerData) end
create_signal(q, clazz)
click to toggle source
@param [Bunny::Queue] q
# File lib/sqreen/ecosystem/messaging/bunny.rb, line 54 def create_signal(q, clazz) conn = q.channel.connection clazz.new( message_type: :amqp, host: conn.host, topic: q.name, ) end