class Atatus::Spies::DynamoDBSpy
@api private
Public Class Methods
without_net_http() { || ... }
click to toggle source
# File lib/atatus/spies/dynamo_db.rb, line 25 def self.without_net_http return yield unless defined?(NetHTTPSpy) Atatus::Spies::NetHTTPSpy.disable_in do yield end end
Public Instance Methods
install()
click to toggle source
# File lib/atatus/spies/dynamo_db.rb, line 33 def install if defined?(::Aws) && defined?(::Aws::DynamoDB) && defined?(::Aws::DynamoDB::Client) ::Aws::DynamoDB::Client.class_eval do # Alias all available operations api.operation_names.each do |operation_name| alias :"#{operation_name}_without_apm" :"#{operation_name}" define_method(operation_name) do |params = {}, options = {}| Atatus.with_span(operation_name, 'db', subtype: 'dynamodb', action: operation_name) do Atatus::Spies::DynamoDBSpy.without_net_http do original_method = method("#{operation_name}_without_apm") original_method.call(params, options) end end end end end end end