newrelic_rpm 3.4.1 → 3.4.2.beta1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of newrelic_rpm might be problematic. Click here for more details.

Files changed (81) hide show
  1. data/CHANGELOG +7 -0
  2. data/ReleaseNotes.md +638 -0
  3. data/lib/new_relic/agent/agent.rb +44 -56
  4. data/lib/new_relic/agent/beacon_configuration.rb +1 -1
  5. data/lib/new_relic/agent/browser_monitoring.rb +80 -42
  6. data/lib/new_relic/agent/configuration/defaults.rb +75 -0
  7. data/lib/new_relic/agent/configuration/environment_source.rb +42 -0
  8. data/lib/new_relic/agent/configuration/manager.rb +100 -0
  9. data/lib/new_relic/agent/configuration/server_source.rb +24 -0
  10. data/lib/new_relic/agent/configuration/yaml_source.rb +61 -0
  11. data/lib/new_relic/agent/configuration.rb +48 -0
  12. data/lib/new_relic/agent/error_collector.rb +10 -14
  13. data/lib/new_relic/agent/instrumentation/active_record.rb +1 -5
  14. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +20 -4
  15. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +1 -1
  16. data/lib/new_relic/agent/instrumentation/memcache.rb +2 -2
  17. data/lib/new_relic/agent/instrumentation/metric_frame.rb +1 -1
  18. data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +3 -3
  19. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +2 -2
  20. data/lib/new_relic/agent/instrumentation/resque.rb +1 -1
  21. data/lib/new_relic/agent/method_tracer.rb +1 -1
  22. data/lib/new_relic/agent/new_relic_service.rb +18 -9
  23. data/lib/new_relic/agent/pipe_channel_manager.rb +5 -6
  24. data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +2 -5
  25. data/lib/new_relic/agent/sql_sampler.rb +11 -35
  26. data/lib/new_relic/agent/stats_engine/transactions.rb +2 -2
  27. data/lib/new_relic/agent/transaction_info.rb +24 -4
  28. data/lib/new_relic/agent/transaction_sample_builder.rb +2 -3
  29. data/lib/new_relic/agent/transaction_sampler.rb +9 -16
  30. data/lib/new_relic/agent.rb +4 -1
  31. data/lib/new_relic/collection_helper.rb +1 -1
  32. data/lib/new_relic/commands/deployments.rb +5 -3
  33. data/lib/new_relic/control/class_methods.rb +2 -3
  34. data/lib/new_relic/control/frameworks/rails.rb +8 -8
  35. data/lib/new_relic/control/frameworks/ruby.rb +2 -2
  36. data/lib/new_relic/control/instance_methods.rb +26 -32
  37. data/lib/new_relic/control/logging_methods.rb +5 -23
  38. data/lib/new_relic/control/server_methods.rb +11 -18
  39. data/lib/new_relic/control.rb +0 -1
  40. data/lib/new_relic/delayed_job_injection.rb +1 -1
  41. data/lib/new_relic/language_support.rb +8 -0
  42. data/lib/new_relic/noticed_error.rb +1 -1
  43. data/lib/new_relic/rack/browser_monitoring.rb +18 -6
  44. data/lib/new_relic/version.rb +2 -2
  45. data/newrelic.yml +0 -4
  46. data/newrelic_rpm.gemspec +16 -6
  47. data/test/config/newrelic.yml +3 -2
  48. data/test/new_relic/agent/agent/connect_test.rb +88 -83
  49. data/test/new_relic/agent/agent/start_test.rb +75 -80
  50. data/test/new_relic/agent/agent/start_worker_thread_test.rb +18 -18
  51. data/test/new_relic/agent/beacon_configuration_test.rb +13 -11
  52. data/test/new_relic/agent/browser_monitoring_test.rb +69 -14
  53. data/test/new_relic/agent/configuration/environment_source_test.rb +58 -0
  54. data/test/new_relic/agent/configuration/manager_test.rb +120 -0
  55. data/test/new_relic/agent/configuration/server_source_test.rb +28 -0
  56. data/test/new_relic/agent/configuration/yaml_source_test.rb +56 -0
  57. data/test/new_relic/agent/error_collector/notice_error_test.rb +63 -50
  58. data/test/new_relic/agent/error_collector_test.rb +10 -12
  59. data/test/new_relic/agent/new_relic_service_test.rb +11 -3
  60. data/test/new_relic/agent/pipe_channel_manager_test.rb +19 -16
  61. data/test/new_relic/agent/rpm_agent_test.rb +21 -19
  62. data/test/new_relic/agent/sql_sampler_test.rb +55 -56
  63. data/test/new_relic/agent/transaction_info_test.rb +45 -4
  64. data/test/new_relic/agent/transaction_sampler_test.rb +48 -44
  65. data/test/new_relic/agent_test.rb +68 -41
  66. data/test/new_relic/collection_helper_test.rb +7 -8
  67. data/test/new_relic/command/deployments_test.rb +12 -1
  68. data/test/new_relic/control/frameworks/rails_test.rb +26 -0
  69. data/test/new_relic/control/logging_methods_test.rb +77 -52
  70. data/test/new_relic/control_test.rb +103 -126
  71. data/test/new_relic/local_environment_test.rb +4 -6
  72. data/test/new_relic/rack/browser_monitoring_test.rb +4 -4
  73. data/test/new_relic/rack/developer_mode_test.rb +13 -7
  74. data/test/new_relic/transaction_sample_test.rb +8 -2
  75. data/test/script/build_test_gem.sh +9 -3
  76. data/test/script/ci.sh +13 -3
  77. data/test/test_helper.rb +9 -2
  78. data/ui/helpers/developer_mode_helper.rb +2 -7
  79. metadata +26 -11
  80. data/lib/new_relic/control/configuration.rb +0 -206
  81. data/test/new_relic/control/configuration_test.rb +0 -77
data/CHANGELOG CHANGED
@@ -1,6 +1,12 @@
1
1
 
2
2
  # New Relic Ruby Agent Release Notes #
3
3
 
4
+ ### Next Up ###
5
+ ## v3.4.2.beta1 ##
6
+ * The RUM NRAGENT tk value gets sanitized to prevent potential XSS vulnerabilities
7
+
8
+ * Refactoring of agent config code
9
+
4
10
  ### current version ###
5
11
  ## v3.4.1 ##
6
12
  #### Bug Fixes ####
@@ -46,6 +52,7 @@
46
52
  v3.4.0.1
47
53
  * Prevent the agent from resolving the collector address when disabled.
48
54
  * Fix for error collector configuration that was introduced during beta.
55
+ * Preserve method visibility when methods are traced with #add_method_tracer and #add_transaction_tracer
49
56
 
50
57
  v3.4.0
51
58
  * Major refactor of data transmission mechanism. This enabled child processes to send data to parent processes, which then send the data to the New Relic service. This should only affect Resque users, dramatically improving their experience.
data/ReleaseNotes.md ADDED
@@ -0,0 +1,638 @@
1
+
2
+
3
+ # New Relic Ruby Agent Release Notes #
4
+
5
+ ### current version ###
6
+ ## v3.4.0 ##
7
+ #### New Feature(s) ####
8
+ * Major refactor of data transmission mechanism. This enabled child processes to send data to parent processes, which then send the data to the New Relic service. This should only affect Resque users, dramatically improving their experience.
9
+
10
+ #### Bug Fixes ####
11
+ * Resolve issue with configuring the Error Collector when using server-side configuration.
12
+
13
+ #### Changes ####
14
+ * Moved Resque instrumentation from rpm_contrib to main agent. Resque users should discontinue use of rpm_contrib or upgrade to 2.1.11.
15
+
16
+ ## v3.3.5
17
+ * Replaced "Custom/DJ Locked Jobs" metric with three new metrics for monitoring DelayedJob: queue_length, failed_jobs, and locked_jobs, all under Workers/DelayedJob
18
+ * Fix allowing instrumentation of methods ending in '?' or '!'
19
+ * Limit scanning first 50k of the response in RUM auto-instrumentation.
20
+ Fix keeping exception from being raised when when extracting metrics from SQL queries with non UTF-8 bytes
21
+
22
+ ### Replaced "Custom/DJ Locked Jobs" metric ###
23
+ The agent had DJ instrumentation which would poll for locked jobs. The old metrics were removed and three new ones added:
24
+ * queue_length: The number of jobs sampled which have a "run_at" value in the past and have a failed_at of NULL.
25
+ * failed_jobs: The number of jobs where failed_at is non null
26
+ * locked_jobs: The number of jobs currently in the locked state.
27
+ all under Workers/DelayedJob
28
+
29
+ ### Fix allowing instrumentation of methods ending in '?' or '!' ###
30
+ Transaction and method tracers failed for methods the end punctuation such as ! or ? in them. The fix corrects code that would attempt to create new methods with the punctuation in the middle, thereby causing a syntax error.
31
+
32
+ ### Limit scanning first 50k of the response in RUM auto-instrumentation. ###
33
+ When there are no body tags (like on an ajax response) and the response is very large, the agent will spend a very large amount of time scanning the response (twice!) for the body tags. This can cause the browser to timeout in the worst case. This fix limits the scanning done by the auto-instrumentation code to the first 50k of the response.
34
+
35
+ ### Fix keeping exception from being raised when when extracting metrics from SQL queries with non UTF-8 bytes ###
36
+ When a query contains invalid UTF-8 bytes (e.g. from binary data) running a regex match will raise an exception. Coercing the data to a binary encoding seems to fix the problem.
37
+ ### Older releases ###
38
+ v3.3.5
39
+ * [FIX] Allow tracing of methods ending in ! and ?
40
+ * [PERF] Give up after scanning first 50k of the response in RUM
41
+ auto-instrumentation.
42
+ * [FIX] Don't raise when extracting metrics from SQL queries with non UTF-8 bytes.
43
+ * Replaced "Custom/DJ Locked Jobs" metric with new metrics for
44
+ monitoring DelayedJob: queue_length, failed_jobs, and locked_jobs, all under
45
+ Workers/DelayedJob. queue_length is also broken out by queue name or priority
46
+ depending on the version of DelayedJob deployed.
47
+
48
+ v3.3.4.1
49
+ * Bug fix when rendering empty collection in Rails 3.1+
50
+
51
+ v3.3.4
52
+ * Rails 3 view instrumentation
53
+
54
+ v3.3.3
55
+ * Improved Sinatra instrumentation
56
+ * Limit the number of nodes collected in long running transactions to prevent leaking memory
57
+
58
+ v3.3.2.1
59
+ * [SECURITY] fix for cookie handling by End User Monitoring instrumentation
60
+
61
+ v3.3.2
62
+ * deployments recipe change: truncate git SHAs to 7 characters
63
+ * Fixes for obfuscation of PostgreSQL and SQLite queries
64
+ * Fix for lost database connections when using a forking framework
65
+ * Workaround for RedHat kernel bug which prevented blocking reads of /proc fs
66
+ * Do not trap signals when handling exceptions
67
+
68
+ v3.3.1
69
+ * improved Ruby 1.8.6 support
70
+ * fix for issues with RAILS_ROOT deprecation warnings
71
+ * fixed incorrect 1.9 GC time reporting
72
+ * obfusction for Slow SQL queries respects transaction trace config
73
+ * fix for RUM instrumentation repoting bad timing info in some cases
74
+ * refactored ActiveRecord instrumentation, no longer requires Rails
75
+
76
+ v3.3.0
77
+ * fix for GC instrumentation when using Ruby 1.9
78
+ * new feature to correlate browser and server transaction traces
79
+ * new feature to trace slow sql statements
80
+ * fix to help cope with malformed rack responses
81
+ * do not try to instrument versions of ActiveMerchant that are too old
82
+
83
+ v3.2.0.1
84
+ * Updated LICENSE
85
+ * Updated links to support docs
86
+
87
+ v3.2.0
88
+ * Fix over-detection of mongrel and unicorn and only start the agent when
89
+ actual server is running
90
+ * Improve developer mode backtraces to support ruby 1.9.2, windows
91
+ * Fixed some cases where Memcache instrumentation was failing to load
92
+ * Ability to set log destination by NEW_RELIC_LOG env var
93
+ * Fix to mutex lib load issue
94
+ * Performance enhancements (thanks to Jeremy Kemper)
95
+ * Fix overly verbose STDOUT message (thanks to Anselm Helbig)
96
+
97
+ v3.1.2
98
+ * Fixed some thread safety issues
99
+ * Work around for Ruby 1.8.7 Marshal crash bug
100
+ * Numerous community patches (Gabriel Horner, Bradley Harris, Diego Garcia,
101
+ Tommy Sullivan, Greg Hazel, John Thomas Marino, Paul Elliott, Pan Thomakos)
102
+ * Fixed RUM instrumentation bug
103
+
104
+ v3.1.1
105
+ * Support for Rails 3.1 (thanks to Ben Hoskings via github)
106
+ * Support for Rubinius
107
+ * Fixed issues affecting some Delayed Job users where log files were not appearing
108
+ * Fixed an issue where some instrumentation might not get loaded in Rails apps
109
+ * Fix for memcached cas method (thanks to Andrew Long and Joseph Palermo )
110
+ * Fix for logger deprecation warning (thanks to Jonathan del Strother via github)
111
+ * Support for logging to STDOUT
112
+ * Support for Spymemcached client on jruby
113
+
114
+ v3.1.0
115
+ * Support for aggregating data from short-running
116
+ processes to reduce reporting overhead
117
+ * Numerous bug fixes
118
+ * Increased unit test coverage
119
+
120
+ v3.0.1
121
+ * Updated Real User Monitoring to reduce javascript size and improve
122
+ compatibility, fix a few known bugs
123
+
124
+ v3.0.0
125
+ * Support for Real User Monitoring
126
+ * Back end work on internals to improve reliability
127
+ * added a 'log_file_name' and 'log_file_path' configuration variable to allow
128
+ setting the path and name of the agent log file
129
+ * Improve reliability of statistics calculations
130
+ * Remove some previously deprecated methods
131
+ * Remove Sequel instrumentation pending more work
132
+
133
+ v2.14.1
134
+ * Avoid overriding methods named 'log' when including the MethodTracer module
135
+ * Ensure that all load paths for 'new_relic/agent' go through 'new_relic/control' first
136
+ * Remove some debugging output from tests
137
+
138
+ v2.14.0
139
+ * Dependency detection framework to prevent multi-loading or early-loading
140
+ of instrumentation files
141
+
142
+ v2.13.5
143
+ * Moved the API helper to the github newrelic_api gem.
144
+ * Revamped queue time to include server, queue, and middleware time
145
+ * Increased test coverage and stability
146
+ * Add Trinidad as a dispatcher (from Calavera, on github)
147
+ * Sequel instrumentation from Aman Gupta
148
+ * patches to 1.9 compatibility from dkastner on github
149
+ * Support for 1.9.2's garbage collection instrumentation from Justin Weiss
150
+ * On Heroku, existing queue time headers will be detected
151
+ * Fix rack constant scoping in dev mode for 1.9 (Rack != ::Rack)
152
+ * Fixes for instrumentation loading failing on Exception classes that
153
+ are not subclasses of StandardError
154
+ * Fix active record instrumentation load order for Rails 3
155
+
156
+ v2.13.4
157
+ * Update DNS lookup code to remove hardcoded IP addresses
158
+
159
+ v2.13.3
160
+ * Dalli instrumentation from Mike Perham (thanks Mike)
161
+ * Datamapper instrumentation from Jordan Ritter (thanks Jordan)
162
+ * Apdex now defaults to 0.5
163
+ !!! Please be aware that if you are not setting an apdex,
164
+ !!! this will cause a change in the apparent performance of your app.
165
+ * Make metric hashes threadsafe (fixes problems sending metrics in Jruby
166
+ threaded code)
167
+ * Delete obsolete links to metric docs in developer mode
168
+ * Detect gems when using Bundler
169
+ * Fix newrelic_ignore in Rails 3
170
+ * Break metric parser into a seperate vendored gem
171
+ * When using Unicorn, preload_app: true is recommended to get proper
172
+ after_fork behavior.
173
+
174
+ v2.13.2
175
+ * Remove a puts. Yes, a whole release for a puts.
176
+
177
+ v2.13.1
178
+ * Add missing require in rails 3 framework control
179
+
180
+ v2.13.0
181
+ * developer mode is now a rack middleware and can be used on any framework;
182
+ it is no longer supported automatically on versions of Rails prior to 2.3;
183
+ see README for details
184
+ * memcache key recording for transaction traces
185
+ * use system_timer gem if available, fall back to timeout lib
186
+ * address instability issues in JRuby 1.2
187
+ * renamed executable 'newrelic_cmd' to 'newrelic'; old name still supported
188
+ for backward compatibility
189
+ * added 'newrelic install' command to install a newrelic.yml file in the
190
+ current directory
191
+ * optimization to execution time measurement
192
+ * optimization to startup sequence
193
+ * change startup sequence so that instrumentation is installed after all
194
+ other gems and plugins have loaded
195
+ * add option to override automatic flushing of data on exit--send_data_on_exit
196
+ defaults to 'true'
197
+ * ignored errors no longer affect apdex score
198
+ * added record_transaction method to the api to allow recording
199
+ details from web and background transactions occurring outside RPM
200
+ * fixed a bug related to enabling a gold trial / upgrade not sending
201
+ trasaction traces correctly
202
+
203
+ v2.12.3
204
+ * fix regression in startup sequence
205
+
206
+ v2.12.2
207
+ * fix for regression in Rails 2.1 inline rendering
208
+ * workaround bug found in some rubies that caused a segv and/or NoMemoryError
209
+ when deflating content for upload
210
+ * avoid creating connection thread in unicorn/passenger spawners
211
+
212
+ v2.12.1
213
+ * fix bug in profile mode
214
+ * fix race condition in Delayed::Job instrumentation loading
215
+ * fix glassfish detection in latest glassfish gem
216
+
217
+ v2.12.0
218
+ * support basic instrumentation for ActsAsSolr and Sunspot
219
+
220
+ v2.11.3
221
+ * fix bug in startup when running JRuby
222
+
223
+ v2.11.2
224
+ * fix for unicorn not reporting when the proc line had 'master' in it
225
+ * fix regression for passenger 2.0 and earlier
226
+ * fix after_fork in the shim
227
+
228
+ v2.11.1
229
+ * republished gem without generated rdocs
230
+
231
+ v2.11.0
232
+ * rails3 instrumentation (no developer mode support yet)
233
+ * removed the ensure_worker_thread started and instead defined an after_fork
234
+ handler that will set up the agent properly in forked processes.
235
+ * change at_exit handler so the shutdown always goes after other shutdown
236
+ handlers
237
+ * add visibility to active record db transactions in the rpm transaction
238
+ traces (thanks to jeremy kemper)
239
+ * fix regression in merb support which caused merb apps not to start
240
+ * added NewRelic::Agent.logger to the public api to write to the agent
241
+ log file.
242
+ * optimizations to background thread, controller instrumentation, memory
243
+ usage
244
+ * add logger method to public_api
245
+ * support list notation for ignored exceptions in the newrelic.yml
246
+
247
+ v2.10.8
248
+ * fix bug in delayed_job instrumentation that caused the job queue sampler
249
+ to run in the wrong place
250
+ * change startup sequence and code that restarts the worker loop
251
+ thread
252
+ * detect the unicorn master and dont start the agent; hook in after_fork
253
+ * fix problem with the Authlogic metric names which caused errors in
254
+ developer mode. Authlogic metrics now adhere to the convention of
255
+ prefixing the name with 'Custom'
256
+ * allow more correct overriding of transaction trace settings in the
257
+ call to #manual_start
258
+ * simplify WorkerLoop and add better protection for concurrency
259
+ * preliminary support for rails3
260
+
261
+ v2.10.6
262
+ * fix missing URL and referer on some traced errors and transactions
263
+ * gather traced errors *after* executing the rescue chain in ActionController
264
+ * always load controller instrumentation
265
+ * pick up token validation from newrelic.yml
266
+
267
+ v2.10.5
268
+ * fix bug in delayed_job instrumentation occurring when there was no DJ log
269
+
270
+ v2.10.4
271
+ * fix incompatibility with Capistrano 2.5.16
272
+ * strip down URLs reported in transactions and errors to path only
273
+
274
+ v2.10.3
275
+ * optimization to reduce overhead: move background samplers into foreground thread
276
+ * change default config file to ignore RoutingErrors
277
+ * moved the background task instrumentation into a separate tab in the RPM UI
278
+ * allow override of the RPM application name via NEWRELIC_APP_NAME environment variable
279
+ * revised Delayed::Job instrumentation so no manual_start is required
280
+ * send buffered data on shutdown
281
+ * expanded support for queue length and queue time
282
+ * remove calls to starts_with to fix Sinatra and non-rails deployments
283
+ * fix problem with apdex scores recording too low in some circumstances
284
+ * switch to jeweler for gem building
285
+ * minor fixes, test improvements, doc and rakefile improvements
286
+ * fix incompatibility with Hoptoad where Hoptoad was not getting errors handled by New Relic
287
+ * many other optimizations, bug fixes and documentation improvements
288
+
289
+ v2.10.2.
290
+ * beta release of 2.10
291
+ * fix bugs with Sinatra app instrumentation
292
+ * minor doc updates
293
+
294
+ v2.10.1.
295
+ * alpha release of 2.10
296
+ * rack support, including metal; ignores 404s; requires a module inclusion (see docs)
297
+ * sinatra support, displays actions named by the URI pattern matched
298
+ * add API method to abort transaction recording for in-flight transactions
299
+ * remove account management calls from newrelic_api.rb
300
+ * truncating extremely large transaction traces for efficiency
301
+ * fix error reporting in recipes; add newrelic_rails_env option to recipes to
302
+ override the rails env used to pull the app_name out of newrelic.yml
303
+ * added TorqueBox recognition (thanks Bob McWhirter)
304
+ * renamed config settings: enabled => monitor_mode; developer => developer_mode;
305
+ old names will still work in newrelic.yml
306
+ * instrumentation for DelayedJob (thanks Travis Tilley)
307
+ * added config switches to turn off certain instrumentation when you aren't
308
+ interested in the metrics, to save on overhead--see newrelic.yml for details.
309
+ * add profiling support to dev mode; very experimental!
310
+ * add 'multi_threaded' config option to indicate when the app is running
311
+ multi-threaded, so we can disable some instrumentation
312
+ * fix test failures in JRuby, REE
313
+ * improve Net::HTTP instrumentation so its more efficient and distinguishes calls
314
+ between web and non-web transactions.
315
+ * database instrumentation notices all database commands in addition to the core commands
316
+ * add support for textmate to dev mode
317
+ * added add_transaction_tracer method to support instrumenting methods as
318
+ if they were web transactions; this will facilitate better visibility of background
319
+ tasks and eventually things like rack, metal and Sinatra
320
+ * adjusted apdex scores to reflect time spent in the mongrel queue
321
+ * fixed incompatibility with JRuby on startup
322
+ * implmented CPU measure for JRuby which reflects the cpu burn for
323
+ all controller actions (does not include background tasks)
324
+ * fixed scope issue with GC instrumentation, subtracting time from caller
325
+ * added # of GC calls to GC instrumentation
326
+ * renamed the dispatcher metric
327
+ * refactored stats_engine code for readability
328
+ * optimization: reduce wakeup times for harvest thread
329
+
330
+ v2.10.0.
331
+ * alpha release of 2.10
332
+ * support unicorn
333
+ * instrumentation of GC for REE and MRE with GC patch
334
+ * support agent restarting when changes are made to the account
335
+ * removed #newrelic_notice_error from Object class, replaced by NewRelic::Agent#notic_error
336
+ * collect histogram statistics
337
+ * add custom parameters to newrelic_notice_error call to display
338
+ extra info for errors
339
+ * add method disable_all_tracing(&block) to execute a block without
340
+ capturing metrics
341
+ * newrelic_ignore now blocks all instrumentation collection for
342
+ the specified actions
343
+ * added doc to method_tracer API and removed second arg
344
+ requirement for add_method_tracer call
345
+ * instrumentation for Net::HTTP
346
+ * remove method_tracer shim to avoid timing problems in monitoring daemons
347
+ * for non-rails daemons, look at APP_ROOT and NRCONFIG env vars for custom locations
348
+
349
+ v2.9.9.
350
+ * Disable at_exit handler for Unicorn which sometimes caused the
351
+ agent to stop reporting immediately.
352
+
353
+ v2.9.8.
354
+ * add instrumentation for Net::HTTP calls, to show up as "External"
355
+ * added support for validating agents in the cloud.
356
+ * recognize Unicorn dispatcher
357
+ * add NewRelic module definitions to ActiveRecord instrumentation
358
+
359
+ v2.9.5.
360
+ * Snow Leopard memory fix
361
+
362
+ v2.9.4.
363
+ * clamp size of data sent to server
364
+ * reset statistics for passenger when forking to avoid erroneous data
365
+ * fix problem deserializing errors from the server
366
+ * fix incompatibility with postgres introduced in 2.9.
367
+
368
+ v2.9.3.
369
+ * fix startup failure in Windows due to memory sampler
370
+ * add JRuby environment information
371
+
372
+ v2.9.2.
373
+ * change default apdex_t to 0.5 seconds
374
+ * fix bug in deployments introduced by multi_homed setting
375
+ * support overriding the log in the agent api
376
+ * fix JRuby problem using objectspace
377
+ * display custom parameters when looking at transactions in dev mode
378
+ * display count of sql statements on the list of transactions in dev mode
379
+ * fixes for merb--thanks to Carl Lerche
380
+
381
+ v2.9.1.
382
+ * add newrelic_ignore_apdex method to controller classes to allow
383
+ you to omit some actions from apdex statistics
384
+ * Add hook for Passenger shutdown events to get more timely shutdown
385
+ notices; this will help in more accurate memory readings in
386
+ Passenger
387
+ * add newrelic_notice_error to Object class
388
+ * optional ability to verify SSL certificates, note that this has some
389
+ performance and reliability implications
390
+ * support multi-homed host with multiple apps running on duplicate
391
+ ports
392
+
393
+ v2.9.0.
394
+ Noteworthy Enhancements
395
+ * give visibility to templates and partials in Rails 2.1 and later, in
396
+ dev mode and production
397
+ * change active record metrics to capture statistics in adapter log()
398
+ call, resulting in lower overhead and improved visibility into
399
+ different DB operations; only AR operations that are not hitting the
400
+ query cache will be measured to avoid overhead
401
+ * added mongrel_rpm to the gem, a standalone daemon listening for custom
402
+ metric values sent from local processes (experimental); do mongrel_rpm
403
+ --help
404
+ * add API for system monitoring daemons (refer to KB articles); changed
405
+ API for manual starting of the agent; refer to
406
+ NewRelic::Agent.manual_start for details
407
+ * do certificate verification on ssl connections to
408
+ collector.newrelic.com
409
+ * support instances appearing in more than one application by allowing a
410
+ semicolon separated list of names for the newrelic.yml app_name
411
+ setting.
412
+ * combined agent logfiles into a single logfile
413
+ * use rpm server time for transaction traces rather than agent time
414
+
415
+ Developer Mode (only) Enhancements
416
+ * show partial rendering in traces
417
+ * improved formatting of metric names in traces
418
+ * added number of queries to transactions in the transaction list
419
+ * added some sorting options for the transaction list
420
+ * added a page showing the list of active threads
421
+
422
+ Compatibility Enhancements
423
+ * ruby 1.9.1 compatibility
424
+ * support concurrency when determining busy times, for 2.2 compatibility
425
+ * in jruby, use Java used heap for memory sampling if the system memory
426
+ is not accessible from an unsupported platform
427
+ * jruby will no longer start the agent now when running the console or
428
+ rake tasks
429
+ * API support for RPM as a footnote add-in
430
+ * webrick support restored
431
+
432
+ Noteworthy bugfixes
433
+ * sample memory on linux by reading /proc/#{$$}/status file
434
+ * fixed ambiguous 'View' metrics showing up in controller breakdown
435
+ * removed Numeric extensions, including round_to, and to_ms
436
+ * using a different timeout mechanism when we post data to RPM
437
+ * remove usage of Rails::Info which had a side effect of enabling
438
+ ActiveRecord even when it wasn't an active framework
439
+ * moved CPU sampler off background thread and onto the harvest thread
440
+ * tests now run cleanly in any rails app using test:newrelic or
441
+ test:plugins
442
+
443
+ Agent improvements to support future RPM enhancements
444
+ * add instrumentation to capture metrics on response codes; not yet
445
+ working in rails 2.3.*
446
+ * added http referer to traced errors
447
+ * capture gem requirements from rails
448
+ * capture cpu utilization adjusted for processor count
449
+ * transaction sampling
450
+
451
+ v2.8.10.
452
+ * fix thin support with rails 2.3.2 when using script/server
453
+ * fix incompatibility with rails 2.3.2 and script/server options
454
+ processing
455
+ * minor tweak to environment gathering for gem mode
456
+
457
+ v2.8.9.
458
+ * fix problem finding the newrelic controller in dev mode
459
+ * fix incompatibility with older versions of optparse
460
+ * fix potential jvm problem with jruby
461
+ * remove test:all task definition to avoid conflicts
462
+ * change error message about window sampler in windows not supported to a
463
+ warning message
464
+
465
+ v2.8.8.
466
+ * fix error with jruby on windows
467
+ * fix problem where webrick was being incorrectly detected causing some
468
+ problems with mongrel application assignments--had to disable webrick
469
+ for now
470
+
471
+ v2.8.7.
472
+ * fix for ssl connection hanging problems
473
+ * fix problem recognizing mongrel in rails 2.3.2
474
+ * fastcgi support in rails 2.3.2
475
+ * put back webrick support
476
+
477
+ v2.8.6.
478
+ * fix for capture_params when using file uploads in controller actions
479
+ * use pure ruby NS lookup for collector host to eliminate possibly
480
+ blocking applications
481
+
482
+ v2.8.5.
483
+ * fix reference to CommandError which was breaking some cap scripts
484
+ * fix incompatibility with Rails 2.0 in the server API
485
+ * fix problem with litespeed with Lite accounts
486
+ * fix problem when ActiveRecord is disabled
487
+ * moved merb instrumentation to Merb::Controller instead of
488
+ AbstractController to address incompatibility with MailController
489
+ * fix problem in devmode displaying sql with embedded urls
490
+
491
+ v2.8.4.
492
+ * fix bug in capistrano recipe causing cap commands to fail with error
493
+ about not finding Version class
494
+
495
+ v2.8.3.
496
+ * refactor unit tests so they will run in a generic rails environment
497
+ * require classes in advance to avoid autoloading. this is to address
498
+ incompatibilities with desert as well as more flexibility in gem
499
+ initialization
500
+ * fixed newrelic_helper.rb 1.9 incompatibility
501
+
502
+ v2.8.2.
503
+ * fix Ruby 1.9 syntax compatibility errors
504
+ * update the class loading sanity check, will notify server of errors
505
+ * fix agent output on script and rake task execution
506
+
507
+ v2.8.1.
508
+ * Convert the deployment information upload script to an executable and
509
+ put in the bin directory. When installed as a gem this command is
510
+ symlinked to /usr/bin. Usage: newrelic_cmd deployments --help
511
+ * Fix issue invoking api when host is not set in newrelic.yml
512
+ * Fix deployments api so it will work from a gem
513
+ * Fix thin incompatibility in developer mode
514
+
515
+ v2.8.0.
516
+ * add beta of api in new_relic_api.rb
517
+ * instrumented dynamic finders in ActiveRecord
518
+ * preliminary support for capturing deployment information via capistrano
519
+ * change memory sampler for solaris to use /usr/bin/ps
520
+ * allow ERB in newrelic.yml file
521
+ * merged support for merb into this version
522
+ * fix incompatibility in the developer mode with the safe_erb plugin
523
+ * fix module namespace issue causing an error accessing
524
+ NewRelic::Instrumentation modules
525
+ * fix issue where the agent sometimes failed to start up if there was a
526
+ transient network problem
527
+ * fix IgnoreSilentlyException message
528
+
529
+ v2.7.4.
530
+ * fix error when trying to serialize some kinds of Enumerable objects
531
+ * added extra debug logging
532
+ * added app_name to app mapping
533
+
534
+ v2.7.3.
535
+ * fix compatibility issue with 1.8.5 causing error with Dir.glob
536
+
537
+ v2.7.2.
538
+ * fix problem with passenger edge not being a detected environment
539
+
540
+ v2.7.1.
541
+ * fix problem with skipped dispatcher instrumentation
542
+
543
+ v2.7.0.
544
+ * Repackage to support both plugin and Gem installation
545
+ * Support passenger/litespeed/jruby application naming
546
+ * Update method for calculating dispatcher queue time
547
+ * Show stack traces in RPM Transaction Traces
548
+ * Capture error source for TemplateErrors
549
+ * Clean up error stack traces.
550
+ * Support query plans from postgres
551
+ * Performance tuning
552
+ * bugfixes
553
+
554
+ v2.5.3.
555
+ * fix error in transaction tracing causing traces not to show up
556
+
557
+ v2.5.2.
558
+ * fixes for postgres explain plan support
559
+
560
+ v2.5.1.
561
+ * bugfixes
562
+
563
+ v2.5.0.
564
+ * add agent support for rpm 1.1 features
565
+ * Fix regression error with thin support
566
+
567
+ v2.4.3.
568
+ * added 'newrelic_ignore' controller class method with :except and :only options for finer grained control
569
+ over the blocking of instrumentation in controllers.
570
+ * bugfixes
571
+
572
+ v2.4.2.
573
+ * error reporting in early access
574
+
575
+ v2.4.1.
576
+ * bugfix: initializing developer mode
577
+
578
+ v2.4.0.
579
+ * Beta support for LiteSpeed and Passenger
580
+
581
+ v2.3.7.
582
+ * bugfixes
583
+
584
+ v2.3.6.
585
+ * bugfixes
586
+
587
+ v2.3.5.
588
+ * bugfixes: pie chart data, rails 1.1 compability
589
+
590
+ v2.3.4.
591
+ * bugfix
592
+
593
+ v2.3.3.
594
+ * bugfix for non-mysql databases
595
+
596
+ v2.3.2.
597
+ * bugfixes
598
+ * Add enhancement for Transaction Traces early access feature
599
+
600
+ v2.3.1.
601
+ * bugfixes
602
+
603
+ v2.3.0.
604
+ + Add support for Transaction Traces early access feature
605
+
606
+ v2.2.2.
607
+ * bugfixes
608
+
609
+ v2.2.1.
610
+ + Add rails 2.1 support for Developer Mode
611
+ + Changes to memory sampler: Add support for JRuby and fix Solaris support.
612
+ * Stop catching exceptions and start catching StandardError; other exception cleanup
613
+ * Add protective exception catching to the stats engine
614
+ * Improved support for thin domain sockets
615
+ * Support JRuby environments
616
+
617
+ v2.1.6.
618
+ * bugfixes
619
+
620
+ v2.1.5.
621
+ * bugfixes
622
+
623
+ v2.1.4.
624
+ * bugfixes
625
+
626
+ v2.1.3.
627
+ * bugfixes
628
+
629
+ v2.1.2.
630
+ * bugfixes
631
+
632
+ v2.1.1.
633
+ * bugfixes
634
+
635
+ v2.1.0.
636
+ * release for private beta
637
+
638
+