- Notifications
You must be signed in to change notification settings - Fork83
See statistic about your workers
License
davydovanton/sidekiq-statistic
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Improved display of statistics for your Sidekiq workers and jobs.
Add this line to your application's Gemfile:
gem 'sidekiq-statistic'
And then execute:
$ bundle
ReadSidekiq documentation to configure Sidekiq Web UI in yourroutes.rb
.
When Sidekiq Web UI is active you're going be able to see the optionStatistic
on the menu.
ReadSidekiq documentation to configure Sidekiq in your Rack server.
Next addrequire 'sidekiq-statistic'
to yourconfig.ru
.
# config.rurequire'sidekiq/web'require'sidekiq-statistic'useRack::Session::Cookie,secret:'some unique secret string here'runSidekiq::Web
The Statistic configuration is an initializer that GEM uses to configure itself. The optionmax_timelist_length
is used to avoid memory leak, in practice, whenever the cache size reaches that number, the GEM is goingto remove 25% of the key values, avoiding inflating memory.
Sidekiq::Statistic.configuredo |config|config.max_timelist_length=250_000end
Statistic support the following Sidekiq versions:
- Sidekiq 6.
- Sidekiq 5.
- Sidekiq 4.
- Sidekiq 3.5.
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 } }, ... ] }
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 } }, ... ]}
You can update your worker statistic inside middleware. For this you should to updatesidekiq:statistic
redis hash.This hash has the following structure:
sidekiq:statistic
- redis hash with all statisticyyyy-mm-dd:WorkerName:passed
- count of passed jobs for Worker name on yyyy-mm-ddyyyy-mm-dd:WorkerName:failed
- count of failed jobs for Worker name on yyyy-mm-ddyyyy-mm-dd:WorkerName:last_job_status
- string with status (passed
orfailed
) for last jobyyyy-mm-dd:WorkerName:last_time
- date of last job performingyyyy-mm-dd:WorkerName:queue
- name of job queue (default
by default)
For time information you should push the runtime value toyyyy-mm-dd:WorkerName:timeslist
redis list.
- 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
About
See statistic about your workers
Topics
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.