Sha256: 1f3786a1760bd535b8368ff8c4f919420a58ee4e121725064519b32e2d0272a7

Contents?: true

Size: 679 Bytes

Versions: 3

Compression:

Stored size: 679 Bytes

Contents

module DistributedTracing
  module SidekiqMiddleware
    class Client
      def call(worker_class, job, queue, redis_pool)
        job[DistributedTracing::TRACE_ID] = trace_id
        yield
      end

      private
      def trace_id
        DistributedTracing.trace_id || SecureRandom.uuid
      end
    end

    class Server
      def call(worker, job, queue)
        logger = worker.logger

        if logger.respond_to?(:tagged)
          DistributedTracing.trace_id = job[DistributedTracing::TRACE_ID]
          logger.tagged(DistributedTracing.trace_id) {yield}
          DistributedTracing.trace_id= nil
        else
          yield
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rails_distributed_tracing-1.2 lib/rails_distributed_tracing/plugins/sidekiq.rb
rails_distributed_tracing-1.1 lib/rails_distributed_tracing/plugins/sidekiq.rb
rails_distributed_tracing-1.0 lib/rails_distributed_tracing/plugins/sidekiq.rb