New Relic RPM Agent
Clone or download
Pull request Compare This branch is 12082 commits behind newrelic:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


= New Relic RPM


New Relic RPM is a Ruby performance management system, developed by
New Relic, Inc.  RPM provides you with deep information about the
performance of your Ruby on Rails or Merb application as it runs in
production. The New Relic Agent is distributed as a either a Rails
plugin or a Gem, both hosted on RubyForge.

The New Relic Agent runs in one of two modes:

* Developer Mode : Adds a web interface mapped to /newrelic to your
  application for showing detailed performance metrics on a page by
  page basis.
* Production Mode : Low overhead instrumentation that captures
  detailed information on your application running in production and
  transmits them to where you can monitor them in
  real time.

=== Developer Mode

Developer mode is on by default when you run your application in the
development environment (but not when it runs in other environments.)
When running in developer mode, RPM will track the performance of
every http request serviced by your application, and store in memory
this information for the last 100 http transactions.

When running in Developer Mode, the RPM will also add a few pages to
your application that allow you to analyze this performance
information. (Don't worry - those pages are not added to your
application's routes when you run in production mode.)

To view this performance information, including detailed SQL statement
analysis, open '/newrelic' in your web application.  For instance if
you are running mongrel or thin on port 3000, enter the following into
your browser:


=== Production Mode

To monitor your applications in production, create an account at

When your application runs in the production environment, the New
Relic agent runs in production mode. It connects to the New Relic RPM
service and sends deep performance data to the RPM service for your
analysis. To view this data, login to

NOTE: You must have a valid account and license key to view this data
online.  When you sign up for an account at, you will
be provided with a license key, as well as a default configuration
file for New Relic RPM. You can either paste your license key into
your existing configuration file, config/newrelic.yml, or you can
replace that config file with the one included in your welcome email.

== Installation

RPM requires an agent be installed in the application as either a
Rails plug-in or a gem.  Both are available on RubyForge--instructions

=== Git your RPM on!

The agent is also available on Github under newrelic/rpm.  Fork away!

=== Requirements:

Ruby 1.8.6 or 1.9.1
Rails 1.2.6 or above
Merb 1.0 or above

=== Rails Plug-In Installation

   script/plugin install
=== Gem Installation

   sudo gem install newrelic_rpm

For Rails, edit environment.rb and add to the initalizer block:

   config.gem "newrelic_rpm" 

The Developer Mode is unavailable when using the gem on Rails versions
prior to 2.0.

== Merb Support

To monitor a merb app install the newrelic_rpm gem and add

    dependency 'newrelic_rpm'

to your init.rb file.

Current features implemented:

    * Standard monitoring, overview pages
    * Error capturing
    * Full Active Record instrumentation, including SQL explains
    * Very limited Data Mapper instrumentation
    * Transaction Traces are implemented but will not be very useful
      with Data Mapper until more work is done with the Data Mapper

Still under development:

    * Developer Mode
    * Data Mapper bindings

== Support

Reach out to us--and to fellow RPM users--at  There you'll find documentation, FAQs,
and forums where you can submit suggestions and discuss RPM with New
Relic staff and other users.

Find a bug?  E-mail, or post it to

For other support channels, see

Thank you, and may your application scale to infinity plus one.  

Lew Cirne, Founder and CEO
New Relic, Inc.