wd_newrelic_rpm 3.3.4.1

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