ghazel-newrelic_rpm 3.4.0.2 → 3.5.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (231) hide show
  1. data/.gitignore +21 -0
  2. data/.project +23 -0
  3. data/.travis.yml +9 -0
  4. data/CHANGELOG +180 -1
  5. data/GUIDELINES_FOR_CONTRIBUTING.md +73 -0
  6. data/Gemfile +16 -0
  7. data/InstallationNotes.md +15 -0
  8. data/LICENSE +1 -1
  9. data/{README.rdoc → README.md} +71 -55
  10. data/Rakefile +54 -0
  11. data/config.dot +290 -0
  12. data/config/database.yml +5 -0
  13. data/init.rb +38 -0
  14. data/lib/new_relic/agent.rb +9 -4
  15. data/lib/new_relic/agent/agent.rb +189 -230
  16. data/lib/new_relic/agent/beacon_configuration.rb +34 -48
  17. data/lib/new_relic/agent/browser_monitoring.rb +108 -61
  18. data/lib/new_relic/agent/busy_calculator.rb +12 -4
  19. data/lib/new_relic/agent/configuration.rb +49 -0
  20. data/lib/new_relic/agent/configuration/defaults.rb +89 -0
  21. data/lib/new_relic/agent/configuration/environment_source.rb +56 -0
  22. data/lib/new_relic/agent/configuration/manager.rb +116 -0
  23. data/lib/new_relic/agent/configuration/server_source.rb +27 -0
  24. data/lib/new_relic/agent/configuration/yaml_source.rb +61 -0
  25. data/lib/new_relic/agent/database.rb +37 -22
  26. data/lib/new_relic/agent/error_collector.rb +47 -43
  27. data/lib/new_relic/agent/instrumentation/active_record.rb +1 -5
  28. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +27 -6
  29. data/lib/new_relic/agent/instrumentation/data_mapper.rb +2 -10
  30. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +1 -1
  31. data/lib/new_relic/agent/instrumentation/memcache.rb +2 -2
  32. data/lib/new_relic/agent/instrumentation/metric_frame.rb +4 -14
  33. data/lib/new_relic/agent/instrumentation/passenger_instrumentation.rb +4 -18
  34. data/lib/new_relic/agent/instrumentation/rack.rb +1 -1
  35. data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +3 -3
  36. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +2 -2
  37. data/lib/new_relic/agent/instrumentation/rails3/errors.rb +5 -1
  38. data/lib/new_relic/agent/instrumentation/resque.rb +1 -1
  39. data/lib/new_relic/agent/instrumentation/sinatra.rb +14 -10
  40. data/lib/new_relic/agent/instrumentation/unicorn_instrumentation.rb +4 -3
  41. data/lib/new_relic/agent/method_tracer.rb +5 -1
  42. data/lib/new_relic/agent/new_relic_service.rb +231 -61
  43. data/lib/new_relic/agent/pipe_channel_manager.rb +37 -23
  44. data/lib/new_relic/agent/pipe_service.rb +5 -1
  45. data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +2 -5
  46. data/lib/new_relic/agent/samplers/memory_sampler.rb +2 -2
  47. data/lib/new_relic/agent/sql_sampler.rb +44 -68
  48. data/lib/new_relic/agent/stats_engine/gc_profiler.rb +40 -24
  49. data/lib/new_relic/agent/stats_engine/metric_stats.rb +89 -14
  50. data/lib/new_relic/agent/stats_engine/samplers.rb +7 -3
  51. data/lib/new_relic/agent/stats_engine/transactions.rb +19 -11
  52. data/lib/new_relic/agent/thread.rb +27 -0
  53. data/lib/new_relic/agent/thread_profiler.rb +295 -0
  54. data/lib/new_relic/agent/transaction_info.rb +24 -4
  55. data/lib/new_relic/agent/transaction_sample_builder.rb +11 -11
  56. data/lib/new_relic/agent/transaction_sampler.rb +51 -61
  57. data/lib/new_relic/agent/worker_loop.rb +29 -15
  58. data/lib/new_relic/collection_helper.rb +1 -1
  59. data/lib/new_relic/commands/deployments.rb +19 -10
  60. data/lib/new_relic/control.rb +0 -1
  61. data/lib/new_relic/control/class_methods.rb +2 -3
  62. data/lib/new_relic/control/frameworks/rails.rb +24 -18
  63. data/lib/new_relic/control/frameworks/rails3.rb +18 -1
  64. data/lib/new_relic/control/frameworks/ruby.rb +2 -2
  65. data/lib/new_relic/control/instance_methods.rb +36 -53
  66. data/lib/new_relic/control/logging_methods.rb +5 -23
  67. data/lib/new_relic/control/server_methods.rb +11 -13
  68. data/lib/new_relic/delayed_job_injection.rb +1 -1
  69. data/lib/new_relic/helper.rb +13 -0
  70. data/lib/new_relic/language_support.rb +19 -22
  71. data/lib/new_relic/local_environment.rb +2 -3
  72. data/lib/new_relic/metric_data.rb +10 -2
  73. data/lib/new_relic/metric_spec.rb +6 -2
  74. data/lib/new_relic/noticed_error.rb +24 -9
  75. data/lib/new_relic/rack.rb +4 -0
  76. data/lib/new_relic/rack/browser_monitoring.rb +28 -10
  77. data/lib/new_relic/rack/developer_mode.rb +3 -0
  78. data/lib/new_relic/rack/error_collector.rb +56 -0
  79. data/lib/new_relic/transaction_sample.rb +23 -13
  80. data/lib/new_relic/transaction_sample/segment.rb +13 -15
  81. data/lib/new_relic/version.rb +3 -3
  82. data/lib/tasks/tests.rake +8 -8
  83. data/newrelic.yml +15 -32
  84. data/newrelic_rpm.gemspec +158 -38
  85. data/newrelic_rpm.gemspec.erb +55 -0
  86. data/test/config/newrelic.yml +3 -2
  87. data/test/intentional_fail.rb +10 -0
  88. data/test/multiverse/.gitignore +10 -0
  89. data/test/multiverse/README.md +90 -0
  90. data/test/multiverse/Rakefile +17 -0
  91. data/test/multiverse/lib/multiverse/color.rb +13 -0
  92. data/test/multiverse/lib/multiverse/envfile.rb +66 -0
  93. data/test/multiverse/lib/multiverse/environment.rb +16 -0
  94. data/test/multiverse/lib/multiverse/output_collector.rb +29 -0
  95. data/test/multiverse/lib/multiverse/runner.rb +44 -0
  96. data/test/multiverse/lib/multiverse/suite.rb +162 -0
  97. data/test/multiverse/script/run_one +3 -0
  98. data/test/multiverse/script/runner +9 -0
  99. data/test/multiverse/suites/active_record/Envfile +13 -0
  100. data/test/multiverse/suites/active_record/ar_method_aliasing.rb +94 -0
  101. data/test/multiverse/suites/active_record/config/newrelic.yml +22 -0
  102. data/test/multiverse/suites/active_record/encoding_test.rb +26 -0
  103. data/test/multiverse/suites/agent_only/Envfile +3 -0
  104. data/test/multiverse/suites/agent_only/config/newrelic.yml +22 -0
  105. data/test/multiverse/suites/agent_only/http_response_code_test.rb +53 -0
  106. data/test/multiverse/suites/agent_only/marshaling_test.rb +109 -0
  107. data/test/multiverse/suites/agent_only/method_visibility_test.rb +98 -0
  108. data/test/multiverse/suites/agent_only/pipe_manager_test.rb +33 -0
  109. data/test/multiverse/suites/agent_only/service_timeout_test.rb +29 -0
  110. data/test/multiverse/suites/agent_only/test_trace_method_with_punctuation.rb +30 -0
  111. data/test/multiverse/suites/agent_only/test_trace_transaction_with_punctuation.rb +32 -0
  112. data/test/multiverse/suites/agent_only/thread_profiling_test.rb +80 -0
  113. data/test/multiverse/suites/datamapper/Envfile +8 -0
  114. data/test/multiverse/suites/datamapper/config/newrelic.yml +22 -0
  115. data/test/multiverse/suites/datamapper/encoding_test.rb +36 -0
  116. data/test/multiverse/suites/monitor_mode_false/Envfile +2 -0
  117. data/test/multiverse/suites/monitor_mode_false/config/newrelic.yml +25 -0
  118. data/test/multiverse/suites/monitor_mode_false/no_dns_resolv.rb +29 -0
  119. data/test/multiverse/suites/no_load/Envfile +2 -0
  120. data/test/multiverse/suites/no_load/config/newrelic.yml +23 -0
  121. data/test/multiverse/suites/no_load/start_up_test.rb +14 -0
  122. data/test/multiverse/suites/rails_3_error_tracing/Envfile +15 -0
  123. data/test/multiverse/suites/rails_3_error_tracing/config/newrelic.yml +165 -0
  124. data/test/multiverse/suites/rails_3_error_tracing/error_tracing_test.rb +236 -0
  125. data/test/multiverse/suites/rails_3_gc/Envfile +8 -0
  126. data/test/multiverse/suites/rails_3_gc/config/newrelic.yml +167 -0
  127. data/test/multiverse/suites/rails_3_gc/instrumentation_test.rb +92 -0
  128. data/test/multiverse/suites/rails_3_queue_time/Envfile +15 -0
  129. data/test/multiverse/suites/rails_3_queue_time/config/newrelic.yml +165 -0
  130. data/test/multiverse/suites/rails_3_queue_time/queue_time_test.rb +75 -0
  131. data/test/multiverse/suites/rails_3_views/.gitignore +3 -0
  132. data/test/multiverse/suites/rails_3_views/Envfile +16 -0
  133. data/test/multiverse/suites/rails_3_views/app/views/foos/_foo.html.haml +1 -0
  134. data/test/multiverse/suites/rails_3_views/app/views/test/_a_partial.html.erb +1 -0
  135. data/test/multiverse/suites/rails_3_views/app/views/test/_mid_partial.html.erb +1 -0
  136. data/test/multiverse/suites/rails_3_views/app/views/test/_top_partial.html.erb +3 -0
  137. data/test/multiverse/suites/rails_3_views/app/views/test/deep_partial.html.erb +3 -0
  138. data/test/multiverse/suites/rails_3_views/app/views/test/haml_view.html.haml +6 -0
  139. data/test/multiverse/suites/rails_3_views/app/views/test/index.html.erb +4 -0
  140. data/test/multiverse/suites/rails_3_views/config/newrelic.yml +164 -0
  141. data/test/multiverse/suites/rails_3_views/view_instrumentation_test.rb +245 -0
  142. data/test/multiverse/suites/resque/Envfile +21 -0
  143. data/test/multiverse/suites/resque/config/newrelic.yml +22 -0
  144. data/test/multiverse/suites/resque/dump.rdb +0 -0
  145. data/test/multiverse/suites/resque/instrumentation_test.rb +73 -0
  146. data/test/multiverse/suites/rum_auto_instrumentation/Envfile +4 -0
  147. data/test/multiverse/suites/rum_auto_instrumentation/config/newrelic.yml +24 -0
  148. data/test/multiverse/suites/rum_auto_instrumentation/problem_response.html +422 -0
  149. data/test/multiverse/suites/rum_auto_instrumentation/responses/worst_case_small.html +5000 -0
  150. data/test/multiverse/suites/rum_auto_instrumentation/sanity_test.rb +115 -0
  151. data/test/multiverse/suites/sinatra/Envfile +13 -0
  152. data/test/multiverse/suites/sinatra/config/newrelic.yml +24 -0
  153. data/test/multiverse/suites/sinatra/sinatra_metric_explosion_test.rb +76 -0
  154. data/test/multiverse/suites/sinatra/sinatra_routes_test.rb +46 -0
  155. data/test/multiverse/test/multiverse_test.rb +55 -0
  156. data/test/multiverse/test/suite_examples/one/a/Envfile +3 -0
  157. data/test/multiverse/test/suite_examples/one/a/a_test.rb +11 -0
  158. data/test/multiverse/test/suite_examples/one/a/config/newrelic.yml +24 -0
  159. data/test/multiverse/test/suite_examples/one/b/Envfile +3 -0
  160. data/test/multiverse/test/suite_examples/one/b/b_test.rb +11 -0
  161. data/test/multiverse/test/suite_examples/one/b/config/newrelic.yml +24 -0
  162. data/test/multiverse/test/suite_examples/three/a/Envfile +2 -0
  163. data/test/multiverse/test/suite_examples/three/a/fail_test.rb +6 -0
  164. data/test/multiverse/test/suite_examples/three/b/Envfile +2 -0
  165. data/test/multiverse/test/suite_examples/three/b/win_test.rb +6 -0
  166. data/test/multiverse/test/suite_examples/two/a/Envfile +1 -0
  167. data/test/multiverse/test/suite_examples/two/a/fail_test.rb +6 -0
  168. data/test/new_relic/agent/agent/connect_test.rb +134 -164
  169. data/test/new_relic/agent/agent/start_test.rb +111 -81
  170. data/test/new_relic/agent/agent/start_worker_thread_test.rb +6 -33
  171. data/test/new_relic/agent/agent_test.rb +88 -9
  172. data/test/new_relic/agent/agent_test_controller.rb +1 -1
  173. data/test/new_relic/agent/agent_test_controller_test.rb +42 -10
  174. data/test/new_relic/agent/beacon_configuration_test.rb +63 -67
  175. data/test/new_relic/agent/browser_monitoring_test.rb +150 -79
  176. data/test/new_relic/agent/configuration/environment_source_test.rb +74 -0
  177. data/test/new_relic/agent/configuration/manager_test.rb +149 -0
  178. data/test/new_relic/agent/configuration/server_source_test.rb +45 -0
  179. data/test/new_relic/agent/configuration/yaml_source_test.rb +56 -0
  180. data/test/new_relic/agent/error_collector/notice_error_test.rb +63 -50
  181. data/test/new_relic/agent/error_collector_test.rb +22 -12
  182. data/test/new_relic/agent/instrumentation/active_record_instrumentation_test.rb +21 -11
  183. data/test/new_relic/agent/instrumentation/metric_frame_test.rb +6 -0
  184. data/test/new_relic/agent/instrumentation/task_instrumentation_test.rb +2 -2
  185. data/test/new_relic/agent/method_tracer/class_methods/add_method_tracer_test.rb +5 -5
  186. data/test/new_relic/agent/method_tracer_test.rb +6 -6
  187. data/test/new_relic/agent/mock_scope_listener.rb +3 -0
  188. data/test/new_relic/agent/new_relic_service_test.rb +208 -23
  189. data/test/new_relic/agent/pipe_channel_manager_test.rb +34 -17
  190. data/test/new_relic/agent/rpm_agent_test.rb +27 -23
  191. data/test/new_relic/agent/sql_sampler_test.rb +81 -56
  192. data/test/new_relic/agent/stats_engine/metric_stats/harvest_test.rb +3 -20
  193. data/test/new_relic/agent/stats_engine/metric_stats_test.rb +12 -1
  194. data/test/new_relic/agent/stats_engine_test.rb +17 -8
  195. data/test/new_relic/agent/thread_profiler_test.rb +536 -0
  196. data/test/new_relic/agent/thread_test.rb +76 -0
  197. data/test/new_relic/agent/threaded_test.rb +65 -0
  198. data/test/new_relic/agent/transaction_info_test.rb +45 -4
  199. data/test/new_relic/agent/transaction_sample_builder_test.rb +8 -6
  200. data/test/new_relic/agent/transaction_sampler_test.rb +193 -204
  201. data/test/new_relic/agent/worker_loop_test.rb +20 -0
  202. data/test/new_relic/agent_test.rb +69 -41
  203. data/test/new_relic/collection_helper_test.rb +7 -8
  204. data/test/new_relic/command/deployments_test.rb +18 -2
  205. data/test/new_relic/control/frameworks/rails_test.rb +26 -0
  206. data/test/new_relic/control/logging_methods_test.rb +78 -52
  207. data/test/new_relic/control_test.rb +91 -129
  208. data/test/new_relic/fake_collector.rb +103 -31
  209. data/test/new_relic/fake_service.rb +8 -2
  210. data/test/new_relic/load_test.rb +13 -0
  211. data/test/new_relic/local_environment_test.rb +7 -10
  212. data/test/new_relic/metric_data_test.rb +45 -16
  213. data/test/new_relic/noticed_error_test.rb +14 -0
  214. data/test/new_relic/rack/browser_monitoring_test.rb +15 -9
  215. data/test/new_relic/rack/developer_mode_test.rb +13 -7
  216. data/test/new_relic/rack/error_collector_test.rb +74 -0
  217. data/test/new_relic/transaction_sample/segment_test.rb +23 -4
  218. data/test/new_relic/transaction_sample_test.rb +47 -2
  219. data/test/script/build_test_gem.sh +9 -3
  220. data/test/script/ci.sh +48 -21
  221. data/test/script/ci_multiverse_runner.sh +11 -11
  222. data/test/test_helper.rb +37 -18
  223. data/ui/helpers/developer_mode_helper.rb +21 -11
  224. data/ui/views/layouts/newrelic_default.rhtml +1 -0
  225. data/ui/views/newrelic/show_sample.rhtml +1 -1
  226. data/ui/views/newrelic/threads.rhtml +2 -10
  227. data/vendor/gems/metric_parser-0.1.0.pre1/.specification +116 -0
  228. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_init.rb +7 -0
  229. metadata +132 -58
  230. data/lib/new_relic/control/configuration.rb +0 -206
  231. data/test/new_relic/control/configuration_test.rb +0 -77
@@ -0,0 +1,7 @@
1
+ require 'new_relic/metric_parser/java'
2
+ class NewRelic::MetricParser::ServletInit < NewRelic::MetricParser::Java
3
+
4
+ def call_rate_suffix
5
+ 'cpm'
6
+ end
7
+ end
metadata CHANGED
@@ -4,59 +4,22 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 3
7
+ - 5
7
8
  - 4
8
- - 0
9
- - 2
10
- version: 3.4.0.2
9
+ version: 3.5.4
11
10
  platform: ruby
12
11
  authors:
13
- - Bill Kayser
12
+ - Jason Clark
13
+ - Sam Goldstein
14
14
  - Jon Guymon
15
- - Justin George
16
- - Darin Swanson
17
15
  autorequire:
18
16
  bindir: bin
19
17
  cert_chain: []
20
18
 
21
- date: 2012-06-25 00:00:00 -07:00
19
+ date: 2012-12-06 00:00:00 -08:00
22
20
  default_executable:
23
- dependencies:
24
- - !ruby/object:Gem::Dependency
25
- name: jeweler
26
- prerelease: false
27
- requirement: &id001 !ruby/object:Gem::Requirement
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- segments:
32
- - 0
33
- version: "0"
34
- type: :development
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: mocha
38
- prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- segments:
44
- - 0
45
- version: "0"
46
- type: :development
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: shoulda
50
- prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- segments:
56
- - 0
57
- version: "0"
58
- type: :development
59
- version_requirements: *id003
21
+ dependencies: []
22
+
60
23
  description: |
61
24
  New Relic is a performance management system, developed by New Relic,
62
25
  Inc (http://www.newrelic.com). New Relic provides you with deep
@@ -68,25 +31,36 @@ description: |
68
31
  email: support@newrelic.com
69
32
  executables:
70
33
  - mongrel_rpm
71
- - newrelic
72
34
  - newrelic_cmd
35
+ - newrelic
73
36
  extensions: []
74
37
 
75
38
  extra_rdoc_files:
76
39
  - CHANGELOG
77
40
  - LICENSE
78
- - README.rdoc
41
+ - README.md
42
+ - GUIDELINES_FOR_CONTRIBUTING.md
79
43
  - newrelic.yml
80
44
  files:
45
+ - .gitignore
46
+ - .project
47
+ - .travis.yml
81
48
  - CHANGELOG
49
+ - GUIDELINES_FOR_CONTRIBUTING.md
50
+ - Gemfile
51
+ - InstallationNotes.md
82
52
  - LICENSE
83
- - README.rdoc
53
+ - README.md
54
+ - Rakefile
84
55
  - bin/mongrel_rpm
85
56
  - bin/newrelic
86
57
  - bin/newrelic_cmd
87
58
  - cert/cacert.pem
88
59
  - cert/oldsite.pem
89
60
  - cert/site.pem
61
+ - config.dot
62
+ - config/database.yml
63
+ - init.rb
90
64
  - install.rb
91
65
  - lib/conditional_vendored_dependency_detection.rb
92
66
  - lib/conditional_vendored_metric_parser.rb
@@ -96,6 +70,12 @@ files:
96
70
  - lib/new_relic/agent/browser_monitoring.rb
97
71
  - lib/new_relic/agent/busy_calculator.rb
98
72
  - lib/new_relic/agent/chained_call.rb
73
+ - lib/new_relic/agent/configuration.rb
74
+ - lib/new_relic/agent/configuration/defaults.rb
75
+ - lib/new_relic/agent/configuration/environment_source.rb
76
+ - lib/new_relic/agent/configuration/manager.rb
77
+ - lib/new_relic/agent/configuration/server_source.rb
78
+ - lib/new_relic/agent/configuration/yaml_source.rb
99
79
  - lib/new_relic/agent/database.rb
100
80
  - lib/new_relic/agent/error_collector.rb
101
81
  - lib/new_relic/agent/instrumentation.rb
@@ -120,11 +100,11 @@ files:
120
100
  - lib/new_relic/agent/instrumentation/rails/errors.rb
121
101
  - lib/new_relic/agent/instrumentation/rails3/action_controller.rb
122
102
  - lib/new_relic/agent/instrumentation/rails3/errors.rb
103
+ - lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb
123
104
  - lib/new_relic/agent/instrumentation/resque.rb
124
105
  - lib/new_relic/agent/instrumentation/sinatra.rb
125
106
  - lib/new_relic/agent/instrumentation/sunspot.rb
126
107
  - lib/new_relic/agent/instrumentation/unicorn_instrumentation.rb
127
- - lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb
128
108
  - lib/new_relic/agent/method_tracer.rb
129
109
  - lib/new_relic/agent/new_relic_service.rb
130
110
  - lib/new_relic/agent/pipe_channel_manager.rb
@@ -141,6 +121,8 @@ files:
141
121
  - lib/new_relic/agent/stats_engine/metric_stats.rb
142
122
  - lib/new_relic/agent/stats_engine/samplers.rb
143
123
  - lib/new_relic/agent/stats_engine/transactions.rb
124
+ - lib/new_relic/agent/thread.rb
125
+ - lib/new_relic/agent/thread_profiler.rb
144
126
  - lib/new_relic/agent/transaction_info.rb
145
127
  - lib/new_relic/agent/transaction_sample_builder.rb
146
128
  - lib/new_relic/agent/transaction_sampler.rb
@@ -151,7 +133,6 @@ files:
151
133
  - lib/new_relic/commands/install.rb
152
134
  - lib/new_relic/control.rb
153
135
  - lib/new_relic/control/class_methods.rb
154
- - lib/new_relic/control/configuration.rb
155
136
  - lib/new_relic/control/frameworks.rb
156
137
  - lib/new_relic/control/frameworks/external.rb
157
138
  - lib/new_relic/control/frameworks/merb.rb
@@ -173,8 +154,10 @@ files:
173
154
  - lib/new_relic/metric_spec.rb
174
155
  - lib/new_relic/metrics.rb
175
156
  - lib/new_relic/noticed_error.rb
157
+ - lib/new_relic/rack.rb
176
158
  - lib/new_relic/rack/browser_monitoring.rb
177
159
  - lib/new_relic/rack/developer_mode.rb
160
+ - lib/new_relic/rack/error_collector.rb
178
161
  - lib/new_relic/recipes.rb
179
162
  - lib/new_relic/stats.rb
180
163
  - lib/new_relic/timer_lib.rb
@@ -192,12 +175,93 @@ files:
192
175
  - lib/tasks/install.rake
193
176
  - lib/tasks/tests.rake
194
177
  - newrelic.yml
195
- - newrelic_rpm.gemspec
178
+ - newrelic_rpm.gemspec.erb
196
179
  - recipes/newrelic.rb
197
180
  - test/active_record_fixtures.rb
198
181
  - test/config/newrelic.yml
199
182
  - test/config/test_control.rb
200
183
  - test/fixtures/proc_cpuinfo.txt
184
+ - test/intentional_fail.rb
185
+ - test/multiverse/.gitignore
186
+ - test/multiverse/README.md
187
+ - test/multiverse/Rakefile
188
+ - test/multiverse/lib/multiverse/color.rb
189
+ - test/multiverse/lib/multiverse/envfile.rb
190
+ - test/multiverse/lib/multiverse/environment.rb
191
+ - test/multiverse/lib/multiverse/output_collector.rb
192
+ - test/multiverse/lib/multiverse/runner.rb
193
+ - test/multiverse/lib/multiverse/suite.rb
194
+ - test/multiverse/script/run_one
195
+ - test/multiverse/script/runner
196
+ - test/multiverse/suites/active_record/Envfile
197
+ - test/multiverse/suites/active_record/ar_method_aliasing.rb
198
+ - test/multiverse/suites/active_record/config/newrelic.yml
199
+ - test/multiverse/suites/active_record/encoding_test.rb
200
+ - test/multiverse/suites/agent_only/Envfile
201
+ - test/multiverse/suites/agent_only/config/newrelic.yml
202
+ - test/multiverse/suites/agent_only/http_response_code_test.rb
203
+ - test/multiverse/suites/agent_only/marshaling_test.rb
204
+ - test/multiverse/suites/agent_only/method_visibility_test.rb
205
+ - test/multiverse/suites/agent_only/pipe_manager_test.rb
206
+ - test/multiverse/suites/agent_only/service_timeout_test.rb
207
+ - test/multiverse/suites/agent_only/test_trace_method_with_punctuation.rb
208
+ - test/multiverse/suites/agent_only/test_trace_transaction_with_punctuation.rb
209
+ - test/multiverse/suites/agent_only/thread_profiling_test.rb
210
+ - test/multiverse/suites/datamapper/Envfile
211
+ - test/multiverse/suites/datamapper/config/newrelic.yml
212
+ - test/multiverse/suites/datamapper/encoding_test.rb
213
+ - test/multiverse/suites/monitor_mode_false/Envfile
214
+ - test/multiverse/suites/monitor_mode_false/config/newrelic.yml
215
+ - test/multiverse/suites/monitor_mode_false/no_dns_resolv.rb
216
+ - test/multiverse/suites/no_load/Envfile
217
+ - test/multiverse/suites/no_load/config/newrelic.yml
218
+ - test/multiverse/suites/no_load/start_up_test.rb
219
+ - test/multiverse/suites/rails_3_error_tracing/Envfile
220
+ - test/multiverse/suites/rails_3_error_tracing/config/newrelic.yml
221
+ - test/multiverse/suites/rails_3_error_tracing/error_tracing_test.rb
222
+ - test/multiverse/suites/rails_3_gc/Envfile
223
+ - test/multiverse/suites/rails_3_gc/config/newrelic.yml
224
+ - test/multiverse/suites/rails_3_gc/instrumentation_test.rb
225
+ - test/multiverse/suites/rails_3_queue_time/Envfile
226
+ - test/multiverse/suites/rails_3_queue_time/config/newrelic.yml
227
+ - test/multiverse/suites/rails_3_queue_time/queue_time_test.rb
228
+ - test/multiverse/suites/rails_3_views/.gitignore
229
+ - test/multiverse/suites/rails_3_views/Envfile
230
+ - test/multiverse/suites/rails_3_views/app/views/foos/_foo.html.haml
231
+ - test/multiverse/suites/rails_3_views/app/views/test/_a_partial.html.erb
232
+ - test/multiverse/suites/rails_3_views/app/views/test/_mid_partial.html.erb
233
+ - test/multiverse/suites/rails_3_views/app/views/test/_top_partial.html.erb
234
+ - test/multiverse/suites/rails_3_views/app/views/test/deep_partial.html.erb
235
+ - test/multiverse/suites/rails_3_views/app/views/test/haml_view.html.haml
236
+ - test/multiverse/suites/rails_3_views/app/views/test/index.html.erb
237
+ - test/multiverse/suites/rails_3_views/config/newrelic.yml
238
+ - test/multiverse/suites/rails_3_views/view_instrumentation_test.rb
239
+ - test/multiverse/suites/resque/Envfile
240
+ - test/multiverse/suites/resque/config/newrelic.yml
241
+ - test/multiverse/suites/resque/dump.rdb
242
+ - test/multiverse/suites/resque/instrumentation_test.rb
243
+ - test/multiverse/suites/rum_auto_instrumentation/Envfile
244
+ - test/multiverse/suites/rum_auto_instrumentation/config/newrelic.yml
245
+ - test/multiverse/suites/rum_auto_instrumentation/problem_response.html
246
+ - test/multiverse/suites/rum_auto_instrumentation/responses/worst_case_small.html
247
+ - test/multiverse/suites/rum_auto_instrumentation/sanity_test.rb
248
+ - test/multiverse/suites/sinatra/Envfile
249
+ - test/multiverse/suites/sinatra/config/newrelic.yml
250
+ - test/multiverse/suites/sinatra/sinatra_metric_explosion_test.rb
251
+ - test/multiverse/suites/sinatra/sinatra_routes_test.rb
252
+ - test/multiverse/test/multiverse_test.rb
253
+ - test/multiverse/test/suite_examples/one/a/Envfile
254
+ - test/multiverse/test/suite_examples/one/a/a_test.rb
255
+ - test/multiverse/test/suite_examples/one/a/config/newrelic.yml
256
+ - test/multiverse/test/suite_examples/one/b/Envfile
257
+ - test/multiverse/test/suite_examples/one/b/b_test.rb
258
+ - test/multiverse/test/suite_examples/one/b/config/newrelic.yml
259
+ - test/multiverse/test/suite_examples/three/a/Envfile
260
+ - test/multiverse/test/suite_examples/three/a/fail_test.rb
261
+ - test/multiverse/test/suite_examples/three/b/Envfile
262
+ - test/multiverse/test/suite_examples/three/b/win_test.rb
263
+ - test/multiverse/test/suite_examples/two/a/Envfile
264
+ - test/multiverse/test/suite_examples/two/a/fail_test.rb
201
265
  - test/new_relic/agent/agent/connect_test.rb
202
266
  - test/new_relic/agent/agent/start_test.rb
203
267
  - test/new_relic/agent/agent/start_worker_thread_test.rb
@@ -208,6 +272,10 @@ files:
208
272
  - test/new_relic/agent/beacon_configuration_test.rb
209
273
  - test/new_relic/agent/browser_monitoring_test.rb
210
274
  - test/new_relic/agent/busy_calculator_test.rb
275
+ - test/new_relic/agent/configuration/environment_source_test.rb
276
+ - test/new_relic/agent/configuration/manager_test.rb
277
+ - test/new_relic/agent/configuration/server_source_test.rb
278
+ - test/new_relic/agent/configuration/yaml_source_test.rb
211
279
  - test/new_relic/agent/database_test.rb
212
280
  - test/new_relic/agent/error_collector/notice_error_test.rb
213
281
  - test/new_relic/agent/error_collector_test.rb
@@ -236,6 +304,9 @@ files:
236
304
  - test/new_relic/agent/stats_engine/metric_stats_test.rb
237
305
  - test/new_relic/agent/stats_engine/samplers_test.rb
238
306
  - test/new_relic/agent/stats_engine_test.rb
307
+ - test/new_relic/agent/thread_profiler_test.rb
308
+ - test/new_relic/agent/thread_test.rb
309
+ - test/new_relic/agent/threaded_test.rb
239
310
  - test/new_relic/agent/transaction_info_test.rb
240
311
  - test/new_relic/agent/transaction_sample_builder_test.rb
241
312
  - test/new_relic/agent/transaction_sampler_test.rb
@@ -244,20 +315,23 @@ files:
244
315
  - test/new_relic/collection_helper_test.rb
245
316
  - test/new_relic/command/deployments_test.rb
246
317
  - test/new_relic/control/class_methods_test.rb
247
- - test/new_relic/control/configuration_test.rb
318
+ - test/new_relic/control/frameworks/rails_test.rb
248
319
  - test/new_relic/control/logging_methods_test.rb
249
320
  - test/new_relic/control_test.rb
250
321
  - test/new_relic/delayed_job_injection_test.rb
251
322
  - test/new_relic/fake_collector.rb
252
323
  - test/new_relic/fake_service.rb
324
+ - test/new_relic/load_test.rb
253
325
  - test/new_relic/local_environment_test.rb
254
326
  - test/new_relic/metric_data_test.rb
255
327
  - test/new_relic/metric_parser/metric_parser_test.rb
256
328
  - test/new_relic/metric_spec_test.rb
329
+ - test/new_relic/noticed_error_test.rb
257
330
  - test/new_relic/rack/all_test.rb
258
331
  - test/new_relic/rack/browser_monitoring_test.rb
259
332
  - test/new_relic/rack/developer_mode_helper_test.rb
260
333
  - test/new_relic/rack/developer_mode_test.rb
334
+ - test/new_relic/rack/error_collector_test.rb
261
335
  - test/new_relic/stats_test.rb
262
336
  - test/new_relic/transaction_analysis/segment_summary_test.rb
263
337
  - test/new_relic/transaction_analysis_test.rb
@@ -309,6 +383,7 @@ files:
309
383
  - vendor/gems/dependency_detection-0.0.1.build/LICENSE
310
384
  - vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection.rb
311
385
  - vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection/version.rb
386
+ - vendor/gems/metric_parser-0.1.0.pre1/.specification
312
387
  - vendor/gems/metric_parser-0.1.0.pre1/lib/metric_parser.rb
313
388
  - vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser.rb
314
389
  - vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/action_mailer.rb
@@ -340,6 +415,7 @@ files:
340
415
  - vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet.rb
341
416
  - vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_context_listener.rb
342
417
  - vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_filter.rb
418
+ - vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_init.rb
343
419
  - vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr.rb
344
420
  - vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr_request_handler.rb
345
421
  - vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring.rb
@@ -352,12 +428,12 @@ files:
352
428
  - vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_frontend.rb
353
429
  - vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_service.rb
354
430
  - vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_transaction.rb
431
+ - newrelic_rpm.gemspec
355
432
  has_rdoc: true
356
433
  homepage: http://www.github.com/newrelic/rpm
357
434
  licenses: []
358
435
 
359
- post_install_message: |
360
-
436
+ post_install_message: |+
361
437
  PLEASE NOTE:
362
438
 
363
439
  Developer Mode is now a Rack middleware.
@@ -368,18 +444,16 @@ post_install_message: |
368
444
  in a non-Rails application, just add NewRelic::Rack::DeveloperMode to
369
445
  your middleware stack.
370
446
 
371
- If you are using JRuby, we recommend using at least version 1.4 or
447
+ If you are using JRuby, we recommend using at least version 1.4 or
372
448
  later because of issues with the implementation of the timeout library.
373
449
 
374
450
  Refer to the README.md file for more information.
375
451
 
376
452
  Please see http://github.com/newrelic/rpm/blob/master/CHANGELOG
377
453
  for a complete description of the features and enhancements available
378
- in version 3.4 of the Ruby Agent.
379
-
380
-
454
+ in this version of the Ruby Agent.
455
+
381
456
  rdoc_options:
382
- - --charset=UTF-8
383
457
  - --line-numbers
384
458
  - --inline-source
385
459
  - --title
@@ -1,206 +0,0 @@
1
- module NewRelic
2
- class Control
3
- # used to contain methods to look up settings from the
4
- # configuration located in newrelic.yml
5
- module Configuration
6
- def settings
7
- unless @settings
8
- @settings = (@yaml && merge_defaults(@yaml[env])) || {}
9
- # At the time we bind the settings, we also need to run this little piece
10
- # of magic which allows someone to augment the id with the app name, necessary
11
- if self['multi_homed'] && app_names.size > 0
12
- if @local_env.dispatcher_instance_id
13
- @local_env.dispatcher_instance_id << ":#{app_names.first}"
14
- else
15
- @local_env.dispatcher_instance_id = app_names.first
16
- end
17
- end
18
-
19
- end
20
- @settings
21
- end
22
-
23
- def merge_defaults(settings_hash)
24
- s = {
25
- 'host' => 'collector.newrelic.com',
26
- 'ssl' => false,
27
- 'log_level' => 'info',
28
- 'apdex_t' => 0.5
29
- }
30
- s.merge! settings_hash if settings_hash
31
- # monitor_daemons replaced with agent_enabled
32
- s['agent_enabled'] = s.delete('monitor_daemons') if s['agent_enabled'].nil? && s.include?('monitor_daemons')
33
- s
34
- end
35
-
36
- # Merge the given options into the config options.
37
- # They might be a nested hash
38
- def merge_options(options, hash=self)
39
- options.each do |key, val|
40
- case
41
- when key == :config then next
42
- when val.is_a?(Hash)
43
- merge_options(val, hash[key.to_s] ||= {})
44
- when val.nil?
45
- hash.delete(key.to_s)
46
- else
47
- hash[key.to_s] = val
48
- end
49
- end
50
- end
51
-
52
- def merge_server_side_config(data)
53
- remove_server_controlled_configs
54
- config = Hash.new
55
- data.each_pair do |key, value|
56
- if key.include?('.')
57
- key = key.split('.')
58
- config[key.first] ||= Hash.new
59
- config[key.first][key[1]] = value
60
- else
61
- config[key] = value
62
- end
63
- end
64
- merge_options(config)
65
- end
66
-
67
- def remove_server_controlled_configs
68
- settings.delete('transaction_tracer')
69
- settings.delete('slow_sql')
70
- settings.delete('error_collector')
71
- settings.delete('capture_params')
72
- end
73
-
74
- def [](key)
75
- fetch(key)
76
- end
77
-
78
- def []=(key, value)
79
- settings[key] = value
80
- end
81
-
82
- def fetch(key, default=nil)
83
- settings.fetch(key, default)
84
- end
85
-
86
- def apdex_t
87
- # Always initialized with a default
88
- @apdex_t_float ||= fetch('apdex_t').to_f
89
- end
90
-
91
- def license_key
92
- env_setting = ENV['NEW_RELIC_LICENSE_KEY'] || ENV['NEWRELIC_LICENSE_KEY']
93
- fetch('license_key', env_setting)
94
- end
95
-
96
- def capture_params
97
- fetch('capture_params')
98
- end
99
-
100
- # True if we are sending data to the server, monitoring production
101
- def monitor_mode?
102
- fetch('monitor_mode', fetch('enabled'))
103
- end
104
-
105
- # True if we are capturing data and displaying in /newrelic
106
- def developer_mode?
107
- fetch('developer_mode', fetch('developer'))
108
- end
109
-
110
- # whether we should install the
111
- # NewRelic::Rack::BrowserMonitoring middleware automatically on
112
- # Rails applications
113
- def browser_monitoring_auto_instrument?
114
- fetch('browser_monitoring', {}).fetch('auto_instrument', true)
115
- end
116
-
117
- def multi_threaded?
118
- fetch('multi_threaded')
119
- end
120
-
121
- def disable_serialization?
122
- fetch('disable_serialization', true)
123
- end
124
- def disable_serialization=(b)
125
- self['disable_serialization'] = b
126
- end
127
-
128
- # True if we should view files in textmate
129
- def use_textmate?
130
- fetch('textmate')
131
- end
132
-
133
- # defaults to 2MiB
134
- def post_size_limit
135
- fetch('post_size_limit', 2 * 1024 * 1024)
136
- end
137
-
138
- # Configuration option of the same name to indicate that we should connect
139
- # to New Relic synchronously on startup. This means when the agent is loaded it
140
- # won't return without trying to set up the server connection at least once
141
- # which can make startup take longer. Defaults to false.
142
- def sync_startup
143
- fetch('sync_startup', false)
144
- end
145
-
146
- # Configuration option of the same name to indicate that we should flush
147
- # data to the server on exiting. Defaults to true.
148
- def send_data_on_exit
149
- fetch('send_data_on_exit', true)
150
- end
151
-
152
- def dispatcher_instance_id
153
- self['dispatcher_instance_id'] || @local_env.dispatcher_instance_id
154
- end
155
-
156
- def dispatcher
157
- (self['dispatcher'] && self['dispatcher'].to_sym) || @local_env.dispatcher
158
- end
159
- def app_names
160
- case self['app_name']
161
- when Array then self['app_name']
162
- when String then self['app_name'].split(';')
163
- else [ env ]
164
- end
165
- end
166
- def validate_seed
167
- self['validate_seed'] || ENV['NR_VALIDATE_SEED']
168
- end
169
- def validate_token
170
- self['validate_token'] || ENV['NR_VALIDATE_TOKEN']
171
- end
172
-
173
- def use_ssl?
174
- @use_ssl = fetch('ssl', false) unless @use_ssl
175
- @use_ssl
176
- end
177
-
178
- def log_file_path
179
- fetch('log_file_path', 'log/')
180
- end
181
-
182
- # only verify certificates if you're very sure you want this
183
- # level of security, it includes possibly app-crashing dns
184
- # lookups every connection to the server
185
- def verify_certificate?
186
- unless @verify_certificate
187
- unless use_ssl?
188
- @verify_certificate = false
189
- else
190
- @verify_certificate = fetch('verify_certificate', false)
191
- end
192
- end
193
- @verify_certificate
194
- end
195
-
196
- def disable_backtrace_cleanup?
197
- fetch('disable_backtrace_cleanup')
198
- end
199
-
200
- def has_slow_sql_config?
201
- self['slow_sql'] && self['slow_sql'].has_key?('enabled')
202
- end
203
- end
204
- include Configuration
205
- end
206
- end