newrelic_rpm 2.10.3 → 2.10.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of newrelic_rpm might be problematic. Click here for more details.
- data/CHANGELOG +4 -0
- data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +1 -1
- data/lib/new_relic/agent/instrumentation/metric_frame.rb +9 -11
- data/lib/new_relic/recipes.rb +1 -1
- data/lib/new_relic/version.rb +1 -1
- data/newrelic_rpm.gemspec +210 -0
- data/test/new_relic/agent/metric_frame_test.rb +3 -3
- metadata +3 -2
data/CHANGELOG
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
v2.10.4
|
2
|
+
* Fix incompatibility with Capistrano 2.5.16
|
3
|
+
* Strip down URLs reported in transactions and errors to path only.
|
4
|
+
|
1
5
|
v2.10.3
|
2
6
|
* optimization to reduce overhead: move background samplers into foreground thread
|
3
7
|
* change default config file to ignore RoutingErrors
|
@@ -318,8 +318,8 @@ module NewRelic
|
|
318
318
|
category = 'Controller'
|
319
319
|
path = newrelic_metric_path
|
320
320
|
available_params = self.respond_to?(:params) ? self.params : {}
|
321
|
-
frame_data.request = self.request if self.respond_to? :request
|
322
321
|
end
|
322
|
+
frame_data.request ||= self.request if self.respond_to? :request
|
323
323
|
frame_data.push(category, path)
|
324
324
|
frame_data.filtered_params = (respond_to? :filter_parameters) ? filter_parameters(available_params) : available_params
|
325
325
|
frame_data
|
@@ -9,7 +9,12 @@ module NewRelic::Agent::Instrumentation
|
|
9
9
|
attr_accessor :start, :apdex_start, :exception,
|
10
10
|
:filtered_params, :force_flag,
|
11
11
|
:jruby_cpu_start, :process_cpu_start, :database_metric_name
|
12
|
-
|
12
|
+
|
13
|
+
# Give the current metric frame a request context. Use this to
|
14
|
+
# get the URI and referer. The request is interpreted loosely
|
15
|
+
# as a Rack::Request or an ActionController::AbstractRequest.
|
16
|
+
attr_accessor :request
|
17
|
+
|
13
18
|
# Return the currently active metric frame, or nil. Call with +true+
|
14
19
|
# to create a new metric frame if one is not already on the thread.
|
15
20
|
def self.current(create_if_empty=nil)
|
@@ -55,24 +60,17 @@ module NewRelic::Agent::Instrumentation
|
|
55
60
|
def self.abort_transaction!
|
56
61
|
current.abort_transaction! if current
|
57
62
|
end
|
58
|
-
|
59
|
-
# Give the current metric frame a request context. Use this to
|
60
|
-
# get the URI and referer. The request is interpreted loosely
|
61
|
-
# as a Rack::Request or an ActionController::AbstractRequest.
|
62
|
-
def request=(request)
|
63
|
-
@request = request
|
64
|
-
end
|
65
63
|
|
66
64
|
# For the current web transaction, return the path of the URI minus the host part and query string, or nil.
|
67
65
|
def uri
|
68
66
|
return @uri if @uri || @request.nil?
|
69
67
|
approximate_uri = case
|
70
|
-
when @request.respond_to?(:url) then @request.url
|
71
|
-
when @request.respond_to?(:uri) then @request.uri
|
72
68
|
when @request.respond_to?(:fullpath) then @request.fullpath
|
73
69
|
when @request.respond_to?(:path) then @request.path
|
70
|
+
when @request.respond_to?(:uri) then @request.uri
|
71
|
+
when @request.respond_to?(:url) then @request.url
|
74
72
|
end
|
75
|
-
@uri = approximate_uri
|
73
|
+
@uri = approximate_uri[%r{^(https?://.*?)?(/[^?]*)}, 2] || '/' if approximate_uri
|
76
74
|
end
|
77
75
|
|
78
76
|
# For the current web transaction, return the full referer, minus the host string, or nil.
|
data/lib/new_relic/recipes.rb
CHANGED
@@ -70,7 +70,7 @@ make_notify_task = lambda do
|
|
70
70
|
end
|
71
71
|
end
|
72
72
|
require 'capistrano/version'
|
73
|
-
if Capistrano::Version::MAJOR < 2
|
73
|
+
if defined?(Capistrano::Version::MAJOR) && Capistrano::Version::MAJOR < 2
|
74
74
|
STDERR.puts "Unable to load #{__FILE__}\nNew Relic Capistrano hooks require at least version 2.0.0"
|
75
75
|
else
|
76
76
|
instance = Capistrano::Configuration.instance
|
data/lib/new_relic/version.rb
CHANGED
@@ -0,0 +1,210 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{newrelic_rpm}
|
8
|
+
s.version = "2.10.4"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Bill Kayser"]
|
12
|
+
s.date = %q{2010-02-16}
|
13
|
+
s.description = %q{New Relic RPM is a Ruby performance management system, developed by
|
14
|
+
New Relic, Inc (http://www.newrelic.com). RPM provides you with deep
|
15
|
+
information about the performance of your Ruby on Rails or Merb
|
16
|
+
application as it runs in production. The New Relic Agent is
|
17
|
+
dual-purposed as a either a Rails plugin or a Gem, hosted on
|
18
|
+
http://github.com/newrelic/rpm/tree/master.
|
19
|
+
}
|
20
|
+
s.email = %q{support@newrelic.com}
|
21
|
+
s.executables = ["mongrel_rpm", "newrelic_cmd"]
|
22
|
+
s.extra_rdoc_files = [
|
23
|
+
"CHANGELOG",
|
24
|
+
"LICENSE",
|
25
|
+
"README.md"
|
26
|
+
]
|
27
|
+
s.files = [
|
28
|
+
"CHANGELOG",
|
29
|
+
"LICENSE",
|
30
|
+
"README.md",
|
31
|
+
"bin/mongrel_rpm",
|
32
|
+
"bin/newrelic_cmd",
|
33
|
+
"cert/cacert.pem",
|
34
|
+
"install.rb",
|
35
|
+
"lib/new_relic/agent.rb",
|
36
|
+
"lib/new_relic/agent/agent.rb",
|
37
|
+
"lib/new_relic/agent/busy_calculator.rb",
|
38
|
+
"lib/new_relic/agent/chained_call.rb",
|
39
|
+
"lib/new_relic/agent/collection_helper.rb",
|
40
|
+
"lib/new_relic/agent/error_collector.rb",
|
41
|
+
"lib/new_relic/agent/instrumentation/active_merchant.rb",
|
42
|
+
"lib/new_relic/agent/instrumentation/active_record_instrumentation.rb",
|
43
|
+
"lib/new_relic/agent/instrumentation/authlogic.rb",
|
44
|
+
"lib/new_relic/agent/instrumentation/controller_instrumentation.rb",
|
45
|
+
"lib/new_relic/agent/instrumentation/data_mapper.rb",
|
46
|
+
"lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb",
|
47
|
+
"lib/new_relic/agent/instrumentation/memcache.rb",
|
48
|
+
"lib/new_relic/agent/instrumentation/merb/controller.rb",
|
49
|
+
"lib/new_relic/agent/instrumentation/merb/errors.rb",
|
50
|
+
"lib/new_relic/agent/instrumentation/metric_frame.rb",
|
51
|
+
"lib/new_relic/agent/instrumentation/net.rb",
|
52
|
+
"lib/new_relic/agent/instrumentation/passenger_instrumentation.rb",
|
53
|
+
"lib/new_relic/agent/instrumentation/rack.rb",
|
54
|
+
"lib/new_relic/agent/instrumentation/rails/action_controller.rb",
|
55
|
+
"lib/new_relic/agent/instrumentation/rails/action_web_service.rb",
|
56
|
+
"lib/new_relic/agent/instrumentation/rails/errors.rb",
|
57
|
+
"lib/new_relic/agent/instrumentation/sinatra.rb",
|
58
|
+
"lib/new_relic/agent/method_tracer.rb",
|
59
|
+
"lib/new_relic/agent/sampler.rb",
|
60
|
+
"lib/new_relic/agent/samplers/cpu_sampler.rb",
|
61
|
+
"lib/new_relic/agent/samplers/delayed_job_lock_sampler.rb",
|
62
|
+
"lib/new_relic/agent/samplers/memory_sampler.rb",
|
63
|
+
"lib/new_relic/agent/samplers/object_sampler.rb",
|
64
|
+
"lib/new_relic/agent/shim_agent.rb",
|
65
|
+
"lib/new_relic/agent/stats_engine.rb",
|
66
|
+
"lib/new_relic/agent/stats_engine/metric_stats.rb",
|
67
|
+
"lib/new_relic/agent/stats_engine/samplers.rb",
|
68
|
+
"lib/new_relic/agent/stats_engine/transactions.rb",
|
69
|
+
"lib/new_relic/agent/transaction_sampler.rb",
|
70
|
+
"lib/new_relic/agent/worker_loop.rb",
|
71
|
+
"lib/new_relic/commands/deployments.rb",
|
72
|
+
"lib/new_relic/commands/new_relic_commands.rb",
|
73
|
+
"lib/new_relic/control.rb",
|
74
|
+
"lib/new_relic/control/external.rb",
|
75
|
+
"lib/new_relic/control/merb.rb",
|
76
|
+
"lib/new_relic/control/rails.rb",
|
77
|
+
"lib/new_relic/control/ruby.rb",
|
78
|
+
"lib/new_relic/control/sinatra.rb",
|
79
|
+
"lib/new_relic/delayed_job_injection.rb",
|
80
|
+
"lib/new_relic/histogram.rb",
|
81
|
+
"lib/new_relic/local_environment.rb",
|
82
|
+
"lib/new_relic/merbtasks.rb",
|
83
|
+
"lib/new_relic/metric_data.rb",
|
84
|
+
"lib/new_relic/metric_parser.rb",
|
85
|
+
"lib/new_relic/metric_parser/action_mailer.rb",
|
86
|
+
"lib/new_relic/metric_parser/active_merchant.rb",
|
87
|
+
"lib/new_relic/metric_parser/active_record.rb",
|
88
|
+
"lib/new_relic/metric_parser/controller.rb",
|
89
|
+
"lib/new_relic/metric_parser/controller_cpu.rb",
|
90
|
+
"lib/new_relic/metric_parser/errors.rb",
|
91
|
+
"lib/new_relic/metric_parser/external.rb",
|
92
|
+
"lib/new_relic/metric_parser/mem_cache.rb",
|
93
|
+
"lib/new_relic/metric_parser/other_transaction.rb",
|
94
|
+
"lib/new_relic/metric_parser/view.rb",
|
95
|
+
"lib/new_relic/metric_parser/web_frontend.rb",
|
96
|
+
"lib/new_relic/metric_parser/web_service.rb",
|
97
|
+
"lib/new_relic/metric_spec.rb",
|
98
|
+
"lib/new_relic/metrics.rb",
|
99
|
+
"lib/new_relic/noticed_error.rb",
|
100
|
+
"lib/new_relic/rack/metric_app.rb",
|
101
|
+
"lib/new_relic/rack/mongrel_rpm.ru",
|
102
|
+
"lib/new_relic/rack/newrelic.yml",
|
103
|
+
"lib/new_relic/rack_app.rb",
|
104
|
+
"lib/new_relic/recipes.rb",
|
105
|
+
"lib/new_relic/stats.rb",
|
106
|
+
"lib/new_relic/transaction_analysis.rb",
|
107
|
+
"lib/new_relic/transaction_sample.rb",
|
108
|
+
"lib/new_relic/version.rb",
|
109
|
+
"lib/new_relic_api.rb",
|
110
|
+
"lib/newrelic_rpm.rb",
|
111
|
+
"lib/tasks/all.rb",
|
112
|
+
"lib/tasks/install.rake",
|
113
|
+
"lib/tasks/tests.rake",
|
114
|
+
"newrelic.yml",
|
115
|
+
"newrelic_rpm.gemspec",
|
116
|
+
"recipes/newrelic.rb",
|
117
|
+
"test/active_record_fixtures.rb",
|
118
|
+
"test/config/newrelic.yml",
|
119
|
+
"test/config/test_control.rb",
|
120
|
+
"test/new_relic/agent/active_record_instrumentation_test.rb",
|
121
|
+
"test/new_relic/agent/agent_controller_test.rb",
|
122
|
+
"test/new_relic/agent/agent_test_controller.rb",
|
123
|
+
"test/new_relic/agent/busy_calculator_test.rb",
|
124
|
+
"test/new_relic/agent/collection_helper_test.rb",
|
125
|
+
"test/new_relic/agent/error_collector_test.rb",
|
126
|
+
"test/new_relic/agent/method_tracer_test.rb",
|
127
|
+
"test/new_relic/agent/metric_data_test.rb",
|
128
|
+
"test/new_relic/agent/metric_frame_test.rb",
|
129
|
+
"test/new_relic/agent/mock_ar_connection.rb",
|
130
|
+
"test/new_relic/agent/mock_scope_listener.rb",
|
131
|
+
"test/new_relic/agent/net_instrumentation_test.rb",
|
132
|
+
"test/new_relic/agent/rpm_agent_test.rb",
|
133
|
+
"test/new_relic/agent/stats_engine/metric_stats_test.rb",
|
134
|
+
"test/new_relic/agent/stats_engine/samplers_test.rb",
|
135
|
+
"test/new_relic/agent/stats_engine/stats_engine_test.rb",
|
136
|
+
"test/new_relic/agent/task_instrumentation_test.rb",
|
137
|
+
"test/new_relic/agent/testable_agent.rb",
|
138
|
+
"test/new_relic/agent/transaction_sample_builder_test.rb",
|
139
|
+
"test/new_relic/agent/transaction_sample_test.rb",
|
140
|
+
"test/new_relic/agent/transaction_sampler_test.rb",
|
141
|
+
"test/new_relic/agent/worker_loop_test.rb",
|
142
|
+
"test/new_relic/control_test.rb",
|
143
|
+
"test/new_relic/deployments_api_test.rb",
|
144
|
+
"test/new_relic/environment_test.rb",
|
145
|
+
"test/new_relic/metric_parser_test.rb",
|
146
|
+
"test/new_relic/metric_spec_test.rb",
|
147
|
+
"test/new_relic/shim_agent_test.rb",
|
148
|
+
"test/new_relic/stats_test.rb",
|
149
|
+
"test/new_relic/version_number_test.rb",
|
150
|
+
"test/test_helper.rb",
|
151
|
+
"test/ui/newrelic_controller_test.rb",
|
152
|
+
"test/ui/newrelic_helper_test.rb",
|
153
|
+
"ui/controllers/newrelic_controller.rb",
|
154
|
+
"ui/helpers/google_pie_chart.rb",
|
155
|
+
"ui/helpers/newrelic_helper.rb",
|
156
|
+
"ui/views/layouts/newrelic_default.rhtml",
|
157
|
+
"ui/views/newrelic/_explain_plans.rhtml",
|
158
|
+
"ui/views/newrelic/_sample.rhtml",
|
159
|
+
"ui/views/newrelic/_segment.rhtml",
|
160
|
+
"ui/views/newrelic/_segment_limit_message.rhtml",
|
161
|
+
"ui/views/newrelic/_segment_row.rhtml",
|
162
|
+
"ui/views/newrelic/_show_sample_detail.rhtml",
|
163
|
+
"ui/views/newrelic/_show_sample_sql.rhtml",
|
164
|
+
"ui/views/newrelic/_show_sample_summary.rhtml",
|
165
|
+
"ui/views/newrelic/_sql_row.rhtml",
|
166
|
+
"ui/views/newrelic/_stack_trace.rhtml",
|
167
|
+
"ui/views/newrelic/_table.rhtml",
|
168
|
+
"ui/views/newrelic/explain_sql.rhtml",
|
169
|
+
"ui/views/newrelic/images/arrow-close.png",
|
170
|
+
"ui/views/newrelic/images/arrow-open.png",
|
171
|
+
"ui/views/newrelic/images/blue_bar.gif",
|
172
|
+
"ui/views/newrelic/images/file_icon.png",
|
173
|
+
"ui/views/newrelic/images/gray_bar.gif",
|
174
|
+
"ui/views/newrelic/images/new-relic-rpm-desktop.gif",
|
175
|
+
"ui/views/newrelic/images/new_relic_rpm_desktop.gif",
|
176
|
+
"ui/views/newrelic/images/textmate.png",
|
177
|
+
"ui/views/newrelic/index.rhtml",
|
178
|
+
"ui/views/newrelic/javascript/prototype-scriptaculous.js",
|
179
|
+
"ui/views/newrelic/javascript/transaction_sample.js",
|
180
|
+
"ui/views/newrelic/sample_not_found.rhtml",
|
181
|
+
"ui/views/newrelic/show_sample.rhtml",
|
182
|
+
"ui/views/newrelic/show_source.rhtml",
|
183
|
+
"ui/views/newrelic/stylesheets/style.css",
|
184
|
+
"ui/views/newrelic/threads.rhtml"
|
185
|
+
]
|
186
|
+
s.homepage = %q{http://www.github.com/newrelic/rpm}
|
187
|
+
s.post_install_message = %q{
|
188
|
+
Please see http://support.newrelic.com/faqs/docs/ruby-agent-release-notes
|
189
|
+
for a complete description of the features and enhancements available
|
190
|
+
in version 2.10 of the Ruby Agent.
|
191
|
+
|
192
|
+
For details on this specific release, refer to the CHANGELOG file.
|
193
|
+
|
194
|
+
}
|
195
|
+
s.rdoc_options = ["--charset=UTF-8", "--line-numbers", "--inline-source", "--title", "New Relic RPM"]
|
196
|
+
s.require_paths = ["lib"]
|
197
|
+
s.rubygems_version = %q{1.3.5}
|
198
|
+
s.summary = %q{New Relic Ruby Performance Monitoring Agent}
|
199
|
+
|
200
|
+
if s.respond_to? :specification_version then
|
201
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
202
|
+
s.specification_version = 3
|
203
|
+
|
204
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
205
|
+
else
|
206
|
+
end
|
207
|
+
else
|
208
|
+
end
|
209
|
+
end
|
210
|
+
|
@@ -32,20 +32,20 @@ class NewRelic::Agent::MetricFrameTest < Test::Unit::TestCase
|
|
32
32
|
def test_request_parsing__uri
|
33
33
|
request = stub(:uri => 'http://creature.com/path?hello=bob#none', :referer => '/path/hello?bob=none&foo=bar')
|
34
34
|
f.request = request
|
35
|
-
assert_equal "
|
35
|
+
assert_equal "/path", f.uri
|
36
36
|
assert_equal "/path/hello", f.referer
|
37
37
|
end
|
38
38
|
|
39
39
|
def test_request_parsing__hostname_only
|
40
40
|
request = stub(:uri => 'http://creature.com')
|
41
41
|
f.request = request
|
42
|
-
assert_equal "
|
42
|
+
assert_equal "/", f.uri
|
43
43
|
assert_nil f.referer
|
44
44
|
end
|
45
45
|
def test_request_parsing__slash
|
46
46
|
request = stub(:uri => 'http://creature.com/')
|
47
47
|
f.request = request
|
48
|
-
assert_equal "
|
48
|
+
assert_equal "/", f.uri
|
49
49
|
assert_nil f.referer
|
50
50
|
end
|
51
51
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: newrelic_rpm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.10.
|
4
|
+
version: 2.10.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bill Kayser
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-02-
|
12
|
+
date: 2010-02-16 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -119,6 +119,7 @@ files:
|
|
119
119
|
- lib/tasks/install.rake
|
120
120
|
- lib/tasks/tests.rake
|
121
121
|
- newrelic.yml
|
122
|
+
- newrelic_rpm.gemspec
|
122
123
|
- recipes/newrelic.rb
|
123
124
|
- test/active_record_fixtures.rb
|
124
125
|
- test/config/newrelic.yml
|