module NewRelic::Agent::Instrumentation::Bunny::Consumer

Public Instance Methods

call_with_tracing(*args) { || ... } click to toggle source
# File lib/new_relic/agent/instrumentation/bunny/instrumentation.rb, line 152
def call_with_tracing(*args)
  NewRelic::Agent.record_instrumentation_invocation(INSTRUMENTATION_NAME)

  delivery_info, message_properties, _ = args
  queue_name = queue.respond_to?(:name) ? queue.name : queue

  NewRelic::Agent::Messaging.wrap_amqp_consume_transaction(
    library: LIBRARY,
    destination_name: exchange_name(delivery_info.exchange),
    delivery_info: delivery_info,
    message_properties: message_properties,
    exchange_type: exchange_type(delivery_info, channel),
    queue_name: queue_name
  ) do
    yield
  end
end