Class: SidekiqMiddlewares::Benchmarker
- Inherits:
-
Object
- Object
- SidekiqMiddlewares::Benchmarker
- Defined in:
- lib/sidekiq_middlewares/benchmarker.rb
Instance Method Summary collapse
- #call(_worker, job, _queue) ⇒ Object
-
#initialize(opts = {}) ⇒ Benchmarker
constructor
A new instance of Benchmarker.
Constructor Details
#initialize(opts = {}) ⇒ Benchmarker
Returns a new instance of Benchmarker.
4 5 6 7 |
# File 'lib/sidekiq_middlewares/benchmarker.rb', line 4 def initialize(opts = {}) @logger = opts[:logger] || raise(ArgumentError, 'missing keyword: logger') @formatter = opts[:formatter] || proc { || } end |
Instance Method Details
#call(_worker, job, _queue) ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/sidekiq_middlewares/benchmarker.rb', line 9 def call(_worker, job, _queue) start_time = Process.clock_gettime(Process::CLOCK_MONOTONIC) yield ensure elapsed_time = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start_time @logger.info(@formatter.call((job, elapsed_time))) end |