https://github.com/phstc/sidekiq-statsd
Sidekiq StatsD is a Sidekiq server middleware to send Sidekiq worker metrics through statsd.
https://github.com/phstc/sidekiq-statsd
Last synced: 9 months ago
JSON representation
Sidekiq StatsD is a Sidekiq server middleware to send Sidekiq worker metrics through statsd.
- Host: GitHub
- URL: https://github.com/phstc/sidekiq-statsd
- Owner: phstc
- License: mit
- Created: 2013-05-23T00:44:32.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2020-12-03T00:45:47.000Z (over 5 years ago)
- Last Synced: 2025-01-02T13:31:42.107Z (over 1 year ago)
- Language: Ruby
- Homepage:
- Size: 6.33 MB
- Stars: 36
- Watchers: 2
- Forks: 25
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Sidekiq::Statsd
[](http://travis-ci.org/phstc/sidekiq-statsd)
[](https://gemnasium.com/phstc/sidekiq-statsd)
Sidekiq StatsD is a [Sidekiq server middleware](https://github.com/mperham/sidekiq/wiki/Middleware) to send Sidekiq metrics through [statsd](https://github.com/reinh/statsd):
- [global metrics](https://github.com/mperham/sidekiq/wiki/API#wiki-stats)
- [queue metrics](https://github.com/mperham/sidekiq/wiki/API#queue)
- [worker metrics](https://github.com/mperham/sidekiq/wiki/API#workers) (`processing`, `runtime`)
- job metrics (`processing_time` and `success` / `failure`)
## Compatibility
Sidekiq::Statsd is tested against [several Ruby versions](.travis.yml#L4).
## Installation
Add these lines to your application's Gemfile:
gem "statsd-ruby"
# or if you are using Datadog
# gem "dogstatsd-ruby"
gem "sidekiq-statsd"
And then execute:
$ bundle
Or install it yourself as:
$ gem install sidekiq-statsd
## Configuration
In a Rails initializer or wherever you've configured Sidekiq, add
Sidekiq::Statsd to your server middleware:
```ruby
require 'statsd'
statsd = Statsd.new('localhost', 8125)
# or if you are using Datadog
# require 'datadog/statsd'
# statsd = Datadog::Statsd.new('localhost', 8125)
Sidekiq.configure_server do |config|
config.server_middleware do |chain|
chain.add Sidekiq::Statsd::ServerMiddleware, env: "production", prefix: "worker", statsd: statsd
end
end
```
### Sidekiq::Statsd::ServerMiddleware options
```ruby
# @param [Hash] options The options to initialize the StatsD client.
# @option options [Statsd] :statsd Existing [statsd client](https://github.com/github/statsd-ruby) to use.
# @option options [String] :env ("production") The env to segment the metric key (e.g. env.prefix.worker_name.success|failure).
# @option options [String] :prefix ("worker") The prefix to segment the metric key (e.g. env.prefix.worker_name.success|failure).
# @option options [String] :sidekiq_stats ("true") Send Sidekiq global stats e.g. total enqueued, processed and failed.
```
## 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
## License
MIT Licensed. See [LICENSE](LICENSE) for details.