module NewRelic::Agent::Instrumentation::AwsSqs::Chain

Public Class Methods

instrument!() click to toggle source
# File lib/new_relic/agent/instrumentation/aws_sqs/chain.rb, line 7
def self.instrument!
  ::Aws::SQS::Client.class_eval do
    include NewRelic::Agent::Instrumentation::AwsSqs

    alias_method(:send_message_without_new_relic, :send_message)

    def send_message(*args)
      send_message_with_new_relic(*args) do
        send_message_without_new_relic(*args)
      end
    end

    alias_method(:send_message_batch_without_new_relic, :send_message_batch)

    def send_message_batch(*args)
      send_message_batch_with_new_relic(*args) do
        send_message_batch_without_new_relic(*args)
      end
    end

    alias_method(:receive_message_without_new_relic, :receive_message)

    def receive_message(*args)
      receive_message_with_new_relic(*args) do
        receive_message_without_new_relic(*args)
      end
    end
  end
end

Public Instance Methods

receive_message(*args) click to toggle source
# File lib/new_relic/agent/instrumentation/aws_sqs/chain.rb, line 29
def receive_message(*args)
  receive_message_with_new_relic(*args) do
    receive_message_without_new_relic(*args)
  end
end
send_message(*args) click to toggle source
# File lib/new_relic/agent/instrumentation/aws_sqs/chain.rb, line 13
def send_message(*args)
  send_message_with_new_relic(*args) do
    send_message_without_new_relic(*args)
  end
end
send_message_batch(*args) click to toggle source
# File lib/new_relic/agent/instrumentation/aws_sqs/chain.rb, line 21
def send_message_batch(*args)
  send_message_batch_with_new_relic(*args) do
    send_message_batch_without_new_relic(*args)
  end
end