class ElasticAPM::Spies::SQSSpy
@api private
def self.queue_name(params)
def self.queue_name(params) if params[:queue_url] params[:queue_url].split('/')[-1] end end
def self.region_from_url(url)
def self.region_from_url(url) if match = REGION_REGEXP.match(url) match[1] end end
def self.span_context(queue_name, region)
def self.span_context(queue_name, region) ElasticAPM::Span::Context.new( message: { queue_name: queue_name }, destination: { service: { resource: "#{SUBTYPE}/#{queue_name}" }, cloud: { region: region } } # span links added here? ) end
def self.without_net_http
def self.without_net_http return yield unless defined?(NetHTTPSpy) # rubocop:disable Style/ExplicitBlockArgument ElasticAPM::Spies::NetHTTPSpy.disable_in do yield end # rubocop:enable Style/ExplicitBlockArgument end
def install
def install ::Aws::SQS::Client.prepend(Ext) end