Sha256: ed07f73fca8631c1bf36ae7a5385015bb2889692725b739726e23d7c8f3330a8
Contents?: true
Size: 929 Bytes
Versions: 2
Compression:
Stored size: 929 Bytes
Contents
# Modified by SignalFx module Sidekiq module Tracer class ClientMiddleware include Commons attr_reader :tracer, :opts def initialize(tracer: nil, opts: {}) @tracer = tracer @opts = opts end def call(worker_class, job, queue, redis_pool) scope = tracer.start_active_span( operation_name(job), tags: tags(job, 'client') ) inject(scope.span, job) if opts.fetch(:propagate_context, true) yield rescue Exception => e if scope scope.span.set_tag('error', true) scope.span.log_kv(event: 'error', :'error.object' => e) end raise ensure scope.close if scope end private def inject(span, job) carrier = {} tracer.inject(span.context, OpenTracing::FORMAT_TEXT_MAP, carrier) job[TRACE_CONTEXT_KEY] = carrier end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sfx-sidekiq-opentracing-0.0.4 | lib/sidekiq/tracer/client_middleware.rb |
sfx-sidekiq-opentracing-0.0.3 | lib/sidekiq/tracer/client_middleware.rb |