class ElasticAPM::Spies::SQSSpy
@api private
Constants
- REGION_REGEXP
- SUBTYPE
- TYPE
Public Class Methods
queue_name(params)
click to toggle source
# File lib/elastic_apm/spies/sqs.rb, line 40 def self.queue_name(params) if params[:queue_url] params[:queue_url].split('/')[-1] end end
region_from_url(url)
click to toggle source
# File lib/elastic_apm/spies/sqs.rb, line 46 def self.region_from_url(url) if match = REGION_REGEXP.match(url) match[1] end end
span_context(queue_name, region)
click to toggle source
# File lib/elastic_apm/spies/sqs.rb, line 52 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
without_net_http() { || ... }
click to toggle source
# File lib/elastic_apm/spies/sqs.rb, line 30 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
Public Instance Methods
install()
click to toggle source
# File lib/elastic_apm/spies/sqs.rb, line 220 def install ::Aws::SQS::Client.prepend(Ext) end