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.
- data/CHANGELOG +24 -2
- data/README.rdoc +172 -0
- data/bin/newrelic +13 -0
- data/bin/newrelic_cmd +2 -1
- data/install.rb +8 -45
- data/lib/new_relic/agent.rb +43 -30
- data/lib/new_relic/agent/agent.rb +699 -631
- data/lib/new_relic/agent/busy_calculator.rb +81 -81
- data/lib/new_relic/agent/error_collector.rb +9 -6
- data/lib/new_relic/agent/instrumentation/active_record_instrumentation.rb +2 -2
- data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +10 -5
- data/lib/new_relic/agent/instrumentation/data_mapper.rb +13 -45
- data/lib/new_relic/agent/instrumentation/memcache.rb +15 -4
- data/lib/new_relic/agent/instrumentation/metric_frame.rb +37 -29
- data/lib/new_relic/agent/instrumentation/rack.rb +20 -34
- data/lib/new_relic/agent/method_tracer.rb +9 -9
- data/lib/new_relic/agent/samplers/delayed_job_lock_sampler.rb +31 -31
- data/lib/new_relic/agent/stats_engine/metric_stats.rb +5 -5
- data/lib/new_relic/agent/stats_engine/samplers.rb +3 -0
- data/lib/new_relic/agent/transaction_sampler.rb +31 -15
- data/lib/new_relic/agent/worker_loop.rb +29 -28
- data/lib/new_relic/collection_helper.rb +4 -2
- data/lib/new_relic/command.rb +85 -0
- data/lib/new_relic/commands/deployments.rb +74 -114
- data/lib/new_relic/commands/install.rb +81 -0
- data/lib/new_relic/control.rb +54 -379
- data/lib/new_relic/control/configuration.rb +149 -0
- data/lib/new_relic/control/{external.rb → frameworks/external.rb} +2 -2
- data/lib/new_relic/control/{merb.rb → frameworks/merb.rb} +1 -1
- data/lib/new_relic/control/frameworks/rails.rb +126 -0
- data/lib/new_relic/control/{rails3.rb → frameworks/rails3.rb} +11 -10
- data/lib/new_relic/control/{ruby.rb → frameworks/ruby.rb} +1 -1
- data/lib/new_relic/control/{sinatra.rb → frameworks/sinatra.rb} +2 -2
- data/lib/new_relic/control/instrumentation.rb +84 -0
- data/lib/new_relic/control/logging_methods.rb +74 -0
- data/lib/new_relic/control/profiling.rb +24 -0
- data/lib/new_relic/control/server_methods.rb +88 -0
- data/lib/new_relic/local_environment.rb +3 -3
- data/lib/new_relic/metric_parser.rb +13 -2
- data/lib/new_relic/metric_parser/active_record.rb +4 -1
- data/lib/new_relic/metric_parser/apdex.rb +53 -0
- data/lib/new_relic/metric_parser/controller.rb +13 -5
- data/lib/new_relic/metric_parser/mem_cache.rb +1 -1
- data/lib/new_relic/metric_parser/other_transaction.rb +21 -0
- data/lib/new_relic/metric_spec.rb +3 -3
- data/lib/new_relic/noticed_error.rb +1 -1
- data/lib/new_relic/rack/developer_mode.rb +257 -0
- data/lib/new_relic/rack/metric_app.rb +56 -50
- data/lib/new_relic/rack/mongrel_rpm.ru +7 -6
- data/lib/new_relic/rack/newrelic.yml +4 -3
- data/lib/new_relic/rack_app.rb +2 -1
- data/lib/new_relic/recipes.rb +7 -7
- data/lib/new_relic/stats.rb +6 -14
- data/lib/new_relic/timer_lib.rb +27 -0
- data/lib/new_relic/transaction_analysis.rb +2 -7
- data/lib/new_relic/transaction_sample.rb +17 -85
- data/lib/new_relic/url_rule.rb +14 -0
- data/lib/new_relic/version.rb +3 -3
- data/lib/newrelic_rpm.rb +5 -9
- data/newrelic.yml +26 -9
- data/newrelic_rpm.gemspec +67 -32
- data/test/config/newrelic.yml +5 -0
- data/test/config/test_control.rb +6 -8
- data/test/new_relic/agent/active_record_instrumentation_test.rb +5 -6
- data/test/new_relic/agent/agent_controller_test.rb +18 -4
- data/test/new_relic/agent/agent_test_controller.rb +1 -6
- data/test/new_relic/agent/busy_calculator_test.rb +2 -0
- data/test/new_relic/agent/collection_helper_test.rb +6 -6
- data/test/new_relic/agent/error_collector_test.rb +13 -21
- data/test/new_relic/agent/metric_data_test.rb +3 -6
- data/test/new_relic/agent/rpm_agent_test.rb +121 -117
- data/test/new_relic/agent/task_instrumentation_test.rb +128 -133
- data/test/new_relic/agent/transaction_sample_test.rb +176 -170
- data/test/new_relic/agent/worker_loop_test.rb +24 -18
- data/test/new_relic/control_test.rb +13 -3
- data/test/new_relic/deployments_api_test.rb +7 -7
- data/test/new_relic/environment_test.rb +1 -1
- data/test/new_relic/metric_parser_test.rb +58 -4
- data/test/new_relic/rack/episodes_test.rb +317 -0
- data/test/new_relic/stats_test.rb +3 -2
- data/test/test_contexts.rb +28 -0
- data/test/test_helper.rb +24 -5
- data/ui/helpers/{newrelic_helper.rb → developer_mode_helper.rb} +63 -23
- data/ui/views/layouts/newrelic_default.rhtml +6 -6
- data/ui/views/newrelic/_explain_plans.rhtml +4 -4
- data/ui/views/newrelic/_sample.rhtml +18 -17
- data/ui/views/newrelic/_segment.rhtml +1 -0
- data/ui/views/newrelic/_segment_row.rhtml +8 -8
- data/ui/views/newrelic/_show_sample_detail.rhtml +1 -1
- data/ui/views/newrelic/_show_sample_sql.rhtml +2 -2
- data/ui/views/newrelic/_sql_row.rhtml +8 -3
- data/ui/views/newrelic/_stack_trace.rhtml +9 -24
- data/ui/views/newrelic/_table.rhtml +1 -1
- data/ui/views/newrelic/explain_sql.rhtml +3 -2
- data/ui/views/newrelic/{images → file/images}/arrow-close.png +0 -0
- data/ui/views/newrelic/{images → file/images}/arrow-open.png +0 -0
- data/ui/views/newrelic/{images → file/images}/blue_bar.gif +0 -0
- data/ui/views/newrelic/{images → file/images}/file_icon.png +0 -0
- data/ui/views/newrelic/{images → file/images}/gray_bar.gif +0 -0
- data/ui/views/newrelic/{images → file/images}/new-relic-rpm-desktop.gif +0 -0
- data/ui/views/newrelic/{images → file/images}/new_relic_rpm_desktop.gif +0 -0
- data/ui/views/newrelic/{images → file/images}/textmate.png +0 -0
- data/ui/views/newrelic/file/javascript/jquery-1.4.2.js +6240 -0
- data/ui/views/newrelic/file/javascript/transaction_sample.js +120 -0
- data/ui/views/newrelic/{stylesheets → file/stylesheets}/style.css +0 -0
- data/ui/views/newrelic/index.rhtml +7 -5
- data/ui/views/newrelic/sample_not_found.rhtml +1 -1
- data/ui/views/newrelic/show_sample.rhtml +5 -6
- metadata +92 -34
- data/README.md +0 -138
- data/lib/new_relic/commands/new_relic_commands.rb +0 -30
- data/lib/new_relic/control/rails.rb +0 -151
- data/test/new_relic/agent/mock_ar_connection.rb +0 -40
- data/test/ui/newrelic_controller_test.rb +0 -14
- data/test/ui/newrelic_helper_test.rb +0 -53
- data/ui/controllers/newrelic_controller.rb +0 -220
- data/ui/views/newrelic/javascript/prototype-scriptaculous.js +0 -7288
- 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
|
+
}
|
File without changes
|
@@ -15,18 +15,20 @@
|
|
15
15
|
</td>
|
16
16
|
<td/>
|
17
17
|
</tr>
|
18
|
-
|
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})",
|
23
|
-
<%= link_to "List Threads",
|
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",
|
29
|
+
<%= link_to "Stop Profiling", 'profile?stop=true'%>
|
28
30
|
<% else %>
|
29
|
-
<%= link_to "Start Profiling",
|
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",
|
2
|
+
<%= link_to "Back", ''%>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<script type="text/javascript" src="
|
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
|
-
|
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[
|
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:
|
4
|
+
prerelease: true
|
5
5
|
segments:
|
6
6
|
- 2
|
7
|
-
-
|
8
|
-
-
|
9
|
-
|
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-
|
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.
|
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/
|
130
|
+
- lib/new_relic/commands/install.rb
|
100
131
|
- lib/new_relic/control.rb
|
101
|
-
- lib/new_relic/control/
|
102
|
-
- lib/new_relic/control/
|
103
|
-
- lib/new_relic/control/
|
104
|
-
- lib/new_relic/control/
|
105
|
-
- lib/new_relic/control/
|
106
|
-
- lib/new_relic/control/
|
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
|
-
-
|
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.
|
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
|
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
|
-
-
|
247
|
-
|
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.
|