class OpenTracing::Instrumentation::Bunny::ConsumeOperationNameBuilder
ConsumeOperationNameBuilder
build consume command name from queue and delivery_info
Constants
- DEFAULT_OPERATION_NAME_PATTERN
Public Class Methods
new( routing_key_sanitazer: RegexpRoutingKeySanitazer.new, operation_name_pattern: DEFAULT_OPERATION_NAME_PATTERN )
click to toggle source
@param routing_key_sanitazer [RegexpRoutingKeySanitazer] @param operation_name_pattern [String]
# 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
Public Instance Methods
build_operation_name(delivery_info)
click to toggle source
@param delivery_info [Bunny::DeliveryInfo] @return [String] bunny consume operation name
# 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
Private Instance Methods
build_format_args(delivery_info)
click to toggle source
# File lib/opentracing/instrumentation/bunny/consume_operation_name_builder.rb, line 35 def build_format_args(delivery_info) queue = delivery_info[:consumer].queue routing_key = \ sanitaze_routing_key(delivery_info[:routing_key]) delivery_info.to_h.merge( routing_key: routing_key, queue: queue.name, ) end
sanitaze_routing_key(routing_key)
click to toggle source
# File lib/opentracing/instrumentation/bunny/consume_operation_name_builder.rb, line 45 def sanitaze_routing_key(routing_key) return if routing_key.nil? @routing_key_sanitazer.sanitaze_routing_key(routing_key) end