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