sidekiq-benchmark

by kosmatov

Adds benchmarking methods to Sidekiq workers, keeps metrics and adds tab to Web UI to let you browse...

130 Stars 15 Forks Last release: Not found MIT License 83 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Sidekiq::Benchmark

Gem Version Code Climate Build Status Coverage Status

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:

$ bundle

Requirements

From version 0.5.0 works with Sidekiq 4.2 or newer

Usage

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

end

Examples

Web UI

Web UI

Sample Apps

Heroku App

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

  1. Fork it
  2. Create your feature branch (
    git checkout -b my-new-feature
    )
  3. Commit your changes (
    git commit -am 'Add some feature'
    )
  4. Push to the branch (
    git push origin my-new-feature
    )
  5. Create new Pull Request

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.