Sha256: dea0292ddbe82825ac7ce08f70731ada8f3918a3a1e366bc34f2c8bcd4256682

Contents?: true

Size: 731 Bytes

Versions: 3

Compression:

Stored size: 731 Bytes

Contents

# (c) Copyright IBM Corp. 2021
# (c) Copyright Instana Inc. 2021

module Instana
  module Instrumentation
    class DynamoDB < Seahorse::Client::Plugin
      class Handler < Seahorse::Client::Handler
        def call(context)
          dynamo_tags = {
            op: context.operation_name,
            table: table_name_from(context)
          }

          ::Instana.tracer.trace(:dynamodb, dynamo_tags) { @handler.call(context) }
        end

        private

        def table_name_from(context)
          context.params[:table_name] || context.params[:global_table_name] || 'Unknown'
        end
      end

      def add_handlers(handlers, _config)
        handlers.add(Handler, step: :initialize)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
instana-1.195.1 lib/instana/instrumentation/aws_sdk_dynamodb.rb
instana-1.195.0 lib/instana/instrumentation/aws_sdk_dynamodb.rb
instana-1.193.6 lib/instana/instrumentation/aws_sdk_dynamodb.rb