v2.10.2.2. * extract contributed instrumentation into new contrib gem: http://github.com/newrelic/rpm_contrib * expanded support for queue length and queue time * remove calls to starts_with to fix Sinatra and non-rails deployments * fix problem with apdex recording * switch to jeweler for gem building * minor fixes, test improvements, doc and rakefile improvements v2.10.2.1. * fix bugs with Sinatra app instrumentation * minor doc updates v2.10.2.0. * beta release of 2.10 v2.10.1. * rack support, including metal; ignores 404s; requires a module inclusion (see docs) * sinatra support, displays actions named by the URI pattern matched * add API method to abort transaction recording for in-flight transactions * remove account management calls from newrelic_api.rb * truncating extremely large transaction traces for efficiency * fix error reporting in recipes; add newrelic_rails_env option to recipes to override the rails env used to pull the app_name out of newrelic.yml * added TorqueBox recognition (thanks Bob McWhirter) * renamed config settings: enabled => monitor_mode; developer => developer_mode; old names will still work in newrelic.yml * instrumentation for DelayedJob (thanks Travis Tilley) * added config switches to turn off certain instrumentation when you aren't interested in the metrics, to save on overhead--see newrelic.yml for details. * add profiling support to dev mode; very experimental! * add 'multi_threaded' config option to indicate when the app is running multi-threaded, so we can disable some instrumentation * fix test failures in JRuby, REE * improve Net::HTTP instrumentation so its more efficient and distinguishes calls between web and non-web transactions. * database instrumentation notices all database commands in addition to the core commands * add support for textmate to dev mode * added add_transaction_tracer method to support instrumenting methods as if they were web transactions; this will facilitate better visibility of background tasks and eventually things like rack, metal and Sinatra * adjusted apdex scores to reflect time spent in the mongrel queue * fixed incompatibility with JRuby on startup * implmented CPU measure for JRuby which reflects the cpu burn for all controller actions (does not include background tasks) * fixed scope issue with GC instrumentation, subtracting time from caller * added # of GC calls to GC instrumentation * renamed the dispatcher metric * refactored stats_engine code for readability v2.10.0. * support unicorn * instrumentation of GC for REE and MRE with GC patch * support agent restarting when changes are made to the account * removed #newrelic_notice_error from Object class, replaced by NewRelic::Agent#notic_error * collect histogram statistics * add custom parameters to newrelic_notice_error call to display extra info for errors * add method disable_all_tracing(&block) to execute a block without capturing metrics * newrelic_ignore now blocks all instrumentation collection for the specified actions * added doc to method_tracer API and removed second arg requirement for add_method_tracer call * instrumentation for Net::HTTP * remove method_tracer shim to avoid timing problems in monitoring daemons * for non-rails daemons, look at APP_ROOT and NRCONFIG env vars for custom locations v2.9.9. * Disable at_exit handler for Unicorn which sometimes caused the agent to stop reporting immediately. v2.9.8. * add instrumentation for Net::HTTP calls, to show up as "External" * added support for validating agents in the cloud. * recognize Unicorn dispatcher * add NewRelic module definitions to ActiveRecord instrumentation v2.9.5. * Snow Leopard memory fix v2.9.4. * clamp size of data sent to server * reset statistics for passenger when forking to avoid erroneous data * fix problem deserializing errors from the server * fix incompatibility with postgres introduced in 2.9. v2.9.3. * fix startup failure in Windows due to memory sampler * add JRuby environment information v2.9.2. * change default apdex_t to 0.5 seconds * fix bug in deployments introduced by multi_homed setting * support overriding the log in the agent api * fix JRuby problem using objectspace * display custom parameters when looking at transactions in dev mode * display count of sql statements on the list of transactions in dev mode * fixes for merb--thanks to Carl Lerche v2.9.1. * add newrelic_ignore_apdex method to controller classes to allow you to omit some actions from apdex statistics * Add hook for Passenger shutdown events to get more timely shutdown notices; this will help in more accurate memory readings in Passenger * add newrelic_notice_error to Object class * optional ability to verify SSL certificates, note that this has some performance and reliability implications * support multi-homed host with multiple apps running on duplicate ports v2.9.0. Noteworthy Enhancements * give visibility to templates and partials in Rails 2.1 and later, in dev mode and production * change active record metrics to capture statistics in adapter log() call, resulting in lower overhead and improved visibility into different DB operations; only AR operations that are not hitting the query cache will be measured to avoid overhead * added mongrel_rpm to the gem, a standalone daemon listening for custom metric values sent from local processes (experimental); do mongrel_rpm --help * add API for system monitoring daemons (refer to KB articles); changed API for manual starting of the agent; refer to NewRelic::Agent.manual_start for details * do certificate verification on ssl connections to collector.newrelic.com * support instances appearing in more than one application by allowing a semicolon separated list of names for the newrelic.yml app_name setting. * combined agent logfiles into a single logfile * use rpm server time for transaction traces rather than agent time Developer Mode (only) Enhancements * show partial rendering in traces * improved formatting of metric names in traces * added number of queries to transactions in the transaction list * added some sorting options for the transaction list * added a page showing the list of active threads Compatibility Enhancements * ruby 1.9.1 compatibility * support concurrency when determining busy times, for 2.2 compatibility * in jruby, use Java used heap for memory sampling if the system memory is not accessible from an unsupported platform * jruby will no longer start the agent now when running the console or rake tasks * API support for RPM as a footnote add-in * webrick support restored Noteworthy bugfixes * sample memory on linux by reading /proc/#{$$}/status file * fixed ambiguous 'View' metrics showing up in controller breakdown * removed Numeric extensions, including round_to, and to_ms * using a different timeout mechanism when we post data to RPM * remove usage of Rails::Info which had a side effect of enabling ActiveRecord even when it wasn't an active framework * moved CPU sampler off background thread and onto the harvest thread * tests now run cleanly in any rails app using test:newrelic or test:plugins Agent improvements to support future RPM enhancements * add instrumentation to capture metrics on response codes; not yet working in rails 2.3.* * added http referer to traced errors * capture gem requirements from rails * capture cpu utilization adjusted for processor count * transaction sampling v2.8.10. * fix thin support with rails 2.3.2 when using script/server * fix incompatibility with rails 2.3.2 and script/server options processing * minor tweak to environment gathering for gem mode v2.8.9. * fix problem finding the newrelic controller in dev mode * fix incompatibility with older versions of optparse * fix potential jvm problem with jruby * remove test:all task definition to avoid conflicts * change error message about window sampler in windows not supported to a warning message v2.8.8. * fix error with jruby on windows * fix problem where webrick was being incorrectly detected causing some problems with mongrel application assignments--had to disable webrick for now v2.8.7. * fix for ssl connection hanging problems * fix problem recognizing mongrel in rails 2.3.2 * fastcgi support in rails 2.3.2 * put back webrick support v2.8.6. * fix for capture_params when using file uploads in controller actions * use pure ruby NS lookup for collector host to eliminate possibly blocking applications v2.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 v2.8.4. * fix bug in capistrano recipe causing cap commands to fail with error about not finding Version class v2.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 v2.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 v2.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 v2.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 v2.7.4. * fix error when trying to serialize some kinds of Enumerable objects * added extra debug logging * added app_name to app mapping v2.7.3. * fix compatibility issue with 1.8.5 causing error with Dir.glob v2.7.2. * fix problem with passenger edge not being a detected environment v2.7.1. * fix problem with skipped dispatcher instrumentation v2.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 v2.5.3. * fix error in transaction tracing causing traces not to show up v2.5.2. * fixes for postgres explain plan support v2.5.1. * bugfixes v2.5.0. * add agent support for rpm 1.1 features * Fix regression error with thin support v2.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 v2.4.2. * error reporting in early access v2.4.1. * bugfix: initializing developer mode v2.4.0. * Beta support for LiteSpeed and Passenger v2.3.7. * bugfixes v2.3.6. * bugfixes v2.3.5. * bugfixes: pie chart data, rails 1.1 compability v2.3.4. * bugfix v2.3.3. * bugfix for non-mysql databases v2.3.2. * bugfixes * Add enhancement for Transaction Traces early access feature v2.3.1. * bugfixes v2.3.0. + Add support for Transaction Traces early access feature v2.2.2. * bugfixes v2.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 v2.1.6. * bugfixes v2.1.5. * bugfixes v2.1.4. * bugfixes v2.1.3. * bugfixes v2.1.2. * bugfixes v2.1.1. * bugfixes v2.1.0. * release for private beta