Class: OpenTracing::Instrumentation::Hutch::ConsumeTagsBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/opentracing/instrumentation/hutch/consume_tags_builder.rb

Overview

ConsumeTagsBuilder build span tags for Hutch ConsumerTrace. Its use Bunny::ComsumerTagsBuilde for common tags and add hutch specific tags

Constant Summary collapse

DEFAULT_STATIC_TAGS =
{
  'component' => 'hutch',
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(bunny_consume_tags_builder: Bunny::ConsumeTagsBuilder.new, static_tags: DEFAULT_STATIC_TAGS) ⇒ ConsumeTagsBuilder

Returns a new instance of ConsumeTagsBuilder.

Parameters:

  • bunny_consume_tags_builder (Bunny::ConsumeTagsBuilder) (defaults to: Bunny::ConsumeTagsBuilder.new)
  • static_tags (Hash<String, String>) (defaults to: DEFAULT_STATIC_TAGS)


16
17
18
19
20
21
22
# File 'lib/opentracing/instrumentation/hutch/consume_tags_builder.rb', line 16

def initialize(
  bunny_consume_tags_builder: Bunny::ConsumeTagsBuilder.new,
  static_tags: DEFAULT_STATIC_TAGS
)
  @bunny_consume_tags_builder = bunny_consume_tags_builder
  @static_tags = static_tags
end

Instance Method Details

#build_tags(consumer, message) ⇒ Hash<String, String>

Returns tags.

Parameters:

  • consumer (Object)

    instance of consumer

  • message (Hutch::Message)

Returns:

  • (Hash<String, String>)

    tags



27
28
29
30
31
# File 'lib/opentracing/instrumentation/hutch/consume_tags_builder.rb', line 27

def build_tags(consumer, message)
  build_bunny_tags(message)
    .merge(hutch_tags(consumer))
    .merge(@static_tags)
end