module Instana::Instrumentation::ResqueClient

Public Class Methods

prepended(klass) click to toggle source
# File lib/instana/instrumentation/resque.rb, line 9
def self.prepended(klass)
  klass.send :extend, ::Resque
end

Public Instance Methods

collect_kvs(op, klass, args) click to toggle source
# File lib/instana/instrumentation/resque.rb, line 13
def collect_kvs(op, klass, args)
  kvs = {}

  begin
    kvs[:job] = klass.to_s
    kvs[:queue] = klass.instance_variable_get(:@queue)
  rescue => e
    Instana.logger.debug { "#{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" }
  end

  { :'resque-client' => kvs }
end
dequeue(klass, *args) click to toggle source
Calls superclass method
# File lib/instana/instrumentation/resque.rb, line 53
def dequeue(klass, *args)
  if Instana.tracer.tracing?
    kvs = collect_kvs(:dequeue, klass, args)

    Instana.tracer.trace(:'resque-client', kvs) do
      super(klass, *args)
    end
  else
    super(klass, *args)
  end
end
enqueue(klass, *args) click to toggle source
Calls superclass method
# File lib/instana/instrumentation/resque.rb, line 26
def enqueue(klass, *args)
  if Instana.tracer.tracing?
    kvs = collect_kvs(:enqueue, klass, args)

    Instana.tracer.trace(:'resque-client', kvs) do
      args.push(::Instana.tracer.context.to_hash) if ::Instana.config[:'resque-client'][:propagate]
      super(klass, *args)
    end
  else
    super(klass, *args)
  end
end
enqueue_to(queue, klass, *args) click to toggle source
Calls superclass method
# File lib/instana/instrumentation/resque.rb, line 39
def enqueue_to(queue, klass, *args)
  if Instana.tracer.tracing? && !Instana.tracer.tracing_span?(:'resque-client')
    kvs = collect_kvs(:enqueue_to, klass, args)
    kvs[:Queue] = queue.to_s if queue

    Instana.tracer.trace(:'resque-client', kvs) do
      args.push(::Instana.tracer.context.to_hash) if ::Instana.config[:'resque-client'][:propagate]
      super(queue, klass, *args)
    end
  else
    super(queue, klass, *args)
  end
end