Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

See statistic about your workers

License

NotificationsYou must be signed in to change notification settings

davydovanton/sidekiq-statistic

Repository files navigation

Build StatusCode ClimateGitter

Improved display of statistics for your Sidekiq workers and jobs.

Screenshots

Index page:

sidekiq-history_index

Worker page with table (per day):

sidekiq-history_worker

Installation

Add this line to your application's Gemfile:

gem 'sidekiq-statistic'

And then execute:

$ bundle

Usage

Using Rails

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.

Using a standalone application

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

Configuration

The Statistic configuration is an initializer that GEM uses to configure itself. The optionmax_timelist_lengthis 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

Supported Sidekiq versions

Statistic support the following Sidekiq versions:

  • Sidekiq 6.
  • Sidekiq 5.
  • Sidekiq 4.
  • Sidekiq 3.5.

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      }    },    ...  ]}

Update statistic inside middleware

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 statistic
    • yyyy-mm-dd:WorkerName:passed - count of passed jobs for Worker name on yyyy-mm-dd
    • yyyy-mm-dd:WorkerName:failed - count of failed jobs for Worker name on yyyy-mm-dd
    • yyyy-mm-dd:WorkerName:last_job_status - string with status (passed orfailed) for last job
    • yyyy-mm-dd:WorkerName:last_time - date of last job performing
    • yyyy-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.

How it works

Big image 'how it works'

how-it-works

Contributing

  1. Fork it (https://github.com/davydovanton/sidekiq-statistic/fork )
  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 a new Pull Request

About

See statistic about your workers

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors36


[8]ページ先頭

©2009-2025 Movatter.jp