Sidekiq::Benchmark
Adds benchmarking methods to Sidekiq workers, keeps metrics and adds tab to Web UI to let you browse them.
Installation
Add this line to your application's Gemfile:
gem 'sidekiq-benchmark'
And then execute:
bundleUsage
class SampleWorker
  include Sidekiq::Worker
  include Sidekiq::Benchmark::Worker
  def perform(id)
    benchmark.first_metric do
      100500.times do something end
    end
    benchmark.second_metric do
      42.times do anything end
    end
    benchmark.finish
  end
end
class OtherSampleWorker
  include Sidekiq::Worker
  include Sidekiq::Benchmark::Worker
  def perform(id)
    benchmark do |bm|
      bm.some_metric do
        100500.times do
        end
      end
      bm.other_metric do
        something_code
      end
      bm.some_metric do
        # some_metric measure continues
      end
    end
    # if block given, yield and finish
  end
endExamples
Web UI
Testing sidekiq workers
When you use Sidekiq::Testing you
must load sidekiq-benchmark/testing to stop saving benchmark data to redis.
Just add next code to your test or spec helper:
require 'sidekiq-benchmark/testing'Contributing
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request
