Module: Sidekiq::Tracer

Defined in:
lib/sidekiq/tracer.rb,
lib/sidekiq/tracer/commons.rb,
lib/sidekiq/tracer/version.rb,
lib/sidekiq/tracer/constants.rb,
lib/sidekiq/tracer/client_middleware.rb,
lib/sidekiq/tracer/server_middleware.rb

Defined Under Namespace

Modules: Commons Classes: ClientMiddleware, ServerMiddleware

Constant Summary collapse

VERSION =
"1.2.0"
TRACE_CONTEXT_KEY =
"Trace-Context"

Class Method Summary collapse

Class Method Details

.add_client_middleware(chain, tracer, active_span) ⇒ Object



36
37
38
# File 'lib/sidekiq/tracer.rb', line 36

def add_client_middleware(chain, tracer, active_span)
  chain.add Sidekiq::Tracer::ClientMiddleware, tracer: tracer, active_span: active_span
end

.add_server_middleware(chain, tracer, active_span) ⇒ Object



40
41
42
# File 'lib/sidekiq/tracer.rb', line 40

def add_server_middleware(chain, tracer, active_span)
  chain.add Sidekiq::Tracer::ServerMiddleware, tracer: tracer, active_span: active_span
end

.instrument(tracer: OpenTracing.global_tracer, active_span: nil) ⇒ Object



14
15
16
17
# File 'lib/sidekiq/tracer.rb', line 14

def instrument(tracer: OpenTracing.global_tracer, active_span: nil)
  instrument_client(tracer: tracer, active_span: active_span)
  instrument_server(tracer: tracer, active_span: active_span)
end

.instrument_client(tracer: OpenTracing.global_tracer, active_span: nil) ⇒ Object



19
20
21
22
23
# File 'lib/sidekiq/tracer.rb', line 19

def instrument_client(tracer: OpenTracing.global_tracer, active_span: nil)
  Sidekiq.configure_client do |config|
    config.client_middleware { |chain| add_client_middleware(chain, tracer, active_span) }
  end
end

.instrument_server(tracer: OpenTracing.global_tracer, active_span: nil) ⇒ Object



25
26
27
28
29
30
31
32
33
34
# File 'lib/sidekiq/tracer.rb', line 25

def instrument_server(tracer: OpenTracing.global_tracer, active_span: nil)
  Sidekiq.configure_server do |config|
    config.client_middleware { |chain| add_client_middleware(chain, tracer, active_span) }
    config.server_middleware { |chain| add_server_middleware(chain, tracer, active_span) }
  end

  return unless defined?(Sidekiq::Testing)

  Sidekiq::Testing.server_middleware { |chain| add_server_middleware(chain, tracer, active_span) }
end