# resque-statsd

Resque Statsd is a Resque plugin that will collect and send data samples from your Resque Jobs. It samples 4 statistics for any Job for which the plugin extends, enqueue count, completion count, failure count, and the time to process. It will monitor for each specific job, in addition to the totals for all jobs (not including timing stats)

## CURRENT STATUS

This is a fork of jamster’s original gem designed to make it easier to run with Bundler and Rails 3.0.

## Final Outcome

![Graph of a Job]( “Report Running Job Stats”)

## Usage

### Install

Add this to your Gemfile:

gem "resque-statsd", :git => "git://github.com/cloudability/resque-statsd.git"

### Rails Setup

in an initializer, set up the Statsd

touch  config/initializers/resque-statsd.rb

in file add code

require 'enqueue_time'

module Resque
  include Resque::EnqueueTime
end

StatsdHelper.graphite_host = 'graphite.YOUR_HOST.com'
StatsdHelper.namespace = "YOUR_APP.#{Rails.env.development? ? ENV['USER'] : Rails.env}.resque"

Change ‘YOUR_HOST` and `YOUR_APP` accordingly.

### In Your Code

Extend your class like this:

class MyJob
  extend Resque::Plugins::Statsd
  def self.perform(*payload)
    # ..
  end
end

## Background Reading

### Graphite

graphite.wikidot.com/

### StatsD Comes From Etsy

The folks at Etsy (kastner) have come up with a neat node.js app to listen for Graphite stats.

### Ruby StatsD Client

I’ve required a particular version (jnunemaker’s) of the ruby StatsD client Read the post here

## Contributing to resque-statsd

## Copyright

Copyright © 2011 Jason Amster. See LICENSE.txt for further details.