Class: Statue::SidekiqStatistics::SidekiqMiddleware
- Inherits:
-
Object
- Object
- Statue::SidekiqStatistics::SidekiqMiddleware
- Defined in:
- lib/statue/sidekiq_statistics.rb
Overview
Middleware for tracking common job run metrics
Instance Method Summary collapse
Instance Method Details
#call(worker, message, _queue) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/statue/sidekiq_statistics.rb', line 41 def call(worker, , _queue) job_metric_name = Statue::SidekiqStatistics.job_metric_name(worker, ) if ["retry_count"] # Count retried jobs Statue.report_increment("#{job_metric_name}.retry") else # Track latency for new jobs only (we can't know since when the failed job is waiting) enqueued_at = Time.at(["enqueued_at"]) Statue.report_duration("#{job_metric_name}.latency", Time.now - enqueued_at) end Statue.report_duration(job_metric_name) do Statue.report_success_or_failure(job_metric_name) do yield true # We only count exceptions as failure end end end |