ghazel-newrelic_rpm 3.1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (255) hide show
  1. data/CHANGELOG +525 -0
  2. data/LICENSE +37 -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 +423 -0
  14. data/lib/new_relic/agent/agent.rb +1040 -0
  15. data/lib/new_relic/agent/beacon_configuration.rb +61 -0
  16. data/lib/new_relic/agent/browser_monitoring.rb +83 -0
  17. data/lib/new_relic/agent/busy_calculator.rb +91 -0
  18. data/lib/new_relic/agent/chained_call.rb +13 -0
  19. data/lib/new_relic/agent/error_collector.rb +203 -0
  20. data/lib/new_relic/agent/instrumentation.rb +9 -0
  21. data/lib/new_relic/agent/instrumentation/active_merchant.rb +21 -0
  22. data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +62 -0
  23. data/lib/new_relic/agent/instrumentation/authlogic.rb +13 -0
  24. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +413 -0
  25. data/lib/new_relic/agent/instrumentation/data_mapper.rb +232 -0
  26. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +44 -0
  27. data/lib/new_relic/agent/instrumentation/memcache.rb +56 -0
  28. data/lib/new_relic/agent/instrumentation/merb/controller.rb +36 -0
  29. data/lib/new_relic/agent/instrumentation/merb/errors.rb +23 -0
  30. data/lib/new_relic/agent/instrumentation/metric_frame.rb +326 -0
  31. data/lib/new_relic/agent/instrumentation/metric_frame/pop.rb +84 -0
  32. data/lib/new_relic/agent/instrumentation/net.rb +23 -0
  33. data/lib/new_relic/agent/instrumentation/passenger_instrumentation.rb +34 -0
  34. data/lib/new_relic/agent/instrumentation/queue_time.rb +210 -0
  35. data/lib/new_relic/agent/instrumentation/rack.rb +98 -0
  36. data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +83 -0
  37. data/lib/new_relic/agent/instrumentation/rails/action_web_service.rb +36 -0
  38. data/lib/new_relic/agent/instrumentation/rails/active_record_instrumentation.rb +108 -0
  39. data/lib/new_relic/agent/instrumentation/rails/errors.rb +36 -0
  40. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +60 -0
  41. data/lib/new_relic/agent/instrumentation/rails3/active_record_instrumentation.rb +112 -0
  42. data/lib/new_relic/agent/instrumentation/rails3/errors.rb +31 -0
  43. data/lib/new_relic/agent/instrumentation/sinatra.rb +54 -0
  44. data/lib/new_relic/agent/instrumentation/sunspot.rb +23 -0
  45. data/lib/new_relic/agent/instrumentation/unicorn_instrumentation.rb +16 -0
  46. data/lib/new_relic/agent/method_tracer.rb +422 -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 +144 -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/stats_engine.rb +24 -0
  54. data/lib/new_relic/agent/stats_engine/metric_stats.rb +182 -0
  55. data/lib/new_relic/agent/stats_engine/samplers.rb +89 -0
  56. data/lib/new_relic/agent/stats_engine/transactions.rb +184 -0
  57. data/lib/new_relic/agent/transaction_sample_builder.rb +101 -0
  58. data/lib/new_relic/agent/transaction_sampler.rb +378 -0
  59. data/lib/new_relic/agent/worker_loop.rb +81 -0
  60. data/lib/new_relic/collection_helper.rb +69 -0
  61. data/lib/new_relic/command.rb +85 -0
  62. data/lib/new_relic/commands/deployments.rb +105 -0
  63. data/lib/new_relic/commands/install.rb +91 -0
  64. data/lib/new_relic/control.rb +48 -0
  65. data/lib/new_relic/control/class_methods.rb +47 -0
  66. data/lib/new_relic/control/configuration.rb +157 -0
  67. data/lib/new_relic/control/frameworks/external.rb +16 -0
  68. data/lib/new_relic/control/frameworks/merb.rb +30 -0
  69. data/lib/new_relic/control/frameworks/rails.rb +151 -0
  70. data/lib/new_relic/control/frameworks/rails3.rb +70 -0
  71. data/lib/new_relic/control/frameworks/ruby.rb +42 -0
  72. data/lib/new_relic/control/frameworks/sinatra.rb +23 -0
  73. data/lib/new_relic/control/instance_methods.rb +154 -0
  74. data/lib/new_relic/control/instrumentation.rb +81 -0
  75. data/lib/new_relic/control/logging_methods.rb +88 -0
  76. data/lib/new_relic/control/profiling.rb +25 -0
  77. data/lib/new_relic/control/server_methods.rb +104 -0
  78. data/lib/new_relic/data_serialization.rb +84 -0
  79. data/lib/new_relic/delayed_job_injection.rb +38 -0
  80. data/lib/new_relic/histogram.rb +91 -0
  81. data/lib/new_relic/local_environment.rb +391 -0
  82. data/lib/new_relic/merbtasks.rb +6 -0
  83. data/lib/new_relic/metric_data.rb +46 -0
  84. data/lib/new_relic/metric_spec.rb +73 -0
  85. data/lib/new_relic/metrics.rb +9 -0
  86. data/lib/new_relic/noticed_error.rb +24 -0
  87. data/lib/new_relic/rack/browser_monitoring.rb +68 -0
  88. data/lib/new_relic/rack/developer_mode.rb +267 -0
  89. data/lib/new_relic/rack/metric_app.rb +65 -0
  90. data/lib/new_relic/rack/mongrel_rpm.ru +28 -0
  91. data/lib/new_relic/rack/newrelic.yml +27 -0
  92. data/lib/new_relic/rack_app.rb +6 -0
  93. data/lib/new_relic/recipes.rb +73 -0
  94. data/lib/new_relic/stats.rb +378 -0
  95. data/lib/new_relic/timer_lib.rb +27 -0
  96. data/lib/new_relic/transaction_analysis.rb +76 -0
  97. data/lib/new_relic/transaction_analysis/segment_summary.rb +47 -0
  98. data/lib/new_relic/transaction_sample.rb +272 -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 +251 -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 +330 -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/new_relic/agent/agent/connect_test.rb +316 -0
  116. data/test/new_relic/agent/agent/start_test.rb +340 -0
  117. data/test/new_relic/agent/agent/start_worker_thread_test.rb +155 -0
  118. data/test/new_relic/agent/agent_test.rb +173 -0
  119. data/test/new_relic/agent/agent_test_controller.rb +77 -0
  120. data/test/new_relic/agent/agent_test_controller_test.rb +366 -0
  121. data/test/new_relic/agent/apdex_from_server_test.rb +9 -0
  122. data/test/new_relic/agent/beacon_configuration_test.rb +104 -0
  123. data/test/new_relic/agent/browser_monitoring_test.rb +274 -0
  124. data/test/new_relic/agent/busy_calculator_test.rb +81 -0
  125. data/test/new_relic/agent/error_collector/notice_error_test.rb +257 -0
  126. data/test/new_relic/agent/error_collector_test.rb +168 -0
  127. data/test/new_relic/agent/instrumentation/active_record_instrumentation_test.rb +522 -0
  128. data/test/new_relic/agent/instrumentation/controller_instrumentation_test.rb +36 -0
  129. data/test/new_relic/agent/instrumentation/instrumentation_test.rb +11 -0
  130. data/test/new_relic/agent/instrumentation/metric_frame/pop_test.rb +179 -0
  131. data/test/new_relic/agent/instrumentation/metric_frame_test.rb +50 -0
  132. data/test/new_relic/agent/instrumentation/net_instrumentation_test.rb +84 -0
  133. data/test/new_relic/agent/instrumentation/queue_time_test.rb +387 -0
  134. data/test/new_relic/agent/instrumentation/rack_test.rb +35 -0
  135. data/test/new_relic/agent/instrumentation/task_instrumentation_test.rb +184 -0
  136. data/test/new_relic/agent/memcache_instrumentation_test.rb +107 -0
  137. data/test/new_relic/agent/method_tracer/class_methods/add_method_tracer_test.rb +164 -0
  138. data/test/new_relic/agent/method_tracer/instance_methods/trace_execution_scoped_test.rb +234 -0
  139. data/test/new_relic/agent/method_tracer_test.rb +386 -0
  140. data/test/new_relic/agent/mock_scope_listener.rb +23 -0
  141. data/test/new_relic/agent/rpm_agent_test.rb +149 -0
  142. data/test/new_relic/agent/sampler_test.rb +19 -0
  143. data/test/new_relic/agent/shim_agent_test.rb +20 -0
  144. data/test/new_relic/agent/stats_engine/metric_stats/harvest_test.rb +150 -0
  145. data/test/new_relic/agent/stats_engine/metric_stats_test.rb +81 -0
  146. data/test/new_relic/agent/stats_engine/samplers_test.rb +99 -0
  147. data/test/new_relic/agent/stats_engine_test.rb +185 -0
  148. data/test/new_relic/agent/transaction_sample_builder_test.rb +195 -0
  149. data/test/new_relic/agent/transaction_sampler_test.rb +945 -0
  150. data/test/new_relic/agent/worker_loop_test.rb +66 -0
  151. data/test/new_relic/collection_helper_test.rb +127 -0
  152. data/test/new_relic/command/deployments_test.rb +68 -0
  153. data/test/new_relic/control/class_methods_test.rb +62 -0
  154. data/test/new_relic/control/logging_methods_test.rb +157 -0
  155. data/test/new_relic/control_test.rb +195 -0
  156. data/test/new_relic/data_serialization_test.rb +70 -0
  157. data/test/new_relic/local_environment_test.rb +72 -0
  158. data/test/new_relic/metric_data_test.rb +125 -0
  159. data/test/new_relic/metric_spec_test.rb +95 -0
  160. data/test/new_relic/rack/all_test.rb +11 -0
  161. data/test/new_relic/rack/browser_monitoring_test.rb +84 -0
  162. data/test/new_relic/rack/developer_mode_test.rb +43 -0
  163. data/test/new_relic/stats_test.rb +426 -0
  164. data/test/new_relic/transaction_analysis/segment_summary_test.rb +77 -0
  165. data/test/new_relic/transaction_analysis_test.rb +121 -0
  166. data/test/new_relic/transaction_sample/composite_segment_test.rb +35 -0
  167. data/test/new_relic/transaction_sample/fake_segment_test.rb +17 -0
  168. data/test/new_relic/transaction_sample/segment_test.rb +454 -0
  169. data/test/new_relic/transaction_sample/summary_segment_test.rb +31 -0
  170. data/test/new_relic/transaction_sample_subtest_test.rb +56 -0
  171. data/test/new_relic/transaction_sample_test.rb +170 -0
  172. data/test/new_relic/version_number_test.rb +89 -0
  173. data/test/test_contexts.rb +29 -0
  174. data/test/test_helper.rb +144 -0
  175. data/ui/helpers/developer_mode_helper.rb +351 -0
  176. data/ui/helpers/google_pie_chart.rb +49 -0
  177. data/ui/views/layouts/newrelic_default.rhtml +47 -0
  178. data/ui/views/newrelic/_explain_plans.rhtml +27 -0
  179. data/ui/views/newrelic/_sample.rhtml +20 -0
  180. data/ui/views/newrelic/_segment.rhtml +28 -0
  181. data/ui/views/newrelic/_segment_limit_message.rhtml +1 -0
  182. data/ui/views/newrelic/_segment_row.rhtml +12 -0
  183. data/ui/views/newrelic/_show_sample_detail.rhtml +24 -0
  184. data/ui/views/newrelic/_show_sample_sql.rhtml +24 -0
  185. data/ui/views/newrelic/_show_sample_summary.rhtml +3 -0
  186. data/ui/views/newrelic/_sql_row.rhtml +16 -0
  187. data/ui/views/newrelic/_stack_trace.rhtml +15 -0
  188. data/ui/views/newrelic/_table.rhtml +12 -0
  189. data/ui/views/newrelic/explain_sql.rhtml +43 -0
  190. data/ui/views/newrelic/file/images/arrow-close.png +0 -0
  191. data/ui/views/newrelic/file/images/arrow-open.png +0 -0
  192. data/ui/views/newrelic/file/images/blue_bar.gif +0 -0
  193. data/ui/views/newrelic/file/images/file_icon.png +0 -0
  194. data/ui/views/newrelic/file/images/gray_bar.gif +0 -0
  195. data/ui/views/newrelic/file/images/new-relic-rpm-desktop.gif +0 -0
  196. data/ui/views/newrelic/file/images/new_relic_rpm_desktop.gif +0 -0
  197. data/ui/views/newrelic/file/images/textmate.png +0 -0
  198. data/ui/views/newrelic/file/javascript/jquery-1.4.2.js +6240 -0
  199. data/ui/views/newrelic/file/javascript/transaction_sample.js +120 -0
  200. data/ui/views/newrelic/file/stylesheets/style.css +490 -0
  201. data/ui/views/newrelic/index.rhtml +71 -0
  202. data/ui/views/newrelic/sample_not_found.rhtml +2 -0
  203. data/ui/views/newrelic/show_sample.rhtml +80 -0
  204. data/ui/views/newrelic/show_source.rhtml +3 -0
  205. data/ui/views/newrelic/threads.rhtml +53 -0
  206. data/vendor/gems/dependency_detection-0.0.1.build/LICENSE +19 -0
  207. data/vendor/gems/dependency_detection-0.0.1.build/README +0 -0
  208. data/vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection.rb +57 -0
  209. data/vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection/version.rb +3 -0
  210. data/vendor/gems/metric_parser-0.1.0.pre1/LICENSE +0 -0
  211. data/vendor/gems/metric_parser-0.1.0.pre1/README +0 -0
  212. data/vendor/gems/metric_parser-0.1.0.pre1/lib/metric_parser.rb +1 -0
  213. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser.rb +64 -0
  214. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/action_mailer.rb +14 -0
  215. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_merchant.rb +31 -0
  216. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_record.rb +33 -0
  217. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/apdex.rb +89 -0
  218. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/background_transaction.rb +7 -0
  219. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/client.rb +46 -0
  220. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller.rb +67 -0
  221. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_cpu.rb +43 -0
  222. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_ext.rb +17 -0
  223. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database.rb +48 -0
  224. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database_pool.rb +24 -0
  225. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net.rb +28 -0
  226. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net_parser.rb +17 -0
  227. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/errors.rb +11 -0
  228. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/external.rb +55 -0
  229. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/frontend.rb +40 -0
  230. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/gc.rb +20 -0
  231. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/hibernate_session.rb +7 -0
  232. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java.rb +31 -0
  233. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java_parser.rb +17 -0
  234. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp.rb +34 -0
  235. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp_tag.rb +7 -0
  236. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/mem_cache.rb +55 -0
  237. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/metric_parser.rb +122 -0
  238. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/orm.rb +27 -0
  239. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/other_transaction.rb +40 -0
  240. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet.rb +7 -0
  241. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_context_listener.rb +7 -0
  242. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_filter.rb +7 -0
  243. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr.rb +27 -0
  244. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr_request_handler.rb +15 -0
  245. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring.rb +54 -0
  246. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_controller.rb +6 -0
  247. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_view.rb +6 -0
  248. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_action.rb +20 -0
  249. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_result.rb +20 -0
  250. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/version.rb +5 -0
  251. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb +66 -0
  252. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_frontend.rb +18 -0
  253. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_service.rb +14 -0
  254. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_transaction.rb +133 -0
  255. metadata +399 -0
@@ -0,0 +1,330 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{ghazel-newrelic_rpm}
8
+ s.version = "3.1.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Bill Kayser", "Justin George"]
12
+ s.date = %q{2011-06-15}
13
+ s.description = %q{New Relic is a performance management system, developed by New Relic,
14
+ Inc (http://www.newrelic.com). New Relic provides you with deep
15
+ information about the performance of your web application as it runs
16
+ in production. The New Relic Ruby Agent is dual-purposed as a either a
17
+ Gem or plugin, hosted on
18
+ http://github.com/newrelic/rpm/
19
+ }
20
+ s.email = %q{support@newrelic.com}
21
+ s.executables = ["newrelic_cmd", "newrelic", "mongrel_rpm"]
22
+ s.extra_rdoc_files = [
23
+ "CHANGELOG",
24
+ "LICENSE",
25
+ "README.rdoc",
26
+ "newrelic.yml"
27
+ ]
28
+ s.files = [
29
+ "CHANGELOG",
30
+ "LICENSE",
31
+ "README.rdoc",
32
+ "bin/mongrel_rpm",
33
+ "bin/newrelic",
34
+ "bin/newrelic_cmd",
35
+ "cert/cacert.pem",
36
+ "cert/oldsite.pem",
37
+ "cert/site.pem",
38
+ "install.rb",
39
+ "lib/conditional_vendored_dependency_detection.rb",
40
+ "lib/conditional_vendored_metric_parser.rb",
41
+ "lib/new_relic/agent.rb",
42
+ "lib/new_relic/agent/agent.rb",
43
+ "lib/new_relic/agent/beacon_configuration.rb",
44
+ "lib/new_relic/agent/browser_monitoring.rb",
45
+ "lib/new_relic/agent/busy_calculator.rb",
46
+ "lib/new_relic/agent/chained_call.rb",
47
+ "lib/new_relic/agent/error_collector.rb",
48
+ "lib/new_relic/agent/instrumentation.rb",
49
+ "lib/new_relic/agent/instrumentation/active_merchant.rb",
50
+ "lib/new_relic/agent/instrumentation/acts_as_solr.rb",
51
+ "lib/new_relic/agent/instrumentation/authlogic.rb",
52
+ "lib/new_relic/agent/instrumentation/controller_instrumentation.rb",
53
+ "lib/new_relic/agent/instrumentation/data_mapper.rb",
54
+ "lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb",
55
+ "lib/new_relic/agent/instrumentation/memcache.rb",
56
+ "lib/new_relic/agent/instrumentation/merb/controller.rb",
57
+ "lib/new_relic/agent/instrumentation/merb/errors.rb",
58
+ "lib/new_relic/agent/instrumentation/metric_frame.rb",
59
+ "lib/new_relic/agent/instrumentation/metric_frame/pop.rb",
60
+ "lib/new_relic/agent/instrumentation/net.rb",
61
+ "lib/new_relic/agent/instrumentation/passenger_instrumentation.rb",
62
+ "lib/new_relic/agent/instrumentation/queue_time.rb",
63
+ "lib/new_relic/agent/instrumentation/rack.rb",
64
+ "lib/new_relic/agent/instrumentation/rails/action_controller.rb",
65
+ "lib/new_relic/agent/instrumentation/rails/action_web_service.rb",
66
+ "lib/new_relic/agent/instrumentation/rails/active_record_instrumentation.rb",
67
+ "lib/new_relic/agent/instrumentation/rails/errors.rb",
68
+ "lib/new_relic/agent/instrumentation/rails3/action_controller.rb",
69
+ "lib/new_relic/agent/instrumentation/rails3/active_record_instrumentation.rb",
70
+ "lib/new_relic/agent/instrumentation/rails3/errors.rb",
71
+ "lib/new_relic/agent/instrumentation/sinatra.rb",
72
+ "lib/new_relic/agent/instrumentation/sunspot.rb",
73
+ "lib/new_relic/agent/instrumentation/unicorn_instrumentation.rb",
74
+ "lib/new_relic/agent/method_tracer.rb",
75
+ "lib/new_relic/agent/sampler.rb",
76
+ "lib/new_relic/agent/samplers/cpu_sampler.rb",
77
+ "lib/new_relic/agent/samplers/delayed_job_lock_sampler.rb",
78
+ "lib/new_relic/agent/samplers/memory_sampler.rb",
79
+ "lib/new_relic/agent/samplers/object_sampler.rb",
80
+ "lib/new_relic/agent/shim_agent.rb",
81
+ "lib/new_relic/agent/stats_engine.rb",
82
+ "lib/new_relic/agent/stats_engine/metric_stats.rb",
83
+ "lib/new_relic/agent/stats_engine/samplers.rb",
84
+ "lib/new_relic/agent/stats_engine/transactions.rb",
85
+ "lib/new_relic/agent/transaction_sample_builder.rb",
86
+ "lib/new_relic/agent/transaction_sampler.rb",
87
+ "lib/new_relic/agent/worker_loop.rb",
88
+ "lib/new_relic/collection_helper.rb",
89
+ "lib/new_relic/command.rb",
90
+ "lib/new_relic/commands/deployments.rb",
91
+ "lib/new_relic/commands/install.rb",
92
+ "lib/new_relic/control.rb",
93
+ "lib/new_relic/control/class_methods.rb",
94
+ "lib/new_relic/control/configuration.rb",
95
+ "lib/new_relic/control/frameworks/external.rb",
96
+ "lib/new_relic/control/frameworks/merb.rb",
97
+ "lib/new_relic/control/frameworks/rails.rb",
98
+ "lib/new_relic/control/frameworks/rails3.rb",
99
+ "lib/new_relic/control/frameworks/ruby.rb",
100
+ "lib/new_relic/control/frameworks/sinatra.rb",
101
+ "lib/new_relic/control/instance_methods.rb",
102
+ "lib/new_relic/control/instrumentation.rb",
103
+ "lib/new_relic/control/logging_methods.rb",
104
+ "lib/new_relic/control/profiling.rb",
105
+ "lib/new_relic/control/server_methods.rb",
106
+ "lib/new_relic/data_serialization.rb",
107
+ "lib/new_relic/delayed_job_injection.rb",
108
+ "lib/new_relic/histogram.rb",
109
+ "lib/new_relic/local_environment.rb",
110
+ "lib/new_relic/merbtasks.rb",
111
+ "lib/new_relic/metric_data.rb",
112
+ "lib/new_relic/metric_spec.rb",
113
+ "lib/new_relic/metrics.rb",
114
+ "lib/new_relic/noticed_error.rb",
115
+ "lib/new_relic/rack/browser_monitoring.rb",
116
+ "lib/new_relic/rack/developer_mode.rb",
117
+ "lib/new_relic/rack/metric_app.rb",
118
+ "lib/new_relic/rack/mongrel_rpm.ru",
119
+ "lib/new_relic/rack/newrelic.yml",
120
+ "lib/new_relic/rack_app.rb",
121
+ "lib/new_relic/recipes.rb",
122
+ "lib/new_relic/stats.rb",
123
+ "lib/new_relic/timer_lib.rb",
124
+ "lib/new_relic/transaction_analysis.rb",
125
+ "lib/new_relic/transaction_analysis/segment_summary.rb",
126
+ "lib/new_relic/transaction_sample.rb",
127
+ "lib/new_relic/transaction_sample/composite_segment.rb",
128
+ "lib/new_relic/transaction_sample/fake_segment.rb",
129
+ "lib/new_relic/transaction_sample/segment.rb",
130
+ "lib/new_relic/transaction_sample/summary_segment.rb",
131
+ "lib/new_relic/url_rule.rb",
132
+ "lib/new_relic/version.rb",
133
+ "lib/newrelic_rpm.rb",
134
+ "lib/tasks/all.rb",
135
+ "lib/tasks/install.rake",
136
+ "lib/tasks/tests.rake",
137
+ "newrelic.yml",
138
+ "newrelic_rpm.gemspec",
139
+ "recipes/newrelic.rb",
140
+ "test/active_record_fixtures.rb",
141
+ "test/config/newrelic.yml",
142
+ "test/config/test_control.rb",
143
+ "test/new_relic/agent/agent/connect_test.rb",
144
+ "test/new_relic/agent/agent/start_test.rb",
145
+ "test/new_relic/agent/agent/start_worker_thread_test.rb",
146
+ "test/new_relic/agent/agent_test.rb",
147
+ "test/new_relic/agent/agent_test_controller.rb",
148
+ "test/new_relic/agent/agent_test_controller_test.rb",
149
+ "test/new_relic/agent/apdex_from_server_test.rb",
150
+ "test/new_relic/agent/beacon_configuration_test.rb",
151
+ "test/new_relic/agent/browser_monitoring_test.rb",
152
+ "test/new_relic/agent/busy_calculator_test.rb",
153
+ "test/new_relic/agent/error_collector/notice_error_test.rb",
154
+ "test/new_relic/agent/error_collector_test.rb",
155
+ "test/new_relic/agent/instrumentation/active_record_instrumentation_test.rb",
156
+ "test/new_relic/agent/instrumentation/controller_instrumentation_test.rb",
157
+ "test/new_relic/agent/instrumentation/instrumentation_test.rb",
158
+ "test/new_relic/agent/instrumentation/metric_frame/pop_test.rb",
159
+ "test/new_relic/agent/instrumentation/metric_frame_test.rb",
160
+ "test/new_relic/agent/instrumentation/net_instrumentation_test.rb",
161
+ "test/new_relic/agent/instrumentation/queue_time_test.rb",
162
+ "test/new_relic/agent/instrumentation/rack_test.rb",
163
+ "test/new_relic/agent/instrumentation/task_instrumentation_test.rb",
164
+ "test/new_relic/agent/memcache_instrumentation_test.rb",
165
+ "test/new_relic/agent/method_tracer/class_methods/add_method_tracer_test.rb",
166
+ "test/new_relic/agent/method_tracer/instance_methods/trace_execution_scoped_test.rb",
167
+ "test/new_relic/agent/method_tracer_test.rb",
168
+ "test/new_relic/agent/mock_scope_listener.rb",
169
+ "test/new_relic/agent/rpm_agent_test.rb",
170
+ "test/new_relic/agent/sampler_test.rb",
171
+ "test/new_relic/agent/shim_agent_test.rb",
172
+ "test/new_relic/agent/stats_engine/metric_stats/harvest_test.rb",
173
+ "test/new_relic/agent/stats_engine/metric_stats_test.rb",
174
+ "test/new_relic/agent/stats_engine/samplers_test.rb",
175
+ "test/new_relic/agent/stats_engine_test.rb",
176
+ "test/new_relic/agent/transaction_sample_builder_test.rb",
177
+ "test/new_relic/agent/transaction_sampler_test.rb",
178
+ "test/new_relic/agent/worker_loop_test.rb",
179
+ "test/new_relic/collection_helper_test.rb",
180
+ "test/new_relic/command/deployments_test.rb",
181
+ "test/new_relic/control/class_methods_test.rb",
182
+ "test/new_relic/control/logging_methods_test.rb",
183
+ "test/new_relic/control_test.rb",
184
+ "test/new_relic/data_serialization_test.rb",
185
+ "test/new_relic/local_environment_test.rb",
186
+ "test/new_relic/metric_data_test.rb",
187
+ "test/new_relic/metric_spec_test.rb",
188
+ "test/new_relic/rack/all_test.rb",
189
+ "test/new_relic/rack/browser_monitoring_test.rb",
190
+ "test/new_relic/rack/developer_mode_test.rb",
191
+ "test/new_relic/stats_test.rb",
192
+ "test/new_relic/transaction_analysis/segment_summary_test.rb",
193
+ "test/new_relic/transaction_analysis_test.rb",
194
+ "test/new_relic/transaction_sample/composite_segment_test.rb",
195
+ "test/new_relic/transaction_sample/fake_segment_test.rb",
196
+ "test/new_relic/transaction_sample/segment_test.rb",
197
+ "test/new_relic/transaction_sample/summary_segment_test.rb",
198
+ "test/new_relic/transaction_sample_subtest_test.rb",
199
+ "test/new_relic/transaction_sample_test.rb",
200
+ "test/new_relic/version_number_test.rb",
201
+ "test/test_contexts.rb",
202
+ "test/test_helper.rb",
203
+ "ui/helpers/developer_mode_helper.rb",
204
+ "ui/helpers/google_pie_chart.rb",
205
+ "ui/views/layouts/newrelic_default.rhtml",
206
+ "ui/views/newrelic/_explain_plans.rhtml",
207
+ "ui/views/newrelic/_sample.rhtml",
208
+ "ui/views/newrelic/_segment.rhtml",
209
+ "ui/views/newrelic/_segment_limit_message.rhtml",
210
+ "ui/views/newrelic/_segment_row.rhtml",
211
+ "ui/views/newrelic/_show_sample_detail.rhtml",
212
+ "ui/views/newrelic/_show_sample_sql.rhtml",
213
+ "ui/views/newrelic/_show_sample_summary.rhtml",
214
+ "ui/views/newrelic/_sql_row.rhtml",
215
+ "ui/views/newrelic/_stack_trace.rhtml",
216
+ "ui/views/newrelic/_table.rhtml",
217
+ "ui/views/newrelic/explain_sql.rhtml",
218
+ "ui/views/newrelic/file/images/arrow-close.png",
219
+ "ui/views/newrelic/file/images/arrow-open.png",
220
+ "ui/views/newrelic/file/images/blue_bar.gif",
221
+ "ui/views/newrelic/file/images/file_icon.png",
222
+ "ui/views/newrelic/file/images/gray_bar.gif",
223
+ "ui/views/newrelic/file/images/new-relic-rpm-desktop.gif",
224
+ "ui/views/newrelic/file/images/new_relic_rpm_desktop.gif",
225
+ "ui/views/newrelic/file/images/textmate.png",
226
+ "ui/views/newrelic/file/javascript/jquery-1.4.2.js",
227
+ "ui/views/newrelic/file/javascript/transaction_sample.js",
228
+ "ui/views/newrelic/file/stylesheets/style.css",
229
+ "ui/views/newrelic/index.rhtml",
230
+ "ui/views/newrelic/sample_not_found.rhtml",
231
+ "ui/views/newrelic/show_sample.rhtml",
232
+ "ui/views/newrelic/show_source.rhtml",
233
+ "ui/views/newrelic/threads.rhtml",
234
+ "vendor/gems/dependency_detection-0.0.1.build/LICENSE",
235
+ "vendor/gems/dependency_detection-0.0.1.build/README",
236
+ "vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection.rb",
237
+ "vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection/version.rb",
238
+ "vendor/gems/metric_parser-0.1.0.pre1/LICENSE",
239
+ "vendor/gems/metric_parser-0.1.0.pre1/README",
240
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/metric_parser.rb",
241
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser.rb",
242
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/action_mailer.rb",
243
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_merchant.rb",
244
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_record.rb",
245
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/apdex.rb",
246
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/background_transaction.rb",
247
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/client.rb",
248
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller.rb",
249
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_cpu.rb",
250
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_ext.rb",
251
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database.rb",
252
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database_pool.rb",
253
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net.rb",
254
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net_parser.rb",
255
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/errors.rb",
256
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/external.rb",
257
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/frontend.rb",
258
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/gc.rb",
259
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/hibernate_session.rb",
260
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java.rb",
261
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java_parser.rb",
262
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp.rb",
263
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp_tag.rb",
264
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/mem_cache.rb",
265
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/metric_parser.rb",
266
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/orm.rb",
267
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/other_transaction.rb",
268
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet.rb",
269
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_context_listener.rb",
270
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_filter.rb",
271
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr.rb",
272
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr_request_handler.rb",
273
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring.rb",
274
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_controller.rb",
275
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_view.rb",
276
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_action.rb",
277
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_result.rb",
278
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/version.rb",
279
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb",
280
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_frontend.rb",
281
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_service.rb",
282
+ "vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_transaction.rb"
283
+ ]
284
+ s.homepage = %q{http://www.github.com/newrelic/rpm}
285
+ s.post_install_message = %q{
286
+ PLEASE NOTE:
287
+
288
+ Developer Mode is now a Rack middleware.
289
+
290
+ Developer Mode is no longer available in Rails 2.1 and earlier.
291
+ However, starting in version 2.12 you can use Developer Mode in any
292
+ Rack based framework, in addition to Rails. To install developer mode
293
+ in a non-Rails application, just add NewRelic::Rack::DeveloperMode to
294
+ your middleware stack.
295
+
296
+ If you are using JRuby, we recommend using at least version 1.4 or
297
+ later because of issues with the implementation of the timeout library.
298
+
299
+ Refer to the README.md file for more information.
300
+
301
+ Please see http://github.com/newrelic/rpm/blob/master/CHANGELOG
302
+ for a complete description of the features and enhancements available
303
+ in version 3.1 of the Ruby Agent.
304
+
305
+ }
306
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "New Relic Ruby Agent"]
307
+ s.require_paths = ["lib"]
308
+ s.rubygems_version = %q{1.3.6}
309
+ s.summary = %q{New Relic Ruby Agent}
310
+
311
+ if s.respond_to? :specification_version then
312
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
313
+ s.specification_version = 3
314
+
315
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
316
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
317
+ s.add_development_dependency(%q<mocha>, [">= 0"])
318
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
319
+ else
320
+ s.add_dependency(%q<jeweler>, [">= 0"])
321
+ s.add_dependency(%q<mocha>, [">= 0"])
322
+ s.add_dependency(%q<shoulda>, [">= 0"])
323
+ end
324
+ else
325
+ s.add_dependency(%q<jeweler>, [">= 0"])
326
+ s.add_dependency(%q<mocha>, [">= 0"])
327
+ s.add_dependency(%q<shoulda>, [">= 0"])
328
+ end
329
+ end
330
+
@@ -0,0 +1,6 @@
1
+ # The capistrano recipes in plugins are automatically
2
+ # loaded from here. From gems, they are available from
3
+ # the lib directory. We have to make them available from
4
+ # both locations
5
+
6
+ require File.join(File.dirname(__FILE__),'..','lib','new_relic','recipes')
@@ -0,0 +1,77 @@
1
+ # Some test models
2
+ # These will get created and dropped during the active record tests
3
+ # Be sure and call setup and teardown
4
+ module ActiveRecordFixtures
5
+ extend self
6
+ def setup
7
+ ActiveRecordFixtures::Order.setup
8
+ ActiveRecordFixtures::Shipment.setup
9
+ end
10
+ def teardown
11
+ ActiveRecordFixtures::Shipment.teardown
12
+ ActiveRecordFixtures::Order.teardown
13
+ begin
14
+ super
15
+ rescue Exception => e
16
+ end
17
+ end
18
+ class Order < ActiveRecord::Base
19
+ self.table_name = 'newrelic_test_orders'
20
+ has_and_belongs_to_many :shipments, :class_name => 'ActiveRecordFixtures::Shipment'
21
+ def self.setup
22
+ unless check_for_table
23
+ connection.create_table self.table_name, :force => true do |t|
24
+ t.column :name, :string
25
+ end
26
+ else
27
+ connection.execute("delete from #{self.table_name}")
28
+ end
29
+ end
30
+
31
+ def self.check_for_table
32
+ connection.table_exists?(self.table_name)
33
+ rescue Exception => e
34
+ false
35
+ end
36
+
37
+ def self.add_delay
38
+ # Introduce a 5 ms delay into db operations on Orders
39
+ def connection.log_info *args
40
+ sleep 0.005
41
+ super *args
42
+ end
43
+ end
44
+ def self.teardown
45
+ def connection.log_info *args
46
+ super *args
47
+ end
48
+ end
49
+ end
50
+
51
+ class Shipment < ActiveRecord::Base
52
+ self.table_name = 'newrelic_test_shipment'
53
+ has_and_belongs_to_many :orders, :class_name => 'ActiveRecordFixtures::Order'
54
+ def self.setup
55
+ unless check_for_table
56
+ connection.create_table self.table_name, :force => true do |t|
57
+ # no other columns
58
+ end
59
+ connection.create_table 'orders_shipments', :force => true, :id => false do |t|
60
+ t.column :order_id, :integer
61
+ t.column :shipment_id, :integer
62
+ end
63
+ else
64
+ connection.execute("delete from #{self.table_name}")
65
+ end
66
+ end
67
+ def self.check_for_table
68
+ connection.table_exists?(self.table_name) && connection.table_exists?('orders_shipments')
69
+ rescue Exception => e
70
+ false
71
+ end
72
+
73
+
74
+ def self.teardown
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,48 @@
1
+ # This is the config file loaded when running unit tests locally.
2
+ common: &default_settings
3
+ transaction_tracer:
4
+ enabled: true
5
+ record_sql: raw
6
+
7
+ test:
8
+ <<: *default_settings
9
+ host: localhost
10
+ port: 3000
11
+ log_level: info
12
+ capture_params: true
13
+ agent_enabled: false
14
+ monitor_mode: false
15
+ developer_mode: true
16
+ disable_samplers: true
17
+ api_host: 127.0.0.1
18
+ api_port: 443
19
+ message: '<%= generated_for_user %>'
20
+ license_key: '<%= license_key %>'
21
+ agent_enabled: auto
22
+ apdex_t: 1.1
23
+ app_name:
24
+ - a
25
+ - b
26
+ - c
27
+ log_file_path: <%= RAILS_ROOT %>/log
28
+
29
+ # Some fixtures for newrelic.yml parsing tests
30
+ erb_value: <%= 'hey'*3 %>
31
+ tval: true
32
+ tstring: 'true'
33
+ fval: false
34
+ yval: yes
35
+ sval: sure
36
+
37
+ transaction_tracer:
38
+ record_sql: raw
39
+ transaction_threshold: Apdex_f # case insensitive
40
+ explain_threshold: 0.1
41
+ explain_enabled: true
42
+ stack_trace_threshold: 0.1
43
+
44
+ error_collector:
45
+ enabled: true
46
+ capture_source: true
47
+
48
+