A gem to simplify how metrics are being collected in Ruby-based applications.
As of now, the code is tested and optimized for usage on Heroku with the Librato add-on and all the metrics are collected via the application log.
Make sure that you start the collector somewhere in an initializer or before the you want to start collecting metrics:
ActiveMetrics::Collector.attach
Then include the module and then start collecting the metrics you want:
require 'active_metrics'
class Foo
include ActiveMetrics::Instrumentable
def bar
count 'method.bar'
end
end
Available methods:
count
: add a value (default is 1) to a countermeasure
: individual measurements that comprise a statistical distribution (i.e. latency measurements)sample
: simple key/numerical value pair
Be mindful of any kind of conflicts when including the module in your class.
For various environments (development and QA), the metrics can be a bit too
verbose and have very little value. In those cases, the metrics can be disabled
using by using the SILENT_METRICS=1
environment variable.
Bug reports and pull requests are welcome on GitHub at https://github.com/andreimaxim/active_metrics.
The gem is available as open source under the terms of the MIT License.