class ElasticAPM::Spies::SidekiqSpy::Middleware
@api private
Public Instance Methods
call(_worker, job, queue) { || ... }
click to toggle source
# File lib/elastic_apm/spies/sidekiq.rb, line 30 def call(_worker, job, queue) name = SidekiqSpy.name_for(job) transaction = ElasticAPM.start_transaction(name, 'Sidekiq') ElasticAPM.set_label(:queue, queue) yield transaction&.done :success transaction&.outcome = Transaction::Outcome::SUCCESS rescue ::Exception => e ElasticAPM.report(e, handled: false) transaction&.done :error transaction&.outcome = Transaction::Outcome::FAILURE raise ensure ElasticAPM.end_transaction end