Need help with sidekiq-benchmark?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

kosmatov
131 Stars 16 Forks MIT License 97 Commits 0 Opened issues

Description

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

Services available

!
?

Need anything else?

Contributors list

No Data

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.