Class: OpenTracing::Instrumentation::Hutch::GlobalPropertiesBuilder

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

Overview

GlobalPropertiesBuilder build hutch global properties with tracing headers

Can extend other global properties builders. Usage:

Hutch.global_properties = \
  OpenTracing::Instrumentation::Hutch::GlobalPropertiesBuilder.new

Defined Under Namespace

Classes: EmptyPropertiesBuilder

Instance Method Summary collapse

Constructor Details

#initialize(headers_injector: Bunny::HeadersInjector.new, global_properties_builder: EmptyPropertiesBuilder.new) ⇒ GlobalPropertiesBuilder

Returns a new instance of GlobalPropertiesBuilder.

Parameters:



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

def initialize(
  headers_injector: Bunny::HeadersInjector.new,
  global_properties_builder: EmptyPropertiesBuilder.new
)
  @headers_injector = headers_injector
  @global_properties_builder = global_properties_builder
end

Instance Method Details

#callHash<String, String>

headers

Returns:

  • (Hash<String, String>)

    properties with injected tracing



35
36
37
38
39
40
# File 'lib/opentracing/instrumentation/hutch/global_properties_builder.rb', line 35

def call
  properties = @global_properties_builder.call
  headers = (properties[:headers] ||= {})
  @headers_injector.inject(headers)
  properties
end