newrelic_rpm 2.12.3 → 2.13.0.beta3

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

Potentially problematic release.


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

Files changed (118) hide show
  1. data/CHANGELOG +24 -2
  2. data/README.rdoc +172 -0
  3. data/bin/newrelic +13 -0
  4. data/bin/newrelic_cmd +2 -1
  5. data/install.rb +8 -45
  6. data/lib/new_relic/agent.rb +43 -30
  7. data/lib/new_relic/agent/agent.rb +699 -631
  8. data/lib/new_relic/agent/busy_calculator.rb +81 -81
  9. data/lib/new_relic/agent/error_collector.rb +9 -6
  10. data/lib/new_relic/agent/instrumentation/active_record_instrumentation.rb +2 -2
  11. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +10 -5
  12. data/lib/new_relic/agent/instrumentation/data_mapper.rb +13 -45
  13. data/lib/new_relic/agent/instrumentation/memcache.rb +15 -4
  14. data/lib/new_relic/agent/instrumentation/metric_frame.rb +37 -29
  15. data/lib/new_relic/agent/instrumentation/rack.rb +20 -34
  16. data/lib/new_relic/agent/method_tracer.rb +9 -9
  17. data/lib/new_relic/agent/samplers/delayed_job_lock_sampler.rb +31 -31
  18. data/lib/new_relic/agent/stats_engine/metric_stats.rb +5 -5
  19. data/lib/new_relic/agent/stats_engine/samplers.rb +3 -0
  20. data/lib/new_relic/agent/transaction_sampler.rb +31 -15
  21. data/lib/new_relic/agent/worker_loop.rb +29 -28
  22. data/lib/new_relic/collection_helper.rb +4 -2
  23. data/lib/new_relic/command.rb +85 -0
  24. data/lib/new_relic/commands/deployments.rb +74 -114
  25. data/lib/new_relic/commands/install.rb +81 -0
  26. data/lib/new_relic/control.rb +54 -379
  27. data/lib/new_relic/control/configuration.rb +149 -0
  28. data/lib/new_relic/control/{external.rb → frameworks/external.rb} +2 -2
  29. data/lib/new_relic/control/{merb.rb → frameworks/merb.rb} +1 -1
  30. data/lib/new_relic/control/frameworks/rails.rb +126 -0
  31. data/lib/new_relic/control/{rails3.rb → frameworks/rails3.rb} +11 -10
  32. data/lib/new_relic/control/{ruby.rb → frameworks/ruby.rb} +1 -1
  33. data/lib/new_relic/control/{sinatra.rb → frameworks/sinatra.rb} +2 -2
  34. data/lib/new_relic/control/instrumentation.rb +84 -0
  35. data/lib/new_relic/control/logging_methods.rb +74 -0
  36. data/lib/new_relic/control/profiling.rb +24 -0
  37. data/lib/new_relic/control/server_methods.rb +88 -0
  38. data/lib/new_relic/local_environment.rb +3 -3
  39. data/lib/new_relic/metric_parser.rb +13 -2
  40. data/lib/new_relic/metric_parser/active_record.rb +4 -1
  41. data/lib/new_relic/metric_parser/apdex.rb +53 -0
  42. data/lib/new_relic/metric_parser/controller.rb +13 -5
  43. data/lib/new_relic/metric_parser/mem_cache.rb +1 -1
  44. data/lib/new_relic/metric_parser/other_transaction.rb +21 -0
  45. data/lib/new_relic/metric_spec.rb +3 -3
  46. data/lib/new_relic/noticed_error.rb +1 -1
  47. data/lib/new_relic/rack/developer_mode.rb +257 -0
  48. data/lib/new_relic/rack/metric_app.rb +56 -50
  49. data/lib/new_relic/rack/mongrel_rpm.ru +7 -6
  50. data/lib/new_relic/rack/newrelic.yml +4 -3
  51. data/lib/new_relic/rack_app.rb +2 -1
  52. data/lib/new_relic/recipes.rb +7 -7
  53. data/lib/new_relic/stats.rb +6 -14
  54. data/lib/new_relic/timer_lib.rb +27 -0
  55. data/lib/new_relic/transaction_analysis.rb +2 -7
  56. data/lib/new_relic/transaction_sample.rb +17 -85
  57. data/lib/new_relic/url_rule.rb +14 -0
  58. data/lib/new_relic/version.rb +3 -3
  59. data/lib/newrelic_rpm.rb +5 -9
  60. data/newrelic.yml +26 -9
  61. data/newrelic_rpm.gemspec +67 -32
  62. data/test/config/newrelic.yml +5 -0
  63. data/test/config/test_control.rb +6 -8
  64. data/test/new_relic/agent/active_record_instrumentation_test.rb +5 -6
  65. data/test/new_relic/agent/agent_controller_test.rb +18 -4
  66. data/test/new_relic/agent/agent_test_controller.rb +1 -6
  67. data/test/new_relic/agent/busy_calculator_test.rb +2 -0
  68. data/test/new_relic/agent/collection_helper_test.rb +6 -6
  69. data/test/new_relic/agent/error_collector_test.rb +13 -21
  70. data/test/new_relic/agent/metric_data_test.rb +3 -6
  71. data/test/new_relic/agent/rpm_agent_test.rb +121 -117
  72. data/test/new_relic/agent/task_instrumentation_test.rb +128 -133
  73. data/test/new_relic/agent/transaction_sample_test.rb +176 -170
  74. data/test/new_relic/agent/worker_loop_test.rb +24 -18
  75. data/test/new_relic/control_test.rb +13 -3
  76. data/test/new_relic/deployments_api_test.rb +7 -7
  77. data/test/new_relic/environment_test.rb +1 -1
  78. data/test/new_relic/metric_parser_test.rb +58 -4
  79. data/test/new_relic/rack/episodes_test.rb +317 -0
  80. data/test/new_relic/stats_test.rb +3 -2
  81. data/test/test_contexts.rb +28 -0
  82. data/test/test_helper.rb +24 -5
  83. data/ui/helpers/{newrelic_helper.rb → developer_mode_helper.rb} +63 -23
  84. data/ui/views/layouts/newrelic_default.rhtml +6 -6
  85. data/ui/views/newrelic/_explain_plans.rhtml +4 -4
  86. data/ui/views/newrelic/_sample.rhtml +18 -17
  87. data/ui/views/newrelic/_segment.rhtml +1 -0
  88. data/ui/views/newrelic/_segment_row.rhtml +8 -8
  89. data/ui/views/newrelic/_show_sample_detail.rhtml +1 -1
  90. data/ui/views/newrelic/_show_sample_sql.rhtml +2 -2
  91. data/ui/views/newrelic/_sql_row.rhtml +8 -3
  92. data/ui/views/newrelic/_stack_trace.rhtml +9 -24
  93. data/ui/views/newrelic/_table.rhtml +1 -1
  94. data/ui/views/newrelic/explain_sql.rhtml +3 -2
  95. data/ui/views/newrelic/{images → file/images}/arrow-close.png +0 -0
  96. data/ui/views/newrelic/{images → file/images}/arrow-open.png +0 -0
  97. data/ui/views/newrelic/{images → file/images}/blue_bar.gif +0 -0
  98. data/ui/views/newrelic/{images → file/images}/file_icon.png +0 -0
  99. data/ui/views/newrelic/{images → file/images}/gray_bar.gif +0 -0
  100. data/ui/views/newrelic/{images → file/images}/new-relic-rpm-desktop.gif +0 -0
  101. data/ui/views/newrelic/{images → file/images}/new_relic_rpm_desktop.gif +0 -0
  102. data/ui/views/newrelic/{images → file/images}/textmate.png +0 -0
  103. data/ui/views/newrelic/file/javascript/jquery-1.4.2.js +6240 -0
  104. data/ui/views/newrelic/file/javascript/transaction_sample.js +120 -0
  105. data/ui/views/newrelic/{stylesheets → file/stylesheets}/style.css +0 -0
  106. data/ui/views/newrelic/index.rhtml +7 -5
  107. data/ui/views/newrelic/sample_not_found.rhtml +1 -1
  108. data/ui/views/newrelic/show_sample.rhtml +5 -6
  109. metadata +92 -34
  110. data/README.md +0 -138
  111. data/lib/new_relic/commands/new_relic_commands.rb +0 -30
  112. data/lib/new_relic/control/rails.rb +0 -151
  113. data/test/new_relic/agent/mock_ar_connection.rb +0 -40
  114. data/test/ui/newrelic_controller_test.rb +0 -14
  115. data/test/ui/newrelic_helper_test.rb +0 -53
  116. data/ui/controllers/newrelic_controller.rb +0 -220
  117. data/ui/views/newrelic/javascript/prototype-scriptaculous.js +0 -7288
  118. data/ui/views/newrelic/javascript/transaction_sample.js +0 -107
@@ -0,0 +1,120 @@
1
+ function show_request_params()
2
+ {
3
+ $('#params_link').hide();
4
+ $('#request_params').show();
5
+ }
6
+
7
+ function show_view(page_id){
8
+ $('#show_sample_summary, #show_sample_sql, #show_sample_detail').hide();
9
+ $('#' + page_id).show();
10
+ }
11
+
12
+ function toggle_row_class(theLink)
13
+ {
14
+ var image = $('img', theLink).first();
15
+ var visible = toggle_row_class_for_image(image);
16
+ image.attr('src', (visible ? EXPANDED_IMAGE : COLLAPSED_IMAGE));
17
+ }
18
+
19
+ function toggle_row_class_for_image(image)
20
+ {
21
+ var clazz = image.attr('class_for_children');
22
+ var elements = $('#trace_detail_table').find('tr.' + clazz);
23
+ if (elements.size() == 0) return;
24
+ var visible = !elements.first().is(':visible');
25
+ show_or_hide_elements(elements, visible);
26
+ return visible;
27
+ }
28
+
29
+ function stack_trace_ids(unique_id) {
30
+ return {'show': 'show_rails_link' + unique_id, 'hide': 'hide_rails_link' + unique_id,
31
+ 'app': 'application_stack_trace' + unique_id, 'full': 'full_stack_trace' + unique_id};
32
+ }
33
+
34
+ function show_rails(unique_id) {
35
+ traces = stack_trace_ids(unique_id);
36
+ $('#' + traces.full).show();
37
+ $('#' + traces.app).hide();
38
+ $('#' + traces.show).hide();
39
+ $('#' + traces.hide).show();
40
+ }
41
+
42
+ function hide_rails(unique_id) {
43
+ traces = stack_trace_ids(unique_id);
44
+ $('#' + traces.full).hide();
45
+ $('#' + traces.app).show();
46
+ $('#' + traces.show).show();
47
+ $('#' + traces.hide).hide();
48
+ }
49
+
50
+ function show_or_hide_class_elements(clazz, visible)
51
+ {
52
+ var elements = $('#trace_detail_table').find('tr.' + clazz);
53
+ show_or_hide_elements(elements, visible);
54
+ }
55
+
56
+ function show_or_hide_elements(elements, visible)
57
+ {
58
+ if(visible) {
59
+ elements.show();
60
+ } else {
61
+ elements.hide();
62
+ }
63
+ }
64
+
65
+ function mouse_over_row(element)
66
+ {
67
+ clazz = $(element).attr('child_row_class')
68
+ $(element).css('cssText', 'background-color: lightyellow');
69
+ }
70
+
71
+ var g_style_element;
72
+ function get_cleared_highlight_styles()
73
+ {
74
+ if (!g_style_element)
75
+ {
76
+ $('head', document).first().append('<style id="highlight_styles" />');
77
+ g_style_element = $('#highlight_styles');
78
+ }
79
+ else {
80
+ g_style_element.empty();
81
+ }
82
+ return g_style_element;
83
+ }
84
+
85
+ function mouse_out_row(element)
86
+ {
87
+ $(element).css('cssText', '')
88
+ }
89
+
90
+ function get_parent_segments()
91
+ {
92
+ return $('#trace_detail_table').find('img.parent_segment_image');
93
+ }
94
+
95
+ function expand_or_contract_segments(expand_or_contract) {
96
+ var parent_segments = get_parent_segments();
97
+ parent_segments.attr('src', (expand_or_contract ? EXPANDED_IMAGE : COLLAPSED_IMAGE))
98
+ parent_segments.each(function (index, element) {
99
+ show_or_hide_class_elements($(element).attr('class_for_children'), expand_or_contract);
100
+ });
101
+ }
102
+
103
+ function expand_all_segments()
104
+ {
105
+ expand_or_contract_segments(true);
106
+ }
107
+
108
+ function collapse_all_segments()
109
+ {
110
+ expand_or_contract_segments(false);
111
+ }
112
+
113
+ function jump_to_metric(metric_name)
114
+ {
115
+ highlight($('tr.' + metric_name, '#trace_detail_table'))
116
+ expand_all_segments();
117
+ }
118
+ function highlight(elements) {
119
+ elements.css('background-color', 'lightyellow');
120
+ }
@@ -15,18 +15,20 @@
15
15
  </td>
16
16
  <td/>
17
17
  </tr>
18
- </thead><%= render :partial => 'sample', :collection => @samples %>
18
+ </thead><% @samples.each do |sample| %>
19
+ <%= render :partial => :sample, :object => sample %>
20
+ <% end %>
19
21
  </table>
20
22
  </td>
21
23
  <td valign=top>
22
- <%= link_to_if @samples.size > 0, "Clear Transactions (#{@samples.size})", :action => 'reset' %><br/>
23
- <%= link_to "List Threads", :action => 'threads' %><br/>
24
+ <%= link_to_if @samples.size > 0, "Clear Transactions (#{@samples.size})", 'reset' %><br/>
25
+ <%= link_to "List Threads", 'threads' %><br/>
24
26
  <% if NewRelic::Control.instance.profiling_available? %>
25
27
  <p><b>Profiling available:</b>
26
28
  <% if NewRelic::Control.instance.profiling? %>
27
- <%= link_to "Stop Profiling", :action => 'profile', :stop => true %>
29
+ <%= link_to "Stop Profiling", 'profile?stop=true'%>
28
30
  <% else %>
29
- <%= link_to "Start Profiling", :action => 'profile', :start => true %>
31
+ <%= link_to "Start Profiling", 'profile?start=true' %>
30
32
  <% end %>
31
33
  </p>
32
34
  <% else %>
@@ -1,2 +1,2 @@
1
1
  <p>No sample found with this id. Did you restart your application? </p>
2
- <%= link_to "Back", :action => :index%>
2
+ <%= link_to "Back", ''%>
@@ -1,4 +1,4 @@
1
- <script type="text/javascript" src="<%= url_for(:controller => :newrelic, :action => :file, :file => 'transaction_sample.js') %>"></script>
1
+ <script type="text/javascript" src="/newrelic/file/javascript/transaction_sample.js"></script>
2
2
  <div id='summary_table'>
3
3
  <table class="light_background">
4
4
  <tr>
@@ -43,7 +43,7 @@
43
43
  <tr>
44
44
  <th valign="top">HTTP Params:</th>
45
45
  <td>
46
- <%= link_to_function("#{@request_params.length}...", "show_request_params()", :id => "params_link") %>
46
+ <a href="#" onClick="show_request_params()" id="params_link"><%= @request_params.length %>...</a>
47
47
 
48
48
  <div id='request_params' style="display: none;">
49
49
  <small>
@@ -72,9 +72,8 @@
72
72
  <br/>
73
73
  <%= %w[show_sample_summary show_sample_sql show_sample_detail].collect do |p|
74
74
  options = {:align => 'center', :id => p}
75
- options[:style] = 'display: none' unless p == params[:action]
75
+ options[:style] = 'display: none' unless p == params['action']
76
76
  content_tag('div', render(:partial => p), options)
77
- end.join(' ')%>
78
- <% end -%>
79
-
77
+ end.join(' ') %>
78
+ <% end %>
80
79
  </div>
metadata CHANGED
@@ -1,20 +1,22 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newrelic_rpm
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ prerelease: true
5
5
  segments:
6
6
  - 2
7
- - 12
8
- - 3
9
- version: 2.12.3
7
+ - 13
8
+ - 0
9
+ - beta3
10
+ version: 2.13.0.beta3
10
11
  platform: ruby
11
12
  authors:
12
13
  - Bill Kayser
14
+ - Justin George
13
15
  autorequire:
14
16
  bindir: bin
15
17
  cert_chain: []
16
18
 
17
- date: 2010-06-10 00:00:00 -07:00
19
+ date: 2010-07-07 00:00:00 -07:00
18
20
  default_executable:
19
21
  dependencies:
20
22
  - !ruby/object:Gem::Dependency
@@ -29,6 +31,30 @@ dependencies:
29
31
  version: "0"
30
32
  type: :development
31
33
  version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: mocha
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 0
43
+ version: "0"
44
+ type: :development
45
+ version_requirements: *id002
46
+ - !ruby/object:Gem::Dependency
47
+ name: shoulda
48
+ prerelease: false
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ segments:
54
+ - 0
55
+ version: "0"
56
+ type: :development
57
+ version_requirements: *id003
32
58
  description: |
33
59
  New Relic RPM is a Ruby performance management system, developed by
34
60
  New Relic, Inc (http://www.newrelic.com). RPM provides you with deep
@@ -40,17 +66,21 @@ description: |
40
66
  email: support@newrelic.com
41
67
  executables:
42
68
  - mongrel_rpm
69
+ - newrelic
43
70
  - newrelic_cmd
44
71
  extensions: []
45
72
 
46
73
  extra_rdoc_files:
47
74
  - CHANGELOG
48
75
  - LICENSE
76
+ - README.rdoc
77
+ - newrelic.yml
49
78
  files:
50
79
  - CHANGELOG
51
80
  - LICENSE
52
- - README.md
81
+ - README.rdoc
53
82
  - bin/mongrel_rpm
83
+ - bin/newrelic
54
84
  - bin/newrelic_cmd
55
85
  - cert/cacert.pem
56
86
  - install.rb
@@ -95,15 +125,21 @@ files:
95
125
  - lib/new_relic/agent/transaction_sampler.rb
96
126
  - lib/new_relic/agent/worker_loop.rb
97
127
  - lib/new_relic/collection_helper.rb
128
+ - lib/new_relic/command.rb
98
129
  - lib/new_relic/commands/deployments.rb
99
- - lib/new_relic/commands/new_relic_commands.rb
130
+ - lib/new_relic/commands/install.rb
100
131
  - lib/new_relic/control.rb
101
- - lib/new_relic/control/external.rb
102
- - lib/new_relic/control/merb.rb
103
- - lib/new_relic/control/rails.rb
104
- - lib/new_relic/control/rails3.rb
105
- - lib/new_relic/control/ruby.rb
106
- - lib/new_relic/control/sinatra.rb
132
+ - lib/new_relic/control/configuration.rb
133
+ - lib/new_relic/control/frameworks/external.rb
134
+ - lib/new_relic/control/frameworks/merb.rb
135
+ - lib/new_relic/control/frameworks/rails.rb
136
+ - lib/new_relic/control/frameworks/rails3.rb
137
+ - lib/new_relic/control/frameworks/ruby.rb
138
+ - lib/new_relic/control/frameworks/sinatra.rb
139
+ - lib/new_relic/control/instrumentation.rb
140
+ - lib/new_relic/control/logging_methods.rb
141
+ - lib/new_relic/control/profiling.rb
142
+ - lib/new_relic/control/server_methods.rb
107
143
  - lib/new_relic/delayed_job_injection.rb
108
144
  - lib/new_relic/histogram.rb
109
145
  - lib/new_relic/local_environment.rb
@@ -113,6 +149,7 @@ files:
113
149
  - lib/new_relic/metric_parser/action_mailer.rb
114
150
  - lib/new_relic/metric_parser/active_merchant.rb
115
151
  - lib/new_relic/metric_parser/active_record.rb
152
+ - lib/new_relic/metric_parser/apdex.rb
116
153
  - lib/new_relic/metric_parser/controller.rb
117
154
  - lib/new_relic/metric_parser/controller_cpu.rb
118
155
  - lib/new_relic/metric_parser/errors.rb
@@ -125,14 +162,17 @@ files:
125
162
  - lib/new_relic/metric_spec.rb
126
163
  - lib/new_relic/metrics.rb
127
164
  - lib/new_relic/noticed_error.rb
165
+ - lib/new_relic/rack/developer_mode.rb
128
166
  - lib/new_relic/rack/metric_app.rb
129
167
  - lib/new_relic/rack/mongrel_rpm.ru
130
168
  - lib/new_relic/rack/newrelic.yml
131
169
  - lib/new_relic/rack_app.rb
132
170
  - lib/new_relic/recipes.rb
133
171
  - lib/new_relic/stats.rb
172
+ - lib/new_relic/timer_lib.rb
134
173
  - lib/new_relic/transaction_analysis.rb
135
174
  - lib/new_relic/transaction_sample.rb
175
+ - lib/new_relic/url_rule.rb
136
176
  - lib/new_relic/version.rb
137
177
  - lib/new_relic_api.rb
138
178
  - lib/newrelic_rpm.rb
@@ -155,7 +195,6 @@ files:
155
195
  - test/new_relic/agent/method_tracer_test.rb
156
196
  - test/new_relic/agent/metric_data_test.rb
157
197
  - test/new_relic/agent/metric_frame_test.rb
158
- - test/new_relic/agent/mock_ar_connection.rb
159
198
  - test/new_relic/agent/mock_scope_listener.rb
160
199
  - test/new_relic/agent/net_instrumentation_test.rb
161
200
  - test/new_relic/agent/rpm_agent_test.rb
@@ -173,15 +212,14 @@ files:
173
212
  - test/new_relic/environment_test.rb
174
213
  - test/new_relic/metric_parser_test.rb
175
214
  - test/new_relic/metric_spec_test.rb
215
+ - test/new_relic/rack/episodes_test.rb
176
216
  - test/new_relic/shim_agent_test.rb
177
217
  - test/new_relic/stats_test.rb
178
218
  - test/new_relic/version_number_test.rb
219
+ - test/test_contexts.rb
179
220
  - test/test_helper.rb
180
- - test/ui/newrelic_controller_test.rb
181
- - test/ui/newrelic_helper_test.rb
182
- - ui/controllers/newrelic_controller.rb
221
+ - ui/helpers/developer_mode_helper.rb
183
222
  - ui/helpers/google_pie_chart.rb
184
- - ui/helpers/newrelic_helper.rb
185
223
  - ui/views/layouts/newrelic_default.rhtml
186
224
  - ui/views/newrelic/_explain_plans.rhtml
187
225
  - ui/views/newrelic/_sample.rhtml
@@ -195,21 +233,21 @@ files:
195
233
  - ui/views/newrelic/_stack_trace.rhtml
196
234
  - ui/views/newrelic/_table.rhtml
197
235
  - ui/views/newrelic/explain_sql.rhtml
198
- - ui/views/newrelic/images/arrow-close.png
199
- - ui/views/newrelic/images/arrow-open.png
200
- - ui/views/newrelic/images/blue_bar.gif
201
- - ui/views/newrelic/images/file_icon.png
202
- - ui/views/newrelic/images/gray_bar.gif
203
- - ui/views/newrelic/images/new-relic-rpm-desktop.gif
204
- - ui/views/newrelic/images/new_relic_rpm_desktop.gif
205
- - ui/views/newrelic/images/textmate.png
236
+ - ui/views/newrelic/file/images/arrow-close.png
237
+ - ui/views/newrelic/file/images/arrow-open.png
238
+ - ui/views/newrelic/file/images/blue_bar.gif
239
+ - ui/views/newrelic/file/images/file_icon.png
240
+ - ui/views/newrelic/file/images/gray_bar.gif
241
+ - ui/views/newrelic/file/images/new-relic-rpm-desktop.gif
242
+ - ui/views/newrelic/file/images/new_relic_rpm_desktop.gif
243
+ - ui/views/newrelic/file/images/textmate.png
244
+ - ui/views/newrelic/file/javascript/jquery-1.4.2.js
245
+ - ui/views/newrelic/file/javascript/transaction_sample.js
246
+ - ui/views/newrelic/file/stylesheets/style.css
206
247
  - ui/views/newrelic/index.rhtml
207
- - ui/views/newrelic/javascript/prototype-scriptaculous.js
208
- - ui/views/newrelic/javascript/transaction_sample.js
209
248
  - ui/views/newrelic/sample_not_found.rhtml
210
249
  - ui/views/newrelic/show_sample.rhtml
211
250
  - ui/views/newrelic/show_source.rhtml
212
- - ui/views/newrelic/stylesheets/style.css
213
251
  - ui/views/newrelic/threads.rhtml
214
252
  has_rdoc: true
215
253
  homepage: http://www.github.com/newrelic/rpm
@@ -217,18 +255,36 @@ licenses: []
217
255
 
218
256
  post_install_message: |+
219
257
 
258
+ PLEASE NOTE:
259
+
260
+ Developer Mode is now a Rack middleware.
261
+
262
+ RPM Developer Mode is no longer available in Rails 2.1 and earlier.
263
+ However, starting in version 2.12 you can use Developer Mode in any
264
+ Rack based framework, in addition to Rails. To install developer mode
265
+ in a non-Rails application, just add NewRelic::Rack::DeveloperMode to
266
+ your middleware stack.
267
+
268
+ If you are using JRuby, we recommend using at least version 1.4 or
269
+ later because of issues with the implementation of the timeout library.
270
+
271
+ Refer to the README.md file for more information.
272
+
220
273
  Please see http://support.newrelic.com/faqs/docs/ruby-agent-release-notes
221
274
  for a complete description of the features and enhancements available
222
- in version 2.12 of the Ruby Agent.
275
+ in version 2.13 of the Ruby Agent.
223
276
 
224
277
  For details on this specific release, refer to the CHANGELOG file.
225
278
 
279
+ Notice: Developer Mode now supports only Rails 2.3+ - refer to README
280
+ for instructions for previous versions
281
+
226
282
  rdoc_options:
227
283
  - --charset=UTF-8
228
284
  - --line-numbers
229
285
  - --inline-source
230
286
  - --title
231
- - New Relic RPM
287
+ - New Relic Ruby Performance Monitoring Agent
232
288
  require_paths:
233
289
  - lib
234
290
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -240,11 +296,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
240
296
  version: "0"
241
297
  required_rubygems_version: !ruby/object:Gem::Requirement
242
298
  requirements:
243
- - - ">="
299
+ - - ">"
244
300
  - !ruby/object:Gem::Version
245
301
  segments:
246
- - 0
247
- version: "0"
302
+ - 1
303
+ - 3
304
+ - 1
305
+ version: 1.3.1
248
306
  requirements: []
249
307
 
250
308
  rubyforge_project:
data/README.md DELETED
@@ -1,138 +0,0 @@
1
- New Relic RPM
2
- =============
3
-
4
- New Relic RPM is a Ruby performance management system, developed by
5
- [New Relic, Inc](http://www.newrelic.com). RPM provides you with deep
6
- information about the performance of your Ruby on Rails or Merb
7
- application as it runs in production. The New Relic Agent is
8
- dual-purposed as a either a Rails plugin or a Gem, hosted on
9
- [github](http://github.com/newrelic/rpm/tree/master) and Rubyforge.
10
-
11
- The New Relic Agent runs in one of two modes:
12
-
13
- **Developer Mode** : Adds a web interface mapped to /newrelic to your
14
- application for showing detailed performance metrics on a page by
15
- page basis.
16
-
17
- **Production Mode** : Low overhead instrumentation that captures
18
- detailed information on your application running in production and
19
- transmits them to rpm.newrelic.com where you can monitor them in
20
- real time.
21
-
22
- ### Supported Environments
23
-
24
- * Ruby 1.8.6, 1.8.7 or 1.9.1
25
- * JRuby
26
- * Rails 1.2.6 or above
27
- * Merb 1.0 or above
28
-
29
- Developer Mode
30
- --------------
31
-
32
- Developer mode is on by default when you run your application in the
33
- development environment (but not when it runs in other environments.)
34
- When running in developer mode, RPM will track the performance of
35
- every http request serviced by your application, and store in memory
36
- this information for the last 100 http transactions.
37
-
38
- When running in Developer Mode, the RPM will also add a few pages to
39
- your application that allow you to analyze this performance
40
- information. (Don't worry--those pages are not added to your
41
- application's routes when you run in production mode.)
42
-
43
- To view this performance information, including detailed SQL statement
44
- analysis, open `/newrelic` in your web application. For instance if
45
- you are running mongrel or thin on port 3000, enter the following into
46
- your browser:
47
-
48
- http://localhost:3000/newrelic
49
-
50
- Production Mode
51
- ---------------
52
-
53
- When your application runs in the production environment, the New
54
- Relic agent runs in production mode. It connects to the New Relic RPM
55
- service and sends deep performance data to the RPM service for your
56
- analysis. To view this data, login to
57
- [http://rpm.newrelic.com](http://rpm.newrelic.com).
58
-
59
- NOTE: You must have a valid account and license key to view this data
60
- online. Refer to instructions in *Getting Started*, below.
61
-
62
- Getting Started
63
- ===============
64
-
65
- RPM requires an agent be installed in the application as either a
66
- Rails plug-in or a gem. Both are available on RubyForge--instructions
67
- below.
68
-
69
- To use Developer Mode, simply install the gem or plugin into your
70
- application and follow the instructions below.
71
-
72
- To monitor your applications in production, create an account at
73
- [www.newrelic.com](http://newrelic.com/get-RPM.html). There you can
74
- sign up for a free Lite account or one of our paid subscriptions.
75
-
76
- Once you receive the welcome e-mail with a license key and
77
- `newrelic.yml` file, copy the `newrelic.yml` file into your app config
78
- directory.
79
-
80
- ### Rails Plug-In Installation
81
-
82
- script/plugin install http://newrelic.rubyforge.org/svn/newrelic_rpm
83
-
84
- ### Gem Installation
85
-
86
- sudo gem install newrelic_rpm
87
-
88
- For Rails, edit `environment.rb` and add to the initalizer block:
89
-
90
- config.gem "newrelic_rpm"
91
-
92
- The Developer Mode is unavailable when using the gem on Rails versions
93
- prior to 2.0.
94
-
95
- ### Merb Support
96
-
97
- To monitor a merb app install the newrelic_rpm gem and add
98
-
99
- dependency 'newrelic_rpm'
100
-
101
- to your init.rb file.
102
-
103
- Current features implemented:
104
-
105
- * Standard monitoring, overview pages
106
- * Error capturing
107
- * Full Active Record instrumentation, including SQL explains
108
- * Very limited Data Mapper instrumentation
109
- * Transaction Traces are implemented but will not be very useful
110
- with Data Mapper until more work is done with the Data Mapper
111
- instrumentation
112
-
113
- Still under development:
114
-
115
- * Developer Mode
116
- * Data Mapper bindings
117
-
118
- ### Github
119
-
120
- The agent is also available on Github under newrelic/rpm. Fork away!
121
-
122
- ### Support
123
-
124
- Reach out to us--and to fellow RPM users--at
125
- [support.newrelic.com](http://support.newrelic.com/discussions/support).
126
- There you'll find documentation, FAQs, and forums where you can submit
127
- suggestions and discuss RPM with New Relic staff and other users.
128
-
129
- Find a bug? E-mail support@newrelic.com, or post it to
130
- [support.newrelic.com](http://support.newrelic.com/discussions/support).
131
-
132
- Refer to [our website](http://www.newrelic.com/support) for other
133
- support channels.
134
-
135
- Thank you, and may your application scale to infinity plus one.
136
-
137
- Lew Cirne, Founder and CEO<br/>
138
- New Relic, Inc.