Class: G5PromRails::SidekiqTimingMiddleware
- Inherits:
-
Object
- Object
- G5PromRails::SidekiqTimingMiddleware
- Defined in:
- lib/g5_prom_rails/sidekiq_timing_middleware.rb
Class Method Summary collapse
Instance Method Summary collapse
- #call(worker, msg, queue) ⇒ Object
-
#initialize(options = nil) ⇒ SidekiqTimingMiddleware
constructor
A new instance of SidekiqTimingMiddleware.
Constructor Details
#initialize(options = nil) ⇒ SidekiqTimingMiddleware
Returns a new instance of SidekiqTimingMiddleware.
26 27 28 29 |
# File 'lib/g5_prom_rails/sidekiq_timing_middleware.rb', line 26 def initialize( = nil) @app = [:app] @metric = [:metric] end |
Class Method Details
.build_metric(reg) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/g5_prom_rails/sidekiq_timing_middleware.rb', line 2 def self.build_metric(reg) reg.histogram( :sidekiq_job_seconds, "job running time in seconds", {}, [ 10, 30, 90, 3.minutes.to_i, 7.minutes.to_i, 12.minutes.to_i, 20.minutes.to_i, 35.minutes.to_i, 60.minutes.to_i, 80.minutes.to_i, 2.hours.to_i, 3.hours.to_i, 5.hours.to_i, 10.hours.to_i, ] ) end |
Instance Method Details
#call(worker, msg, queue) ⇒ Object
31 32 33 34 35 36 |
# File 'lib/g5_prom_rails/sidekiq_timing_middleware.rb', line 31 def call(worker, msg, queue) @metric.observe( { app: @app, job_class: worker.class.name }, Benchmark.realtime { yield } ) end |