newrelic_rpm 2.9.2 → 2.9.3
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 +5 -1
- data/lib/new_relic/agent.rb +4 -0
- data/lib/new_relic/agent/agent.rb +55 -41
- data/lib/new_relic/control.rb +5 -1
- data/lib/new_relic/local_environment.rb +4 -0
- data/lib/new_relic/version.rb +1 -1
- data/newrelic_rpm.gemspec +4 -5
- data/ui/views/layouts/newrelic_default.rhtml +2 -3
- metadata +6 -4
data/CHANGELOG
CHANGED
@@ -1,4 +1,8 @@
|
|
1
|
-
v2.9.
|
1
|
+
v2.9.3.
|
2
|
+
* Fix startup failure in Windows due to memory sampler
|
3
|
+
* Add JRuby environment information
|
4
|
+
|
5
|
+
v2.9.2.
|
2
6
|
* change default apdex_t to 0.5 seconds
|
3
7
|
* fix bug in deployments introduced by multi_homed setting
|
4
8
|
* support overriding the log in the agent api
|
data/lib/new_relic/agent.rb
CHANGED
@@ -81,6 +81,10 @@ module NewRelic
|
|
81
81
|
# failures.
|
82
82
|
class IgnoreSilentlyException < StandardError; end
|
83
83
|
|
84
|
+
# Used for when a transaction trace or error report has too much
|
85
|
+
# data, so we reset the queue to clear the extra-large item
|
86
|
+
class PostTooBigException < IgnoreSilentlyException; end
|
87
|
+
|
84
88
|
# Reserved for future use. Meant to represent a problem on the server side.
|
85
89
|
class ServerError < StandardError; end
|
86
90
|
|
@@ -5,15 +5,17 @@ require 'logger'
|
|
5
5
|
require 'zlib'
|
6
6
|
require 'stringio'
|
7
7
|
|
8
|
-
# The NewRelic Agent collects performance data from ruby applications
|
9
|
-
# application runs, and periodically sends that
|
8
|
+
# The NewRelic Agent collects performance data from ruby applications
|
9
|
+
# in realtime as the application runs, and periodically sends that
|
10
|
+
# data to the NewRelic server.
|
10
11
|
module NewRelic::Agent
|
11
|
-
|
12
|
-
# The Agent is a singleton that is instantiated when the plugin is
|
12
|
+
|
13
|
+
# The Agent is a singleton that is instantiated when the plugin is
|
14
|
+
# activated.
|
13
15
|
class Agent
|
14
16
|
|
15
|
-
# Specifies the version of the agent's communication protocol
|
16
|
-
#
|
17
|
+
# Specifies the version of the agent's communication protocol with
|
18
|
+
# the NewRelic hosted site.
|
17
19
|
|
18
20
|
PROTOCOL_VERSION = 5
|
19
21
|
|
@@ -34,7 +36,8 @@ module NewRelic::Agent
|
|
34
36
|
end
|
35
37
|
|
36
38
|
# this method makes sure that the agent is running. it's important
|
37
|
-
# for passenger where processes are forked and the agent is
|
39
|
+
# for passenger where processes are forked and the agent is
|
40
|
+
# dormant
|
38
41
|
#
|
39
42
|
def ensure_worker_thread_started
|
40
43
|
return unless control.agent_enabled? && control.monitor_mode? && !@invalid_license
|
@@ -45,7 +48,7 @@ module NewRelic::Agent
|
|
45
48
|
end
|
46
49
|
|
47
50
|
# True if the worker thread has been started. Doesn't necessarily
|
48
|
-
# mean we are connected
|
51
|
+
# mean we are connected
|
49
52
|
def running?
|
50
53
|
control.agent_enabled? && control.monitor_mode? && @worker_loop && @worker_loop.pid == $$
|
51
54
|
end
|
@@ -63,7 +66,8 @@ module NewRelic::Agent
|
|
63
66
|
|
64
67
|
log.debug "Starting Agent shutdown"
|
65
68
|
|
66
|
-
# if litespeed, then ignore all future SIGUSR1 - it's
|
69
|
+
# if litespeed, then ignore all future SIGUSR1 - it's
|
70
|
+
# litespeed trying to shut us down
|
67
71
|
|
68
72
|
if control.dispatcher == :litespeed
|
69
73
|
Signal.trap("SIGUSR1", "IGNORE")
|
@@ -129,10 +133,11 @@ module NewRelic::Agent
|
|
129
133
|
def log
|
130
134
|
NewRelic::Control.instance.log
|
131
135
|
end
|
132
|
-
|
133
|
-
# Start up the agent. This verifies that the agent_enabled? is
|
134
|
-
# and initializes the sampler based on the current
|
135
|
-
# Then it will fire up the background
|
136
|
+
|
137
|
+
# Start up the agent. This verifies that the agent_enabled? is
|
138
|
+
# true and initializes the sampler based on the current
|
139
|
+
# controluration settings. Then it will fire up the background
|
140
|
+
# thread for sending data to the server if applicable.
|
136
141
|
def start
|
137
142
|
if started?
|
138
143
|
control.log! "Agent Started Already!", :error
|
@@ -155,8 +160,10 @@ module NewRelic::Agent
|
|
155
160
|
|
156
161
|
@record_sql = sampler_config.fetch('record_sql', :obfuscated).to_sym
|
157
162
|
|
158
|
-
# use transaction_threshold: 4.0 to force the TT collection
|
159
|
-
#
|
163
|
+
# use transaction_threshold: 4.0 to force the TT collection
|
164
|
+
# threshold to 4 seconds
|
165
|
+
# use transaction_threshold: apdex_f to use your apdex t value
|
166
|
+
# multiplied by 4
|
160
167
|
# undefined transaction_threshold defaults to 2.0
|
161
168
|
apdex_f = 4 * NewRelic::Control.instance['apdex_t'].to_f
|
162
169
|
@slowest_transaction_threshold = sampler_config.fetch('transaction_threshold', 2.0)
|
@@ -188,8 +195,9 @@ module NewRelic::Agent
|
|
188
195
|
control.log! "Invalid license key: #{control.license_key}", :error
|
189
196
|
else
|
190
197
|
launch_worker_thread
|
191
|
-
# When the VM shuts down, attempt to send a message to the
|
192
|
-
# this agent run is stopping, assuming it has
|
198
|
+
# When the VM shuts down, attempt to send a message to the
|
199
|
+
# server that this agent run is stopping, assuming it has
|
200
|
+
# successfully connected
|
193
201
|
at_exit { shutdown }
|
194
202
|
end
|
195
203
|
end
|
@@ -202,19 +210,20 @@ module NewRelic::Agent
|
|
202
210
|
@collector ||= control.server
|
203
211
|
end
|
204
212
|
|
205
|
-
# Connect to the server, and run the worker loop forever.
|
213
|
+
# Connect to the server, and run the worker loop forever.
|
214
|
+
# Will not return.
|
206
215
|
def run_worker_loop
|
207
216
|
|
208
|
-
# connect to the server. this will keep retrying until
|
209
|
-
# it determines the license is bad.
|
217
|
+
# connect to the server. this will keep retrying until
|
218
|
+
# successful or it determines the license is bad.
|
210
219
|
connect
|
211
220
|
|
212
221
|
# We may not be connected now but keep going for dev mode
|
213
222
|
if @connected
|
214
223
|
begin
|
215
|
-
# determine the reporting period (server based)
|
216
|
-
# note if the agent attempts to report more frequently than
|
217
|
-
# report data, then it will be ignored.
|
224
|
+
# determine the reporting period (server based)
|
225
|
+
# note if the agent attempts to report more frequently than
|
226
|
+
# the specified report data, then it will be ignored.
|
218
227
|
|
219
228
|
control.log! "Reporting performance data every #{@report_period} seconds."
|
220
229
|
@worker_loop.add_task(@report_period) do
|
@@ -271,9 +280,11 @@ module NewRelic::Agent
|
|
271
280
|
end
|
272
281
|
@worker_thread['newrelic_label'] = 'Worker Loop'
|
273
282
|
|
274
|
-
# This code should be activated to check that no dependency
|
275
|
-
#
|
276
|
-
#
|
283
|
+
# This code should be activated to check that no dependency
|
284
|
+
# loading is occuring in the background thread by stopping the
|
285
|
+
# foreground thread after the background thread is created. Turn
|
286
|
+
# on dependency loading logging and make sure that no loading
|
287
|
+
# occurs.
|
277
288
|
#
|
278
289
|
# control.log! "FINISHED AGENT INIT"
|
279
290
|
# while true
|
@@ -302,12 +313,11 @@ module NewRelic::Agent
|
|
302
313
|
@last_harvest_time = Time.now
|
303
314
|
end
|
304
315
|
|
305
|
-
# Connect to the server and validate the license.
|
306
|
-
#
|
307
|
-
#
|
308
|
-
#
|
309
|
-
#
|
310
|
-
# a bad license key.
|
316
|
+
# Connect to the server and validate the license. If successful,
|
317
|
+
# @connected has true when finished. If not successful, you can
|
318
|
+
# keep calling this. Return false if we could not establish a
|
319
|
+
# connection with the server and we should not retry, such as if
|
320
|
+
# there's a bad license key.
|
311
321
|
def connect
|
312
322
|
# wait a few seconds for the web server to boot, necessary in development
|
313
323
|
connect_retry_period = 5
|
@@ -331,7 +341,8 @@ module NewRelic::Agent
|
|
331
341
|
control.log! "Connected to NewRelic Service at #{@collector}"
|
332
342
|
log.debug "Agent ID = #{@agent_id}."
|
333
343
|
|
334
|
-
# Ask the server for permission to send transaction samples.
|
344
|
+
# Ask the server for permission to send transaction samples.
|
345
|
+
# determined by subscription license.
|
335
346
|
@should_send_samples = invoke_remote :should_collect_samples, @agent_id
|
336
347
|
|
337
348
|
if @should_send_samples
|
@@ -446,13 +457,15 @@ module NewRelic::Agent
|
|
446
457
|
log.debug "#{now}: sent slowest sample (#{@agent_id}) in #{Time.now - now} seconds"
|
447
458
|
end
|
448
459
|
|
449
|
-
# if we succeed sending this sample, then we don't need to keep
|
450
|
-
# around - it has been sent already and we
|
460
|
+
# if we succeed sending this sample, then we don't need to keep
|
461
|
+
# the slowest sample around - it has been sent already and we
|
462
|
+
# can collect the next one
|
451
463
|
@traces = nil
|
452
464
|
|
453
|
-
# note - exceptions are logged in invoke_remote. If an
|
454
|
-
# then the slowest sample of is
|
455
|
-
# reported
|
465
|
+
# note - exceptions are logged in invoke_remote. If an
|
466
|
+
# exception is encountered here, then the slowest sample of is
|
467
|
+
# determined of the entire period since the last reported
|
468
|
+
# sample.
|
456
469
|
end
|
457
470
|
|
458
471
|
def harvest_and_send_errors
|
@@ -522,9 +535,10 @@ module NewRelic::Agent
|
|
522
535
|
end
|
523
536
|
rescue ForceDisconnectException => e
|
524
537
|
log.error "RPM forced this agent to disconnect (#{e.message})\n" \
|
525
|
-
|
526
|
-
# when a disconnect is requested, stop the current thread, which
|
527
|
-
# gathers data and talks to the
|
538
|
+
"Restart this process to resume monitoring via rpm.newrelic.com."
|
539
|
+
# when a disconnect is requested, stop the current thread, which
|
540
|
+
# is the worker thread that gathers data and talks to the
|
541
|
+
# server.
|
528
542
|
@connected = false
|
529
543
|
Thread.exit
|
530
544
|
rescue SystemCallError, SocketError => e
|
data/lib/new_relic/control.rb
CHANGED
@@ -291,7 +291,11 @@ module NewRelic
|
|
291
291
|
agent = NewRelic::Agent.instance
|
292
292
|
agent.stats_engine.add_sampler NewRelic::Agent::Samplers::MongrelSampler.new if local_env.mongrel
|
293
293
|
agent.stats_engine.add_harvest_sampler NewRelic::Agent::Samplers::CpuSampler.new unless defined? Java
|
294
|
-
|
294
|
+
begin
|
295
|
+
agent.stats_engine.add_sampler NewRelic::Agent::Samplers::MemorySampler.new
|
296
|
+
rescue RuntimeError => e
|
297
|
+
log.error "Cannot add memory sampling: #{e}"
|
298
|
+
end
|
295
299
|
end
|
296
300
|
|
297
301
|
protected
|
@@ -75,6 +75,10 @@ module NewRelic
|
|
75
75
|
append_environment_value('Ruby version'){ RUBY_VERSION }
|
76
76
|
append_environment_value('Ruby platform') { RUBY_PLATFORM }
|
77
77
|
append_environment_value('Ruby patchlevel') { RUBY_PATCHLEVEL }
|
78
|
+
if defined? Java
|
79
|
+
append_environment_value('JRuby version') { JRUBY_VERSION }
|
80
|
+
append_environment_value('Java VM version') { ENV_JAVA['java.vm.version']}
|
81
|
+
end
|
78
82
|
append_environment_value('OS version') { `uname -v` }
|
79
83
|
append_environment_value('OS') { `uname -s` } ||
|
80
84
|
append_environment_value('OS') { ENV['OS'] }
|
data/lib/new_relic/version.rb
CHANGED
data/newrelic_rpm.gemspec
CHANGED
@@ -2,28 +2,27 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{newrelic_rpm}
|
5
|
-
s.version = "2.9.
|
5
|
+
s.version = "2.9.3"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Bill Kayser"]
|
9
|
-
s.date = %q{2009-
|
9
|
+
s.date = %q{2009-07-10}
|
10
10
|
s.description = %q{New Relic Ruby Performance Monitoring Agent}
|
11
11
|
s.email = %q{bkayser@newrelic.com}
|
12
12
|
s.executables = ["mongrel_rpm", "newrelic_cmd"]
|
13
13
|
s.extra_rdoc_files = ["bin/mongrel_rpm", "bin/newrelic_cmd", "CHANGELOG", "lib/new_relic/agent/agent.rb", "lib/new_relic/agent/chained_call.rb", "lib/new_relic/agent/collection_helper.rb", "lib/new_relic/agent/error_collector.rb", "lib/new_relic/agent/instrumentation/active_merchant.rb", "lib/new_relic/agent/instrumentation/active_record_instrumentation.rb", "lib/new_relic/agent/instrumentation/controller_instrumentation.rb", "lib/new_relic/agent/instrumentation/data_mapper.rb", "lib/new_relic/agent/instrumentation/dispatcher_instrumentation.rb", "lib/new_relic/agent/instrumentation/error_instrumentation.rb", "lib/new_relic/agent/instrumentation/memcache.rb", "lib/new_relic/agent/instrumentation/merb/controller.rb", "lib/new_relic/agent/instrumentation/merb/dispatcher.rb", "lib/new_relic/agent/instrumentation/merb/errors.rb", "lib/new_relic/agent/instrumentation/passenger_instrumentation.rb", "lib/new_relic/agent/instrumentation/rails/action_controller.rb", "lib/new_relic/agent/instrumentation/rails/action_web_service.rb", "lib/new_relic/agent/instrumentation/rails/dispatcher.rb", "lib/new_relic/agent/instrumentation/rails/errors.rb", "lib/new_relic/agent/method_tracer.rb", "lib/new_relic/agent/patch_const_missing.rb", "lib/new_relic/agent/sampler.rb", "lib/new_relic/agent/samplers/cpu_sampler.rb", "lib/new_relic/agent/samplers/memory_sampler.rb", "lib/new_relic/agent/samplers/mongrel_sampler.rb", "lib/new_relic/agent/shim_agent.rb", "lib/new_relic/agent/stats_engine.rb", "lib/new_relic/agent/transaction_sampler.rb", "lib/new_relic/agent/worker_loop.rb", "lib/new_relic/agent.rb", "lib/new_relic/commands/deployments.rb", "lib/new_relic/commands/new_relic_commands.rb", "lib/new_relic/control/merb.rb", "lib/new_relic/control/rails.rb", "lib/new_relic/control/ruby.rb", "lib/new_relic/control.rb", "lib/new_relic/local_environment.rb", "lib/new_relic/merbtasks.rb", "lib/new_relic/metric_data.rb", "lib/new_relic/metric_parser/action_mailer.rb", "lib/new_relic/metric_parser/active_merchant.rb", "lib/new_relic/metric_parser/active_record.rb", "lib/new_relic/metric_parser/controller.rb", "lib/new_relic/metric_parser/controller_cpu.rb", "lib/new_relic/metric_parser/database.rb", "lib/new_relic/metric_parser/errors.rb", "lib/new_relic/metric_parser/mem_cache.rb", "lib/new_relic/metric_parser/view.rb", "lib/new_relic/metric_parser/web_service.rb", "lib/new_relic/metric_parser.rb", "lib/new_relic/metric_spec.rb", "lib/new_relic/metrics.rb", "lib/new_relic/noticed_error.rb", "lib/new_relic/rack/metric_app.rb", "lib/new_relic/rack/newrelic.ru", "lib/new_relic/rack/newrelic.yml", "lib/new_relic/rack.rb", "lib/new_relic/recipes.rb", "lib/new_relic/stats.rb", "lib/new_relic/transaction_analysis.rb", "lib/new_relic/transaction_sample.rb", "lib/new_relic/version.rb", "lib/new_relic_api.rb", "lib/newrelic_rpm.rb", "lib/tasks/all.rb", "lib/tasks/install.rake", "lib/tasks/tests.rake", "LICENSE", "README.md"]
|
14
14
|
s.files = ["bin/mongrel_rpm", "bin/newrelic_cmd", "cert/cacert.pem", "CHANGELOG", "init.rb", "install.rb", "lib/new_relic/agent/agent.rb", "lib/new_relic/agent/chained_call.rb", "lib/new_relic/agent/collection_helper.rb", "lib/new_relic/agent/error_collector.rb", "lib/new_relic/agent/instrumentation/active_merchant.rb", "lib/new_relic/agent/instrumentation/active_record_instrumentation.rb", "lib/new_relic/agent/instrumentation/controller_instrumentation.rb", "lib/new_relic/agent/instrumentation/data_mapper.rb", "lib/new_relic/agent/instrumentation/dispatcher_instrumentation.rb", "lib/new_relic/agent/instrumentation/error_instrumentation.rb", "lib/new_relic/agent/instrumentation/memcache.rb", "lib/new_relic/agent/instrumentation/merb/controller.rb", "lib/new_relic/agent/instrumentation/merb/dispatcher.rb", "lib/new_relic/agent/instrumentation/merb/errors.rb", "lib/new_relic/agent/instrumentation/passenger_instrumentation.rb", "lib/new_relic/agent/instrumentation/rails/action_controller.rb", "lib/new_relic/agent/instrumentation/rails/action_web_service.rb", "lib/new_relic/agent/instrumentation/rails/dispatcher.rb", "lib/new_relic/agent/instrumentation/rails/errors.rb", "lib/new_relic/agent/method_tracer.rb", "lib/new_relic/agent/patch_const_missing.rb", "lib/new_relic/agent/sampler.rb", "lib/new_relic/agent/samplers/cpu_sampler.rb", "lib/new_relic/agent/samplers/memory_sampler.rb", "lib/new_relic/agent/samplers/mongrel_sampler.rb", "lib/new_relic/agent/shim_agent.rb", "lib/new_relic/agent/stats_engine.rb", "lib/new_relic/agent/transaction_sampler.rb", "lib/new_relic/agent/worker_loop.rb", "lib/new_relic/agent.rb", "lib/new_relic/commands/deployments.rb", "lib/new_relic/commands/new_relic_commands.rb", "lib/new_relic/control/merb.rb", "lib/new_relic/control/rails.rb", "lib/new_relic/control/ruby.rb", "lib/new_relic/control.rb", "lib/new_relic/local_environment.rb", "lib/new_relic/merbtasks.rb", "lib/new_relic/metric_data.rb", "lib/new_relic/metric_parser/action_mailer.rb", "lib/new_relic/metric_parser/active_merchant.rb", "lib/new_relic/metric_parser/active_record.rb", "lib/new_relic/metric_parser/controller.rb", "lib/new_relic/metric_parser/controller_cpu.rb", "lib/new_relic/metric_parser/database.rb", "lib/new_relic/metric_parser/errors.rb", "lib/new_relic/metric_parser/mem_cache.rb", "lib/new_relic/metric_parser/view.rb", "lib/new_relic/metric_parser/web_service.rb", "lib/new_relic/metric_parser.rb", "lib/new_relic/metric_spec.rb", "lib/new_relic/metrics.rb", "lib/new_relic/noticed_error.rb", "lib/new_relic/rack/metric_app.rb", "lib/new_relic/rack/newrelic.ru", "lib/new_relic/rack/newrelic.yml", "lib/new_relic/rack.rb", "lib/new_relic/recipes.rb", "lib/new_relic/stats.rb", "lib/new_relic/transaction_analysis.rb", "lib/new_relic/transaction_sample.rb", "lib/new_relic/version.rb", "lib/new_relic_api.rb", "lib/newrelic_rpm.rb", "lib/tasks/all.rb", "lib/tasks/install.rake", "lib/tasks/tests.rake", "LICENSE", "Manifest", "newrelic.yml", "Rakefile", "README.md", "recipes/newrelic.rb", "test/active_record_fixtures.rb", "test/config/newrelic.yml", "test/config/test_control.rb", "test/new_relic/agent/active_record_instrumentation_test.rb", "test/new_relic/agent/agent_test.rb", "test/new_relic/agent/agent_test_controller.rb", "test/new_relic/agent/classloader_patch_test.rb", "test/new_relic/agent/collection_helper_test.rb", "test/new_relic/agent/controller_test.rb", "test/new_relic/agent/dispatcher_instrumentation_test.rb", "test/new_relic/agent/error_collector_test.rb", "test/new_relic/agent/method_tracer_test.rb", "test/new_relic/agent/metric_data_test.rb", "test/new_relic/agent/mock_ar_connection.rb", "test/new_relic/agent/mock_scope_listener.rb", "test/new_relic/agent/stats_engine_test.rb", "test/new_relic/agent/testable_agent.rb", "test/new_relic/agent/transaction_sample_builder_test.rb", "test/new_relic/agent/transaction_sample_test.rb", "test/new_relic/agent/transaction_sampler_test.rb", "test/new_relic/agent/worker_loop_test.rb", "test/new_relic/control_test.rb", "test/new_relic/deployments_api_test.rb", "test/new_relic/environment_test.rb", "test/new_relic/metric_parser_test.rb", "test/new_relic/metric_spec_test.rb", "test/new_relic/samplers_test.rb", "test/new_relic/shim_agent_test.rb", "test/new_relic/stats_test.rb", "test/new_relic/version_number_test.rb", "test/test_helper.rb", "test/ui/newrelic_controller_test.rb", "test/ui/newrelic_helper_test.rb", "ui/controllers/newrelic_controller.rb", "ui/helpers/google_pie_chart.rb", "ui/helpers/newrelic_helper.rb", "ui/views/layouts/newrelic_default.rhtml", "ui/views/newrelic/_explain_plans.rhtml", "ui/views/newrelic/_sample.rhtml", "ui/views/newrelic/_segment.rhtml", "ui/views/newrelic/_segment_limit_message.rhtml", "ui/views/newrelic/_segment_row.rhtml", "ui/views/newrelic/_show_sample_detail.rhtml", "ui/views/newrelic/_show_sample_sql.rhtml", "ui/views/newrelic/_show_sample_summary.rhtml", "ui/views/newrelic/_sql_row.rhtml", "ui/views/newrelic/_stack_trace.rhtml", "ui/views/newrelic/_table.rhtml", "ui/views/newrelic/explain_sql.rhtml", "ui/views/newrelic/images/arrow-close.png", "ui/views/newrelic/images/arrow-open.png", "ui/views/newrelic/images/blue_bar.gif", "ui/views/newrelic/images/file_icon.png", "ui/views/newrelic/images/gray_bar.gif", "ui/views/newrelic/images/new_relic_rpm_desktop.gif", "ui/views/newrelic/index.rhtml", "ui/views/newrelic/javascript/prototype-scriptaculous.js", "ui/views/newrelic/javascript/transaction_sample.js", "ui/views/newrelic/sample_not_found.rhtml", "ui/views/newrelic/show_sample.rhtml", "ui/views/newrelic/show_source.rhtml", "ui/views/newrelic/stylesheets/style.css", "ui/views/newrelic/threads.rhtml", "newrelic_rpm.gemspec"]
|
15
|
-
s.has_rdoc = true
|
16
15
|
s.homepage = %q{http://www.newrelic.com}
|
17
16
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Newrelic_rpm", "--main", "README.md"]
|
18
17
|
s.require_paths = ["lib"]
|
19
18
|
s.rubyforge_project = %q{newrelic}
|
20
|
-
s.rubygems_version = %q{1.3.
|
19
|
+
s.rubygems_version = %q{1.3.4}
|
21
20
|
s.summary = %q{New Relic Ruby Performance Monitoring Agent}
|
22
21
|
s.test_files = ["test/config/test_control.rb", "test/new_relic/agent/active_record_instrumentation_test.rb", "test/new_relic/agent/agent_test.rb", "test/new_relic/agent/classloader_patch_test.rb", "test/new_relic/agent/collection_helper_test.rb", "test/new_relic/agent/controller_test.rb", "test/new_relic/agent/dispatcher_instrumentation_test.rb", "test/new_relic/agent/error_collector_test.rb", "test/new_relic/agent/method_tracer_test.rb", "test/new_relic/agent/metric_data_test.rb", "test/new_relic/agent/stats_engine_test.rb", "test/new_relic/agent/transaction_sample_builder_test.rb", "test/new_relic/agent/transaction_sample_test.rb", "test/new_relic/agent/transaction_sampler_test.rb", "test/new_relic/agent/worker_loop_test.rb", "test/new_relic/control_test.rb", "test/new_relic/deployments_api_test.rb", "test/new_relic/environment_test.rb", "test/new_relic/metric_parser_test.rb", "test/new_relic/metric_spec_test.rb", "test/new_relic/samplers_test.rb", "test/new_relic/shim_agent_test.rb", "test/new_relic/stats_test.rb", "test/new_relic/version_number_test.rb", "test/test_helper.rb", "test/ui/newrelic_controller_test.rb", "test/ui/newrelic_helper_test.rb"]
|
23
22
|
|
24
23
|
if s.respond_to? :specification_version then
|
25
24
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
26
|
-
s.specification_version =
|
25
|
+
s.specification_version = 3
|
27
26
|
|
28
27
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
29
28
|
s.add_development_dependency(%q<echoe>, [">= 0"])
|
@@ -39,10 +39,9 @@
|
|
39
39
|
</div>
|
40
40
|
<div id='footer'>
|
41
41
|
<img width="100%" height="4" src="<%= url_for(:controller => :newrelic, :action => :image, :file => 'blue_bar.gif', :content_type => 'image/gif') %>" alt="spacer"/>
|
42
|
-
|
43
|
-
in the Rails community? <a href="http://www.newrelic.com/jobs.html" title="Learn more about what we're looking for.">We're Hiring! »</a><br />
|
42
|
+
<p>We're hiring! Check out our <%=link_to "job postings", 'http://www.newrelic.com/jobs.html' %></p>
|
44
43
|
<a href="/newrelic">Home</a> | <a href="mailto:support@newrelic.com?subject=Feedback" title="">Feedback</a><br />
|
45
44
|
Monitor your Rails Application in Production. <a href="http://www.newrelic.com/dev-upgrade.html">Learn more. »</a><br />
|
46
|
-
© 2008 New Relic. All rights reserved.</p>
|
45
|
+
© 2008 - <%= Time.now.strftime('%Y') %> New Relic. All rights reserved.</p>
|
47
46
|
</div>
|
48
47
|
</body>
|
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.9.
|
4
|
+
version: 2.9.3
|
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: 2009-
|
12
|
+
date: 2009-07-10 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -248,6 +248,8 @@ files:
|
|
248
248
|
- newrelic_rpm.gemspec
|
249
249
|
has_rdoc: true
|
250
250
|
homepage: http://www.newrelic.com
|
251
|
+
licenses: []
|
252
|
+
|
251
253
|
post_install_message:
|
252
254
|
rdoc_options:
|
253
255
|
- --line-numbers
|
@@ -273,9 +275,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
273
275
|
requirements: []
|
274
276
|
|
275
277
|
rubyforge_project: newrelic
|
276
|
-
rubygems_version: 1.3.
|
278
|
+
rubygems_version: 1.3.4
|
277
279
|
signing_key:
|
278
|
-
specification_version:
|
280
|
+
specification_version: 3
|
279
281
|
summary: New Relic Ruby Performance Monitoring Agent
|
280
282
|
test_files:
|
281
283
|
- test/config/test_control.rb
|