module Instana::Instrumentation::ResqueWorker
Public Instance Methods
perform(job)
click to toggle source
Calls superclass method
# File lib/instana/instrumentation/resque.rb, line 67 def perform(job) kvs = {} kvs[:'resque-worker'] = {} begin if ENV.key?('INSTANA_SERVICE_NAME') kvs[:service] = ENV['INSTANA_SERVICE_NAME'] end kvs[:'resque-worker'][:job] = job.payload['class'].to_s kvs[:'resque-worker'][:queue] = job.queue rescue => e ::Instana.logger.debug { "#{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" } if Instana::Config[:verbose] end trace_context = if ::Instana.config[:'resque-client'][:propagate] && job.payload['args'][-1].is_a?(Hash) && job.payload['args'][-1].keys.include?('trace_id') context_from_wire = job.payload['args'].pop ::Instana::SpanContext.new( context_from_wire['trace_id'], context_from_wire['span_id'] ) end Instana.tracer.start_or_continue_trace(:'resque-worker', kvs, trace_context) do super(job) end end