module NewRelic::Agent::Instrumentation::Bunny::Chain
Public Class Methods
instrument!()
click to toggle source
# File lib/new_relic/agent/instrumentation/bunny/chain.rb, line 7 def self.instrument! ::Bunny::Exchange.class_eval do include NewRelic::Agent::Instrumentation::Bunny::Exchange alias_method(:publish_without_new_relic, :publish) def publish(payload, opts = {}) publish_with_tracing(payload, opts) { publish_without_new_relic(payload, opts) } end end ::Bunny::Queue.class_eval do include NewRelic::Agent::Instrumentation::Bunny::Queue alias_method(:pop_without_new_relic, :pop) def pop(opts = {:manual_ack => false}, &block) pop_with_tracing { pop_without_new_relic(opts, &block) } end alias_method(:purge_without_new_relic, :purge) def purge(*args) purge_with_tracing { purge_without_new_relic(*args) } end end ::Bunny::Consumer.class_eval do include NewRelic::Agent::Instrumentation::Bunny::Consumer alias_method(:call_without_new_relic, :call) def call(*args) call_with_tracing(*args) { call_without_new_relic(*args) } end end end
Public Instance Methods
call(*args)
click to toggle source
# File lib/new_relic/agent/instrumentation/bunny/chain.rb, line 39 def call(*args) call_with_tracing(*args) { call_without_new_relic(*args) } end
pop(opts = {:manual_ack => false}, &block)
click to toggle source
# File lib/new_relic/agent/instrumentation/bunny/chain.rb, line 23 def pop(opts = {:manual_ack => false}, &block) pop_with_tracing { pop_without_new_relic(opts, &block) } end
publish(payload, opts = {})
click to toggle source
# File lib/new_relic/agent/instrumentation/bunny/chain.rb, line 13 def publish(payload, opts = {}) publish_with_tracing(payload, opts) { publish_without_new_relic(payload, opts) } end
purge(*args)
click to toggle source
# File lib/new_relic/agent/instrumentation/bunny/chain.rb, line 29 def purge(*args) purge_with_tracing { purge_without_new_relic(*args) } end