Class: OpenTelemetry::Instrumentation::Sidekiq::Middlewares::Client::TracerMiddleware

Inherits:
Object
  • Object
show all
Defined in:
lib/opentelemetry/instrumentation/sidekiq/middlewares/client/tracer_middleware.rb

Overview

TracerMiddleware propagates context and instruments Sidekiq client by way of its middleware system

Instance Method Summary collapse

Instance Method Details

#call(_worker_class, job, _queue, _redis_pool) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/opentelemetry/instrumentation/sidekiq/middlewares/client/tracer_middleware.rb', line 15

def call(_worker_class, job, _queue, _redis_pool)
  tracer.in_span(
    span_name(job),
    attributes: build_attributes(job),
    kind: :producer
  ) do |span|
    OpenTelemetry.propagation.inject(job)
    span.add_event('created_at', timestamp: job['created_at'])
    yield
  end
end