This is a simple client for statsd. It's roughly equivalent to the php and python examples included in the statsd repo. I put it in a gem to make it easy to install, reuse, etc.
require 'rubygems'
require 'statsd'
Statsd.host = 'localhost'
Statsd.port = 8125
Statsd.increment('some_counter') # basic incrementing
Statsd.increment('system.nested_counter', 0.1) # incrementing with sampling (10%)
Statsd.decrement(:some_other_counter) # basic decrememting using a symbol
Statsd.decrement('system.nested_counter', 0.1) # decrementing with sampling (10%)
Statsd.timing('some_job_time', 20) # reporting job that took 20ms
Statsd.timing('some_job_time', 20, 0.05) # reporting job that took 20ms with sampling (5% sampling)
Statsd.gauge('some_gauge', 1337) # sending gauge values
Statsd.gauge('system.nested_gauge', 1337, 0.1) # sending gauge with sampling
# passing a block to `timing` will capture the time it takes to execute
Statsd.timing('some_job_time') do
# do some job
end