newrelic_rpm 2.9.5 → 2.9.6

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 CHANGED
@@ -1,15 +1,22 @@
1
- v2.9.5
2
- * Fix memory sampling on Snow Leopard (No more ps rsz option)
1
+ v2.9.6.
2
+ * add instrumentation for Net::HTTP calls, to show up as "External"
3
+ * added support for validating agents in the cloud.
4
+ * recognize Unicorn dispatcher
5
+ * add NewRelic module definitions to ActiveRecord instrumentation
3
6
 
4
- v2.9.4
5
- * Clamp size of data sent to server
6
- * Reset statistics for passenger when forking to avoid erroneous data
7
- * Fix problem deserializing errors from the server
8
- * Fix incompatibility with postgres introduced in 2.9.
7
+ v2.9.5.
8
+ * Snow Leopard memory fix
9
+
10
+ v2.9.4.
11
+ * clamp size of data sent to server
12
+ * reset statistics for passenger when forking to avoid erroneous data
13
+ * fix problem deserializing errors from the server
14
+ * fix incompatibility with postgres introduced in 2.9.
9
15
 
10
16
  v2.9.3.
11
- * Fix startup failure in Windows due to memory sampler
12
- * Add JRuby environment information
17
+ * fix startup failure in Windows due to memory sampler
18
+ * add JRuby environment information
19
+
13
20
  v2.9.2.
14
21
  * change default apdex_t to 0.5 seconds
15
22
  * fix bug in deployments introduced by multi_homed setting
data/Manifest CHANGED
@@ -18,6 +18,7 @@ lib/new_relic/agent/instrumentation/memcache.rb
18
18
  lib/new_relic/agent/instrumentation/merb/controller.rb
19
19
  lib/new_relic/agent/instrumentation/merb/dispatcher.rb
20
20
  lib/new_relic/agent/instrumentation/merb/errors.rb
21
+ lib/new_relic/agent/instrumentation/net.rb
21
22
  lib/new_relic/agent/instrumentation/passenger_instrumentation.rb
22
23
  lib/new_relic/agent/instrumentation/rails/action_controller.rb
23
24
  lib/new_relic/agent/instrumentation/rails/action_web_service.rb
@@ -72,7 +73,6 @@ lib/tasks/all.rb
72
73
  lib/tasks/install.rake
73
74
  lib/tasks/tests.rake
74
75
  LICENSE
75
- Manifest
76
76
  newrelic.yml
77
77
  Rakefile
78
78
  README.md
@@ -140,3 +140,4 @@ ui/views/newrelic/show_sample.rhtml
140
140
  ui/views/newrelic/show_source.rhtml
141
141
  ui/views/newrelic/stylesheets/style.css
142
142
  ui/views/newrelic/threads.rhtml
143
+ Manifest
@@ -330,7 +330,9 @@ module NewRelic::Agent
330
330
  :launch_time => @launch_time.to_f,
331
331
  :agent_version => NewRelic::VERSION::STRING,
332
332
  :environment => control.local_env.snapshot,
333
- :settings => control.settings }
333
+ :settings => control.settings,
334
+ :validate_seed => ENV['NR_VALIDATE_SEED'],
335
+ :validate_token => ENV['NR_VALIDATE_TOKEN'] }
334
336
 
335
337
  host = invoke_remote(:get_redirect_host) rescue nil
336
338
 
@@ -2,80 +2,86 @@
2
2
  # NewRelic instrumentation for ActiveRecord
3
3
  if defined?(ActiveRecord::Base) && !NewRelic::Control.instance['skip_ar_instrumentation']
4
4
 
5
- module NewRelic::Agent::Instrumentation::ActiveRecordInstrumentation
5
+ module NewRelic
6
+ module Agent
7
+ module Instrumentation
8
+ module ActiveRecordInstrumentation
6
9
 
7
- def self.included(instrumented_class)
8
- instrumented_class.class_eval do
9
- alias_method :log_without_newrelic_instrumentation, :log
10
- alias_method :log, :log_with_newrelic_instrumentation
11
- protected :log
12
- end
13
- end
14
-
15
- def active_record_all_stats
16
- NewRelic::Agent.instance.stats_engine.get_stats_no_scope("ActiveRecord/all")
17
- end
18
-
19
- def log_with_newrelic_instrumentation(sql, name, &block)
20
- # Capture db config if we are going to try to get the explain plans
21
- if (defined?(ActiveRecord::ConnectionAdapters::MysqlAdapter) && self.is_a?(ActiveRecord::ConnectionAdapters::MysqlAdapter)) ||
22
- (defined?(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter) && self.is_a?(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter))
23
- supported_config = @config
24
- end
25
- if name && (parts = name.split " ") && parts.size == 2
26
- model = parts.first
27
- operation = parts.last.downcase
28
- metric_name = case operation
29
- when 'load' then 'find'
30
- when 'indexes', 'columns' then nil # fall back to DirectSQL
31
- when 'destroy', 'find', 'save', 'create' then operation
32
- when 'update' then 'save'
33
- else
34
- if model == 'Join'
35
- operation
10
+ def self.included(instrumented_class)
11
+ instrumented_class.class_eval do
12
+ alias_method :log_without_newrelic_instrumentation, :log
13
+ alias_method :log, :log_with_newrelic_instrumentation
14
+ protected :log
15
+ end
16
+ end
17
+
18
+ def active_record_all_stats
19
+ NewRelic::Agent.instance.stats_engine.get_stats_no_scope("ActiveRecord/all")
20
+ end
21
+
22
+ def log_with_newrelic_instrumentation(sql, name, &block)
23
+ # Capture db config if we are going to try to get the explain plans
24
+ if (defined?(ActiveRecord::ConnectionAdapters::MysqlAdapter) && self.is_a?(ActiveRecord::ConnectionAdapters::MysqlAdapter)) ||
25
+ (defined?(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter) && self.is_a?(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter))
26
+ supported_config = @config
27
+ end
28
+ if name && (parts = name.split " ") && parts.size == 2
29
+ model = parts.first
30
+ operation = parts.last.downcase
31
+ metric_name = case operation
32
+ when 'load' then 'find'
33
+ when 'indexes', 'columns' then nil # fall back to DirectSQL
34
+ when 'destroy', 'find', 'save', 'create' then operation
35
+ when 'update' then 'save'
36
+ else
37
+ if model == 'Join'
38
+ operation
39
+ end
40
+ end
41
+ metric = "ActiveRecord/#{model}/#{metric_name}" if metric_name
42
+ end
43
+ if metric.nil? && sql =~ /^(select|update|insert|delete)/i
44
+ # Could not determine the model/operation so let's find a better
45
+ # metric. If it doesn't match the regex, it's probably a show
46
+ # command or some DDL which we'll ignore.
47
+ metric = "Database/SQL/#{$1.downcase}"
48
+ end
49
+
50
+ if !metric
51
+ log_without_newrelic_instrumentation(sql, name, &block)
52
+ else
53
+ self.class.trace_method_execution_with_scope metric, true, true do
54
+ t0 = Time.now.to_f
55
+ result = log_without_newrelic_instrumentation(sql, name, &block)
56
+ duration = Time.now.to_f - t0
57
+
58
+ NewRelic::Agent.instance.transaction_sampler.notice_sql(sql, supported_config, duration)
59
+ # Record in the overall summary metric
60
+ active_record_all_stats.record_data_point(duration)
61
+ # Record in the summary metric for this operation
62
+ NewRelic::Agent.instance.stats_engine.get_stats_no_scope("ActiveRecord/#{metric_name}").record_data_point(duration) if metric_name
63
+ result
64
+ end
65
+ end
36
66
  end
37
- end
38
- metric = "ActiveRecord/#{model}/#{metric_name}" if metric_name
39
- end
40
- if metric.nil? && sql =~ /^(select|update|insert|delete)/i
41
- # Could not determine the model/operation so let's find a better
42
- # metric. If it doesn't match the regex, it's probably a show
43
- # command or some DDL which we'll ignore.
44
- metric = "Database/SQL/#{$1.downcase}"
45
- end
46
-
47
- if !metric
48
- log_without_newrelic_instrumentation(sql, name, &block)
49
- else
50
- self.class.trace_method_execution_with_scope metric, true, true do
51
- t0 = Time.now.to_f
52
- result = log_without_newrelic_instrumentation(sql, name, &block)
53
- duration = Time.now.to_f - t0
54
67
 
55
- NewRelic::Agent.instance.transaction_sampler.notice_sql(sql, supported_config, duration)
56
- # Record in the overall summary metric
57
- active_record_all_stats.record_data_point(duration)
58
- # Record in the summary metric for this operation
59
- NewRelic::Agent.instance.stats_engine.get_stats_no_scope("ActiveRecord/#{metric_name}").record_data_point(duration) if metric_name
60
- result
61
68
  end
62
- end
63
- end
64
-
65
- end
66
-
67
- # instrumentation to catch logged SQL statements in sampled transactions
68
- ActiveRecord::ConnectionAdapters::AbstractAdapter.module_eval do
69
- include ::NewRelic::Agent::Instrumentation::ActiveRecordInstrumentation
70
- end
69
+
70
+ # instrumentation to catch logged SQL statements in sampled transactions
71
+ ActiveRecord::ConnectionAdapters::AbstractAdapter.module_eval do
72
+ include ::NewRelic::Agent::Instrumentation::ActiveRecordInstrumentation
73
+ end
71
74
 
72
- # This instrumentation will add an extra scope to the transaction traces
73
- # which will show the code surrounding the query, inside the model find_by_sql
74
- # method.
75
- ActiveRecord::Base.class_eval do
76
- class << self
77
- add_method_tracer :find_by_sql, 'ActiveRecord/#{self.name}/find_by_sql', :metric => false
75
+ # This instrumentation will add an extra scope to the transaction traces
76
+ # which will show the code surrounding the query, inside the model find_by_sql
77
+ # method.
78
+ ActiveRecord::Base.class_eval do
79
+ class << self
80
+ add_method_tracer :find_by_sql, 'ActiveRecord/#{self.name}/find_by_sql', :metric => false
81
+ end
82
+ end
83
+
84
+ end
78
85
  end
79
86
  end
80
-
81
- end
87
+ end
@@ -0,0 +1,9 @@
1
+ # ActiveMerchant Instrumentation.
2
+
3
+ if defined? Net::HTTP
4
+ Net::HTTP.class_eval do
5
+ add_method_tracer "request", 'External/#{@address}/Net::HTTP/#{args[0].method}'# + op
6
+ add_method_tracer "request", 'External/#{@address}/all', :push_scope => false
7
+ add_method_tracer "request", 'External/allWeb', :push_scope => false
8
+ end
9
+ end
@@ -134,6 +134,14 @@ module NewRelic
134
134
  end unless defined?(JRuby) && !JRuby.runtime.is_object_space_enabled
135
135
  @mongrel
136
136
  end
137
+
138
+ def unicorn
139
+ return @unicorn if @unicorn || ! defined? Unicorn::HttpServer
140
+ ObjectSpace.each_object(Unicorn::HttpServer) do |unicorn|
141
+ @unicorn = unicorn
142
+ end unless defined?(JRuby) && !JRuby.runtime.is_object_space_enabled
143
+ @unicorn
144
+ end
137
145
 
138
146
  private
139
147
 
@@ -141,7 +149,7 @@ module NewRelic
141
149
  # is not advisable since it implies certain api's being available.
142
150
  def discover_dispatcher
143
151
  @dispatcher = ENV['NEWRELIC_DISPATCHER'] && ENV['NEWRELIC_DISPATCHER'].to_sym
144
- dispatchers = %w[webrick thin mongrel glassfish litespeed passenger fastcgi]
152
+ dispatchers = %w[passenger glassfish thin mongrel litespeed webrick fastcgi unicorn]
145
153
  while dispatchers.any? && @dispatcher.nil?
146
154
  send 'check_for_'+(dispatchers.shift)
147
155
  end
@@ -200,12 +208,20 @@ module NewRelic
200
208
  @dispatcher_instance_id = mongrel.defaults[:port] && mongrel.defaults[:port].to_s
201
209
  end unless defined?(JRuby) && !JRuby.runtime.is_object_space_enabled
202
210
  end
203
- @mongrel
204
211
 
205
212
  # Still can't find the port. Let's look at ARGV to fall back
206
213
  @dispatcher_instance_id = default_port if @dispatcher_instance_id.nil?
207
214
  end
208
215
 
216
+ def check_for_unicorn
217
+ return unless defined?(Unicorn::HttpServer)
218
+
219
+ # unlike mongrel, unicorn manages muliple threads and ports, so we
220
+ # have to map multiple processes into one instance, as we do with passenger
221
+ @dispatcher = :unicorn
222
+ end
223
+
224
+
209
225
  def check_for_thin
210
226
  if defined? Thin::Server
211
227
  # This case covers the thin web dispatcher
@@ -3,7 +3,7 @@ module NewRelic
3
3
  module VERSION #:nodoc:
4
4
  MAJOR = 2
5
5
  MINOR = 9
6
- TINY = 5
6
+ TINY = 6
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
9
9
 
@@ -2,21 +2,21 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{newrelic_rpm}
5
- s.version = "2.9.5"
5
+ s.version = "2.9.6"
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-09-18}
9
+ s.date = %q{2009-11-13}
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
- 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
- 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"]
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/net.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
+ 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/net.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", "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", "Manifest", "newrelic_rpm.gemspec"]
15
15
  s.homepage = %q{http://www.newrelic.com}
16
16
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Newrelic_rpm", "--main", "README.md"]
17
17
  s.require_paths = ["lib"]
18
18
  s.rubyforge_project = %q{newrelic}
19
- s.rubygems_version = %q{1.3.4}
19
+ s.rubygems_version = %q{1.3.5}
20
20
  s.summary = %q{New Relic Ruby Performance Monitoring Agent}
21
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"]
22
22
 
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.5
4
+ version: 2.9.6
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-09-18 00:00:00 -07:00
12
+ date: 2009-11-13 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -47,6 +47,7 @@ extra_rdoc_files:
47
47
  - lib/new_relic/agent/instrumentation/merb/controller.rb
48
48
  - lib/new_relic/agent/instrumentation/merb/dispatcher.rb
49
49
  - lib/new_relic/agent/instrumentation/merb/errors.rb
50
+ - lib/new_relic/agent/instrumentation/net.rb
50
51
  - lib/new_relic/agent/instrumentation/passenger_instrumentation.rb
51
52
  - lib/new_relic/agent/instrumentation/rails/action_controller.rb
52
53
  - lib/new_relic/agent/instrumentation/rails/action_web_service.rb
@@ -123,6 +124,7 @@ files:
123
124
  - lib/new_relic/agent/instrumentation/merb/controller.rb
124
125
  - lib/new_relic/agent/instrumentation/merb/dispatcher.rb
125
126
  - lib/new_relic/agent/instrumentation/merb/errors.rb
127
+ - lib/new_relic/agent/instrumentation/net.rb
126
128
  - lib/new_relic/agent/instrumentation/passenger_instrumentation.rb
127
129
  - lib/new_relic/agent/instrumentation/rails/action_controller.rb
128
130
  - lib/new_relic/agent/instrumentation/rails/action_web_service.rb
@@ -177,7 +179,6 @@ files:
177
179
  - lib/tasks/install.rake
178
180
  - lib/tasks/tests.rake
179
181
  - LICENSE
180
- - Manifest
181
182
  - newrelic.yml
182
183
  - Rakefile
183
184
  - README.md
@@ -245,6 +246,7 @@ files:
245
246
  - ui/views/newrelic/show_source.rhtml
246
247
  - ui/views/newrelic/stylesheets/style.css
247
248
  - ui/views/newrelic/threads.rhtml
249
+ - Manifest
248
250
  - newrelic_rpm.gemspec
249
251
  has_rdoc: true
250
252
  homepage: http://www.newrelic.com
@@ -275,7 +277,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
275
277
  requirements: []
276
278
 
277
279
  rubyforge_project: newrelic
278
- rubygems_version: 1.3.4
280
+ rubygems_version: 1.3.5
279
281
  signing_key:
280
282
  specification_version: 3
281
283
  summary: New Relic Ruby Performance Monitoring Agent