Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

metrics-rails

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

metrics-rails

  • 0.2.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

metrics-rails

Build Status

Report key statistics for your Rails app to Librato Metrics, easily track your own custom metrics. Currently supports Rails 3.0+.

NOTE: This is currently in alpha development and is not yet officially supported

Installation

In your Gemfile add:

gem 'metrics-rails'

Then run bundle install.

Configuration

If you don't have a Metrics account already, sign up. In order to send measurements to Metrics you need to provide your account credentials to metrics-rails. You can provide these one of two ways:

Create a config/metrics.yml like the following:

production:
  email: <your-email>
  api_key: <your-api-key>
  

OR provide METRICS_EMAIL and METRICS_API_KEY environment variables. If both env variables and a config file are present, environment variables will take precendence.

Note that using a configuration file allows you to specify configurations per-environment. Submission will be disabled in any environment without credentials. However, if environment variables are set they will be used in all environments.

Full information on configuration options is available on the configuration wiki page.

Automatic Measurements

After installing metrics-rails and restarting your app and you will see a number of new metrics appear in your Metrics account. These track request performance, sql queries, mail handling, and other key stats. All built-in performance metrics start with the prefix rails by convention — for example: rails.request.total is the total number of requests received during an interval.

If you have multiple apps reporting to the same Metrics account you can change this prefix in your configuration.

Custom Measurements

Tracking anything that interests you is easy with Metrics. There are four primary helpers available:

increment

Use for tracking a running total of something across requests, examples:

# increment the 'sales_completed' metric by one
Metrics.increment 'sales_completed'

# increment by five
Metrics.increment 'items_purchased', 5

Other things you might track this way: user signups, requests of a certain type or to a certain route, total jobs queued or processed, emails sent or received

measure

Use when you want to track an average value per-request. Examples:

Metrics.measure 'user.social_graph.nodes', 212

Metrics.measure 'jobs.queued', 3
timing

Like Metrics.measure this is per-request, but specialized for timing information:

Metrics.timing 'twitter.lookup.time', 21.2

The block form auto-submits the time it took for its contents to execute as the measurement value:

Metrics.timing 'twitter.lookup.time' do
  @twitter = Twitter.lookup(user)
end
group

There is also a grouping helper, to make managing nested metrics easier. So this:

Metrics.measure 'memcached.gets', 20
Metrics.measure 'memcached.sets', 2
Metrics.measure 'memcached.hits', 18

Can also be written as:

Metrics.group 'memcached' do |g|
  g.measure 'gets', 20
  g.measure 'sets', 2
  g.measure 'hits', 18
end

Symbols can be used interchangably with strings for metric names.

Contribution

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
  • Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
  • Fork the project and submit a pull request from a feature or bugfix branch.
  • Please include tests. This is important so we don't break your changes unintentionally in a future version.
  • Please don't modify the gemspec, Rakefile, version, or changelog. If you do change these files, please isolate a separate commit so we can cherry-pick around it.

Copyright (c) 2012 Librato Inc. See LICENSE for details.

FAQs

Package last updated on 04 Sep 2012

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc