class InfluxReporter::Integration::Sidekiq
Constants
- KIND
- PART_KIND
- PERFORM_KIND
- PERFORM_TRACE
Public Instance Methods
call(worker, item, queue) { || ... }
click to toggle source
# File lib/influx_reporter/integration/sidekiq.rb, line 34 def call(worker, item, queue) performance_trace(worker, item, queue) do yield end end
Private Instance Methods
get_worker_name(worker, item)
click to toggle source
# File lib/influx_reporter/integration/sidekiq.rb, line 63 def get_worker_name(worker, item) item['wrapped'.freeze] || worker.class.to_s end
performance_trace(worker, item, queue) { || ... }
click to toggle source
# File lib/influx_reporter/integration/sidekiq.rb, line 42 def performance_trace(worker, item, queue) return yield unless worker.class.performance_trace? transaction = InfluxReporter.transaction get_worker_name(worker, item), KIND transaction.extra_tags do |extra| extra[:sidekiq_queue] = queue end response_code = 500 trace = transaction&.trace PERFORM_TRACE, PERFORM_KIND begin yield response_code = 200 ensure InfluxReporter::Client.inst.current_transaction = nil trace&.done transaction&.submit(response_code) end InfluxReporter.flush_transactions_if_needed end