v3.3.4.4 * Fixing README and Rakefile to indicate clearly that this is a fork v3.3.4.3 * No changes from 3.3.4.1.fork2. Simply bumping to a non-prelease version v3.3.4.1.fork2 * Fix instrumentation for DataMapper v3.3.4.1 * Bug fix when rendering empty collection in Rails 3.1+ v3.3.4 * Rails 3 view instrumentation v3.3.3 * Improved Sinatra instrumentation * Limit the number of nodes collected in long running transactions to prevent leaking memory v3.3.2.1 * [SECURITY] fix for cookie handling by End User Monitoring instrumentation v3.3.2 * deployments recipe change: truncate git SHAs to 7 characters * Fixes for obfuscation of PostgreSQL and SQLite queries * Fix for lost database connections when using a forking framework * Workaround for RedHat kernel bug which prevented blocking reads of /proc fs * Do not trap signals when handling exceptions v3.3.1 * improved Ruby 1.8.6 support * fix for issues with RAILS_ROOT deprecation warnings * fixed incorrect 1.9 GC time reporting * obfusction for Slow SQL queries respects transaction trace config * fix for RUM instrumentation repoting bad timing info in some cases * refactored ActiveRecord instrumentation, no longer requires Rails v3.3.0 * fix for GC instrumentation when using Ruby 1.9 * new feature to correlate browser and server transaction traces * new feature to trace slow sql statements * fix to help cope with malformed rack responses * do not try to instrument versions of ActiveMerchant that are too old v3.2.0.1 * Updated LICENSE * Updated links to support docs v3.2.0 * Fix over-detection of mongrel and unicorn and only start the agent when actual server is running * Improve developer mode backtraces to support ruby 1.9.2, windows * Fixed some cases where Memcache instrumentation was failing to load * Ability to set log destination by NEW_RELIC_LOG env var * Fix to mutex lib load issue * Performance enhancements (thanks to Jeremy Kemper) * Fix overly verbose STDOUT message (thanks to Anselm Helbig) v3.1.2 * Fixed some thread safety issues * Work around for Ruby 1.8.7 Marshal crash bug * Numerous community patches (Gabriel Horner, Bradley Harris, Diego Garcia, Tommy Sullivan, Greg Hazel, John Thomas Marino, Paul Elliott, Pan Thomakos) * Fixed RUM instrumentation bug v3.1.1 * Support for Rails 3.1 (thanks to Ben Hoskings via github) * Support for Rubinius * Fixed issues affecting some Delayed Job users where log files were not appearing * Fixed an issue where some instrumentation might not get loaded in Rails apps * Fix for memcached cas method (thanks to Andrew Long and Joseph Palermo ) * Fix for logger deprecation warning (thanks to Jonathan del Strother via github) * Support for logging to STDOUT * Support for Spymemcached client on jruby v3.1.0 * Support for aggregating data from short-running processes to reduce reporting overhead * Numerous bug fixes * Increased unit test coverage v3.0.1 * Updated Real User Monitoring to reduce javascript size and improve compatibility, fix a few known bugs v3.0.0 * Support for Real User Monitoring * Back end work on internals to improve reliability * added a 'log_file_name' and 'log_file_path' configuration variable to allow setting the path and name of the agent log file * Improve reliability of statistics calculations * Remove some previously deprecated methods * Remove Sequel instrumentation pending more work v2.14.1 * Avoid overriding methods named 'log' when including the MethodTracer module * Ensure that all load paths for 'new_relic/agent' go through 'new_relic/control' first * Remove some debugging output from tests v2.14.0 * Dependency detection framework to prevent multi-loading or early-loading of instrumentation files v2.13.5 * Moved the API helper to the github newrelic_api gem. * Revamped queue time to include server, queue, and middleware time * Increased test coverage and stability * Add Trinidad as a dispatcher (from Calavera, on github) * Sequel instrumentation from Aman Gupta * patches to 1.9 compatibility from dkastner on github * Support for 1.9.2's garbage collection instrumentation from Justin Weiss * On Heroku, existing queue time headers will be detected * Fix rack constant scoping in dev mode for 1.9 (Rack != ::Rack) * Fixes for instrumentation loading failing on Exception classes that are not subclasses of StandardError * Fix active record instrumentation load order for Rails 3 v2.13.4 * Update DNS lookup code to remove hardcoded IP addresses v2.13.3 * Dalli instrumentation from Mike Perham (thanks Mike) * Datamapper instrumentation from Jordan Ritter (thanks Jordan) * Apdex now defaults to 0.5 !!! Please be aware that if you are not setting an apdex, !!! this will cause a change in the apparent performance of your app. * Make metric hashes threadsafe (fixes problems sending metrics in Jruby threaded code) * Delete obsolete links to metric docs in developer mode * Detect gems when using Bundler * Fix newrelic_ignore in Rails 3 * Break metric parser into a seperate vendored gem * When using Unicorn, preload_app: true is recommended to get proper after_fork behavior. v2.13.2 * Remove a puts. Yes, a whole release for a puts. v2.13.1 * Add missing require in rails 3 framework control v2.13.0 * developer mode is now a rack middleware and can be used on any framework; it is no longer supported automatically on versions of Rails prior to 2.3; see README for details * memcache key recording for transaction traces * use system_timer gem if available, fall back to timeout lib * address instability issues in JRuby 1.2 * renamed executable 'newrelic_cmd' to 'newrelic'; old name still supported for backward compatibility * added 'newrelic install' command to install a newrelic.yml file in the current directory * optimization to execution time measurement * optimization to startup sequence * change startup sequence so that instrumentation is installed after all other gems and plugins have loaded * add option to override automatic flushing of data on exit--send_data_on_exit defaults to 'true' * ignored errors no longer affect apdex score * added record_transaction method to the api to allow recording details from web and background transactions occurring outside RPM * fixed a bug related to enabling a gold trial / upgrade not sending trasaction traces correctly v2.12.3 * fix regression in startup sequence v2.12.2 * fix for regression in Rails 2.1 inline rendering * workaround bug found in some rubies that caused a segv and/or NoMemoryError when deflating content for upload * avoid creating connection thread in unicorn/passenger spawners v2.12.1 * fix bug in profile mode * fix race condition in Delayed::Job instrumentation loading * fix glassfish detection in latest glassfish gem v2.12.0 * support basic instrumentation for ActsAsSolr and Sunspot v2.11.3 * fix bug in startup when running JRuby v2.11.2 * fix for unicorn not reporting when the proc line had 'master' in it * fix regression for passenger 2.0 and earlier * fix after_fork in the shim v2.11.1 * republished gem without generated rdocs v2.11.0 * rails3 instrumentation (no developer mode support yet) * removed the ensure_worker_thread started and instead defined an after_fork handler that will set up the agent properly in forked processes. * change at_exit handler so the shutdown always goes after other shutdown handlers * add visibility to active record db transactions in the rpm transaction traces (thanks to jeremy kemper) * fix regression in merb support which caused merb apps not to start * added NewRelic::Agent.logger to the public api to write to the agent log file. * optimizations to background thread, controller instrumentation, memory usage * add logger method to public_api * support list notation for ignored exceptions in the newrelic.yml v2.10.8 * fix bug in delayed_job instrumentation that caused the job queue sampler to run in the wrong place * change startup sequence and code that restarts the worker loop thread * detect the unicorn master and dont start the agent; hook in after_fork * fix problem with the Authlogic metric names which caused errors in developer mode. Authlogic metrics now adhere to the convention of prefixing the name with 'Custom' * allow more correct overriding of transaction trace settings in the call to #manual_start * simplify WorkerLoop and add better protection for concurrency * preliminary support for rails3 v2.10.6 * fix missing URL and referer on some traced errors and transactions * gather traced errors *after* executing the rescue chain in ActionController * always load controller instrumentation * pick up token validation from newrelic.yml v2.10.5 * fix bug in delayed_job instrumentation occurring when there was no DJ log v2.10.4 * fix incompatibility with Capistrano 2.5.16 * strip down URLs reported in transactions and errors to path only v2.10.3 * optimization to reduce overhead: move background samplers into foreground thread * change default config file to ignore RoutingErrors * moved the background task instrumentation into a separate tab in the RPM UI * allow override of the RPM application name via NEWRELIC_APP_NAME environment variable * revised Delayed::Job instrumentation so no manual_start is required * send buffered data on shutdown * expanded support for queue length and queue time * remove calls to starts_with to fix Sinatra and non-rails deployments * fix problem with apdex scores recording too low in some circumstances * switch to jeweler for gem building * minor fixes, test improvements, doc and rakefile improvements * fix incompatibility with Hoptoad where Hoptoad was not getting errors handled by New Relic * many other optimizations, bug fixes and documentation improvements v2.10.2. * beta release of 2.10 * fix bugs with Sinatra app instrumentation * minor doc updates v2.10.1. * alpha release of 2.10 * 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 * optimization: reduce wakeup times for harvest thread v2.10.0. * alpha release of 2.10 * 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