# encoding: utf-8 # This file is distributed under New Relic's license terms. # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details. # frozen_string_literal: true require_relative 'bunny/instrumentation' require_relative 'bunny/chain' require_relative 'bunny/prepend' DependencyDetection.defer do named :bunny depends_on do defined?(Bunny) end executes do ::NewRelic::Agent.logger.info 'Installing Bunny instrumentation' require 'new_relic/agent/distributed_tracing/cross_app_tracing' require 'new_relic/agent/messaging' require 'new_relic/agent/transaction/message_broker_segment' end executes do if use_prepend? prepend_instrument ::Bunny::Exchange, ::NewRelic::Agent::Instrumentation::Bunny::Prepend::Exchange prepend_instrument ::Bunny::Queue, ::NewRelic::Agent::Instrumentation::Bunny::Prepend::Queue prepend_instrument ::Bunny::Consumer, ::NewRelic::Agent::Instrumentation::Bunny::Prepend::Consumer else chain_instrument NewRelic::Agent::Instrumentation::Bunny end end end