4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/instana/instrumentation/sidekiq-client.rb', line 4
def call(worker_class, msg, queue, _redis_pool)
kv_payload = { :'sidekiq-client' => {} }
kv_payload[:'sidekiq-client'][:queue] = queue
kv_payload[:'sidekiq-client'][:job] = worker_class
kv_payload[:'sidekiq-client'][:retry] = msg['retry'].to_s
::Instana.tracer.log_entry(:'sidekiq-client', kv_payload)
Sidekiq.redis_pool.with do |client|
opts = client.respond_to?(:connection) ? client.connection : client.client.options
kv_payload[:'sidekiq-client'][:'redis-url'] = "#{opts[:host]}:#{opts[:port]}"
end
context = ::Instana.tracer.context
if context
msg['X-Instana-T'] = context.
msg['X-Instana-S'] = context.
end
result = yield
kv_payload[:'sidekiq-client'][:job_id] = result['jid']
result
rescue => e
::Instana.tracer.log_error(e)
raise
ensure
::Instana.tracer.log_exit(:'sidekiq-client', kv_payload)
end
|