newrelic_rpm 2.9.5 → 2.9.6

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 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