lib/new_relic/agent/instrumentation/bunny/instrumentation.rb in newrelic_rpm-9.4.2 vs lib/new_relic/agent/instrumentation/bunny/instrumentation.rb in newrelic_rpm-9.5.0
- old
+ new
@@ -10,10 +10,11 @@
LIBRARY = 'RabbitMQ'
DEFAULT_NAME = 'Default'
DEFAULT_TYPE = :direct
SLASH = '/'
+ INSTRUMENTATION_NAME = NewRelic::Agent.base_name(name)
def exchange_name(name)
name.empty? ? DEFAULT_NAME : name
end
@@ -26,10 +27,12 @@
module Exchange
include Bunny
def publish_with_tracing(payload, opts = {})
+ NewRelic::Agent.record_instrumentation_invocation(INSTRUMENTATION_NAME)
+
begin
destination = exchange_name(name)
tracing_enabled =
NewRelic::Agent::CrossAppTracing.cross_app_enabled? ||
@@ -60,10 +63,12 @@
module Queue
include Bunny
def pop_with_tracing
+ NewRelic::Agent.record_instrumentation_invocation(INSTRUMENTATION_NAME)
+
bunny_error, delivery_info, message_properties, _payload = nil, nil, nil, nil
begin
t0 = Process.clock_gettime(Process::CLOCK_REALTIME)
msg = yield
delivery_info, message_properties, _payload = msg
@@ -102,10 +107,12 @@
msg
end
def purge_with_tracing
+ NewRelic::Agent.record_instrumentation_invocation(INSTRUMENTATION_NAME)
+
begin
type = server_named? ? :temporary_queue : :queue
segment = NewRelic::Agent::Tracer.start_message_broker_segment(
action: :purge,
library: LIBRARY,
@@ -127,9 +134,11 @@
module Consumer
include Bunny
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,