Sidekiq statistic
Improved display of statistics for your sidekiq workers and jobs.
This gem work only with sidekiq version more than 3.3.4
Screenshots
Also you can check heroku application with rails app with this sidekiq plugin
Index page:
Worker page with table (per day):
Worker page with log:
Installation
Add this line to your application's Gemfile:
gem 'sidekiq-statistic'
And then execute:
$ bundle
Usage
Open in your browser <sidekiq-path>/statistic
page.
Not rails application
First step: read sidekiq documentation.
Second step: add require 'sidekiq-statistic'
to you config.ru
. For example:
# config.ru
require 'sidekiq/web'
require 'sidekiq-statistic'
use Rack::Session::Cookie, secret: 'some unique secret string here'
Sidekiq::Web.instance_eval { @middleware.reverse! } # Last added, First Run
run Sidekiq::Web
Configuration
Sidekiq statistic gem have log_file
option. This option lets you specify a custom path to sidekiq log file. By default this option equal log/sidekiq.log
Sidekiq::Statistic.configure do |config|
config.log_file = 'test/helpers/logfile.log'
end
JSON API
/api/statistic.json
Returns statistic for each worker.
Params:
dateFrom
- Date start (format:yyyy-mm-dd
)dateTo
- Date end (format:yyyy-mm-dd
)
Example:
$ curl http://example.com/sidekiq/api/statistic.json?dateFrom=2015-07-30&dateTo=2015-07-31
# =>
{
"workers": [
{
"name": "Worker",
"last_job_status": "passed",
"number_of_calls": {
"success": 1,
"failure": 0,
"total": 1
},
"runtime": {
"last": "2015-07-31 10:42:13 UTC",
"max": 4.002,
"min": 4.002,
"average": 4.002,
"total": 4.002
}
},
...
]
}
/api/statistic/:worker_name.json
Returns worker statistic for each day in range.
Params:
dateFrom
- Date start (format:yyyy-mm-dd
)dateTo
- Date end (format:yyyy-mm-dd
)
Example:
$ curl http://example.com/sidekiq/api/statistic/Worker.json?dateFrom=2015-07-30&dateTo=2015-07-31
# =>
{
"days": [
{
"date": "2015-07-31",
"failure": 0,
"success": 1,
"total": 1,
"last_job_status": "passed",
"runtime": {
"last": null,
"max": 0,
"min": 0,
"average": 0,
"total": 0
}
},
...
]
}
How it works
Contributing
- Fork it ( https://github.com/davydovanton/sidekiq-statistic/fork )
- 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 a new Pull Request