class ElasticAPM::Spies::DynamoDBSpy

@api private

Constants

ACTION
SUBTYPE
TYPE

Public Class Methods

formatted_op_name(operation_name) click to toggle source
# File lib/elastic_apm/spies/dynamo_db.rb, line 47
def self.formatted_op_name(operation_name)
  @@formatted_op_names.compute_if_absent(operation_name) do
    operation_name.to_s.split('_').collect(&:capitalize).join
  end
end
span_name(operation_name, params) click to toggle source
# File lib/elastic_apm/spies/dynamo_db.rb, line 41
def self.span_name(operation_name, params)
  params[:table_name] ?
    "DynamoDB #{formatted_op_name(operation_name)} #{params[:table_name]}" :
    "DynamoDB #{formatted_op_name(operation_name)}"
end
without_net_http() { || ... } click to toggle source
# File lib/elastic_apm/spies/dynamo_db.rb, line 31
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/dynamo_db.rb, line 92
def install
  ::Aws::DynamoDB::Client.prepend(Ext)
end