Notes:
= New Relic RPM
* http://www.newrelic.com
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 rpm.newrelic.com 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:
http://localhost:3000/newrelic
=== Production Mode
To monitor your applications in production, create an account at
http://newrelic.com/get-RPM.html
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 http://rpm.newrelic.com.
NOTE: You must have a valid account and license key to view this data
online. When you sign up for an account at www.newrelic.com, 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
below.
=== Git your RPM on!
The agent is also available on Github under newrelic/rpm. As of March,
2009, we keep the latest release on the master, the edge on a working
branch, and previous releases with tags. Fork away!
=== Requirements:
Ruby 1.8.6
Rails 1.2.6 or above
Merb 1.0 or above
=== Rails Plug-In Installation
script/plugin install http://newrelic.rubyforge.net/svn/newrelic_rpm
=== 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
instrumentation
Still under development:
* Developer Mode
* Data Mapper bindings
Also some of the instrumentation has been implemented with method
chaining, a mechanism that truly goes against the merb way. This was
necessary in some cases where the API’s were not yet available or
understood well enough to use. Converting these to hook methods using
the Merb public API is a work in progress.
== Support
Reach out to us--and to fellow RPM users--at
http://support.newrelic.com. 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 support@newrelic.com, or post it to
support.newrelic.com.
For other support channels, see http://www.newrelic.com/support.
Thank you, and may your application scale to infinity plus one.
Lew Cirne, Founder and CEO
New Relic, Inc.
Changes:
2009-03-16 version 2.8.6
* fix for capture_params when using file uploads in controller actions
* use Resolv::getaddress rather than allowing the default DNS to stall
the VM
2009-02-22 version 2.8.5
* fix reference to CommandError which was breaking some cap scripts
* fix incompatibility with Rails 2.0 in the server API
* fix problem with litespeed with Lite accounts
* fix problem when ActiveRecord is disabled
* moved merb instrumentation to Merb::Controller instead of
AbstractController to address incompatibility with MailController
* fix problem in devmode displaying sql with embedded urls
2009-02-17 version 2.8.4
* fix bug detecting Phusion Passenger v 2.1.0
* fix bug in capistrano recipe causing cap commands to fail with error
about not finding Version class
2009-02-10 version 2.8.3
* refactor unit tests so they will run in a generic rails environment
* require classes in advance to avoid autoloading. this is to address
incompatibilities with desert as well as more flexibility in gem
initialization
* fixed newrelic_helper.rb 1.9 incompatibility
2009-02-07 version 2.8.2
* fix Ruby 1.9 syntax compatibility errors
* update the class loading sanity check, will notify server of errors
* fix agent output on script and rake task execution
2009-01-27 version 2.8.1
* Convert the deployment information upload script to an executable
and put in the bin directory. When installed as a gem this command
is symlinked to /usr/bin. Usage: newrelic_cmd deployments --help
* Fix issue invoking api when host is not set in newrelic.yml
* Fix deployments api so it will work from a gem
* Fix thin incompatibility in developer mode
2008-12-18 version 2.8.0
* add beta of api in new_relic_api.rb
* instrumented dynamic finders in ActiveRecord
* preliminary support for capturing deployment information via capistrano
* change memory sampler for solaris to use /usr/bin/ps
* allow ERB in newrelic.yml file
* merged support for merb into this version
* fix incompatibility in the developer mode with the safe_erb plugin
* fix module namespace issue causing an error accessing NewRelic::Instrumentation modules
* fix issue where the agent sometimes failed to start up if there was a transient network problem
* fix IgnoreSilentlyException message
2008-12-09 version 2.7.4
* fix error when trying to serialize some kinds of Enumerable objects
* added extra debug logging
* added app_name to app mapping
2008-11-26 version 2.7.3
* fix compatibility issue with 1.8.5 causing error with Dir.glob
2008-11-24 version 2.7.2
* fix problem with passenger edge not being a detected environment
2008-11-22 verison 2.7.1
* fix problem with skipped dispatcher instrumentation
2008-11-23 version 2.7.0
* Repackage to support both plugin and Gem installation
* Support passenger/litespeed/jruby application naming
* Update method for calculating dispatcher queue time
* Show stack traces in RPM Transaction Traces
* Capture error source for TemplateErrors
* Clean up error stack traces.
* Support query plans from postgres
* Performance tuning
* bugfixes
2008-10-06 version 2.5.3
* fix error in transaction tracing causing traces not to show up
2008-09-30 version 2.5.2
* fixes for postgres explain plan support
2008-09-09 version 2.5.1
* bugfixes
2008-08-29 version 2.5.0
* add agent support for rpm 1.1 features
* Fix regression error with thin support
2008-08-27 version 2.4.3
* added 'newrelic_ignore' controller class method with :except and :only options for finer grained control
over the blocking of instrumentation in controllers.
* bugfixes
2008-07-31 version 2.4.2
* error reporting in early access
2008-07-30 version 2.4.1
* bugfix: initializing developer mode
2008-07-29 version 2.4.0
* Beta support for LiteSpeed and Passenger
2008-07-28 version 2.3.7
* bugfixes
2008-07-28 version 2.3.6
* bugfixes
2008-07-17 version 2.3.5
* bugfixes: pie chart data, rails 1.1 compability
2008-07-11 version 2.3.4
* bugfix
2008-07-10 version 2.3.3
* bugfix for non-mysql databases
2008-07-07 version 2.3.2
* bugfixes
* Add enhancement for Transaction Traces early access feature
2008-06-26 version 2.3.1
* bugfixes
2008-06-26 version 2.3.0
+ Add support for Transaction Traces early access feature
2008-06-13 version 2.2.2
* bugfixes
2008-06-10 version 2.2.1
+ Add rails 2.1 support for Developer Mode
+ Changes to memory sampler: Add support for JRuby and fix Solaris support.
* Stop catching exceptions and start catching StandardError; other exception cleanup
* Add protective exception catching to the stats engine
* Improved support for thin domain sockets
* Support JRuby environments
2008-05-22 version 2.1.6
* bugfixes
2008-05-22 version 2.1.5
* bugfixes
2008-05-14 version 2.1.4
* bugfixes
2008-05-13 version 2.1.3
* bugfixes
2008-05-08 version 2.1.2
* bugfixes
2008-05-07 version 2.1.1
* bugfixes
2008-04-25 version 2.1.0
* release for private beta
|