Class: OpenTracing::Instrumentation::Bunny::ConsumeOperationNameBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/opentracing/instrumentation/bunny/consume_operation_name_builder.rb

Overview

ConsumeOperationNameBuilder build consume command name from queue and delivery_info

Constant Summary collapse

DEFAULT_OPERATION_NAME_PATTERN =
'bunny_consume(' \
  'routing_key=%<routing_key>s, ' \
  'exchange=%<exchange>s, ' \
  'queue=%<queue>s' \
')'

Instance Method Summary collapse

Constructor Details

#initialize(routing_key_sanitazer: RegexpRoutingKeySanitazer.new, operation_name_pattern: DEFAULT_OPERATION_NAME_PATTERN) ⇒ ConsumeOperationNameBuilder

Returns a new instance of ConsumeOperationNameBuilder.

Parameters:

  • routing_key_sanitazer (RegexpRoutingKeySanitazer) (defaults to: RegexpRoutingKeySanitazer.new)
  • operation_name_pattern (String) (defaults to: DEFAULT_OPERATION_NAME_PATTERN)


18
19
20
21
22
23
24
# File 'lib/opentracing/instrumentation/bunny/consume_operation_name_builder.rb', line 18

def initialize(
  routing_key_sanitazer: RegexpRoutingKeySanitazer.new,
  operation_name_pattern: DEFAULT_OPERATION_NAME_PATTERN
)
  @routing_key_sanitazer = routing_key_sanitazer
  @operation_name_pattern = operation_name_pattern
end

Instance Method Details

#build_operation_name(delivery_info) ⇒ String

Returns bunny consume operation name.

Parameters:

  • delivery_info (Bunny::DeliveryInfo)

Returns:

  • (String)

    bunny consume operation name



28
29
30
31
# File 'lib/opentracing/instrumentation/bunny/consume_operation_name_builder.rb', line 28

def build_operation_name(delivery_info)
  format_args = build_format_args(delivery_info)
  format(@operation_name_pattern, format_args)
end