wd_newrelic_rpm 3.3.4.1

Sign up to get free protection for your applications and to get access to all the features.
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
+