class Instana::Instrumentation::DynamoDB::Handler

Public Instance Methods

call(context) click to toggle source
# File lib/instana/instrumentation/aws_sdk_dynamodb.rb, line 8
def call(context)
  dynamo_tags = {
    op: format_operation(context.operation_name),
    table: table_name_from(context)
  }

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

Private Instance Methods

format_operation(name) click to toggle source
# File lib/instana/instrumentation/aws_sdk_dynamodb.rb, line 23
def format_operation(name)
  case name
  when :create_table
    'create'
  when :list_tables
    'list'
  when :get_item
    'get'
  when :put_item
    'put'
  when :update_item
    'update'
  when :delete_item
    'delete'
  else
    name.to_s
  end
end
table_name_from(context) click to toggle source
# File lib/instana/instrumentation/aws_sdk_dynamodb.rb, line 19
def table_name_from(context)
  context.params[:table_name] || context.params[:global_table_name] || 'Unknown'
end