newrelic_rpm 2.13.0.beta5 → 2.13.1

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.

Files changed (86) hide show
  1. data/CHANGELOG +4 -0
  2. data/lib/new_relic/agent.rb +50 -50
  3. data/lib/new_relic/agent/agent.rb +24 -19
  4. data/lib/new_relic/agent/busy_calculator.rb +22 -22
  5. data/lib/new_relic/agent/chained_call.rb +3 -3
  6. data/lib/new_relic/agent/error_collector.rb +19 -19
  7. data/lib/new_relic/agent/instrumentation/active_record_instrumentation.rb +11 -11
  8. data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +2 -2
  9. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +43 -43
  10. data/lib/new_relic/agent/instrumentation/data_mapper.rb +6 -6
  11. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +2 -2
  12. data/lib/new_relic/agent/instrumentation/memcache.rb +8 -8
  13. data/lib/new_relic/agent/instrumentation/merb/controller.rb +4 -4
  14. data/lib/new_relic/agent/instrumentation/metric_frame.rb +307 -303
  15. data/lib/new_relic/agent/instrumentation/passenger_instrumentation.rb +8 -8
  16. data/lib/new_relic/agent/instrumentation/rack.rb +2 -2
  17. data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +10 -10
  18. data/lib/new_relic/agent/instrumentation/rails/action_web_service.rb +3 -3
  19. data/lib/new_relic/agent/instrumentation/rails/errors.rb +5 -5
  20. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +5 -5
  21. data/lib/new_relic/agent/instrumentation/sinatra.rb +5 -5
  22. data/lib/new_relic/agent/instrumentation/sunspot.rb +1 -1
  23. data/lib/new_relic/agent/method_tracer.rb +55 -55
  24. data/lib/new_relic/agent/sampler.rb +42 -38
  25. data/lib/new_relic/agent/samplers/cpu_sampler.rb +4 -4
  26. data/lib/new_relic/agent/samplers/delayed_job_lock_sampler.rb +7 -7
  27. data/lib/new_relic/agent/samplers/memory_sampler.rb +11 -11
  28. data/lib/new_relic/agent/samplers/object_sampler.rb +1 -1
  29. data/lib/new_relic/agent/shim_agent.rb +20 -16
  30. data/lib/new_relic/agent/stats_engine.rb +3 -3
  31. data/lib/new_relic/agent/stats_engine/metric_stats.rb +28 -28
  32. data/lib/new_relic/agent/stats_engine/samplers.rb +16 -16
  33. data/lib/new_relic/agent/stats_engine/transactions.rb +25 -25
  34. data/lib/new_relic/agent/transaction_sampler.rb +68 -69
  35. data/lib/new_relic/agent/worker_loop.rb +13 -13
  36. data/lib/new_relic/collection_helper.rb +6 -6
  37. data/lib/new_relic/command.rb +14 -14
  38. data/lib/new_relic/commands/deployments.rb +19 -19
  39. data/lib/new_relic/commands/install.rb +25 -15
  40. data/lib/new_relic/control.rb +25 -25
  41. data/lib/new_relic/control/configuration.rb +17 -17
  42. data/lib/new_relic/control/frameworks/external.rb +3 -3
  43. data/lib/new_relic/control/frameworks/merb.rb +6 -6
  44. data/lib/new_relic/control/frameworks/rails.rb +17 -17
  45. data/lib/new_relic/control/frameworks/rails3.rb +11 -27
  46. data/lib/new_relic/control/frameworks/ruby.rb +6 -6
  47. data/lib/new_relic/control/frameworks/sinatra.rb +4 -4
  48. data/lib/new_relic/control/instrumentation.rb +8 -8
  49. data/lib/new_relic/control/logging_methods.rb +13 -13
  50. data/lib/new_relic/control/profiling.rb +2 -2
  51. data/lib/new_relic/control/server_methods.rb +17 -17
  52. data/lib/new_relic/delayed_job_injection.rb +1 -1
  53. data/lib/new_relic/histogram.rb +73 -71
  54. data/lib/new_relic/local_environment.rb +45 -45
  55. data/lib/new_relic/merbtasks.rb +1 -1
  56. data/lib/new_relic/metric_data.rb +5 -5
  57. data/lib/new_relic/metric_parser.rb +22 -22
  58. data/lib/new_relic/metric_parser/action_mailer.rb +4 -4
  59. data/lib/new_relic/metric_parser/active_merchant.rb +8 -8
  60. data/lib/new_relic/metric_parser/active_record.rb +2 -2
  61. data/lib/new_relic/metric_parser/apdex.rb +86 -51
  62. data/lib/new_relic/metric_parser/controller.rb +10 -10
  63. data/lib/new_relic/metric_parser/controller_cpu.rb +5 -5
  64. data/lib/new_relic/metric_parser/errors.rb +1 -1
  65. data/lib/new_relic/metric_parser/external.rb +3 -3
  66. data/lib/new_relic/metric_parser/mem_cache.rb +2 -2
  67. data/lib/new_relic/metric_parser/other_transaction.rb +7 -7
  68. data/lib/new_relic/metric_parser/view.rb +5 -5
  69. data/lib/new_relic/metric_parser/web_frontend.rb +1 -1
  70. data/lib/new_relic/metric_parser/web_service.rb +1 -1
  71. data/lib/new_relic/metric_spec.rb +13 -13
  72. data/lib/new_relic/noticed_error.rb +4 -4
  73. data/lib/new_relic/rack/developer_mode.rb +33 -33
  74. data/lib/new_relic/rack/metric_app.rb +2 -2
  75. data/lib/new_relic/recipes.rb +9 -9
  76. data/lib/new_relic/stats.rb +57 -57
  77. data/lib/new_relic/timer_lib.rb +2 -2
  78. data/lib/new_relic/transaction_analysis.rb +19 -19
  79. data/lib/new_relic/transaction_sample.rb +101 -101
  80. data/lib/new_relic/url_rule.rb +3 -3
  81. data/lib/new_relic/version.rb +10 -10
  82. data/lib/newrelic_rpm.rb +6 -4
  83. data/lib/tasks/all.rb +1 -1
  84. data/newrelic_rpm.gemspec +3 -3
  85. data/test/new_relic/rack/episodes_test.rb +1 -0
  86. metadata +24 -42
@@ -3,12 +3,12 @@
3
3
  # Insantiated strictly by Marshal.
4
4
  class NewRelic::UrlRule
5
5
  attr_reader :match_expression, :replacement, :eval_order, :terminate_chain
6
-
6
+
7
7
  def apply url
8
8
  return nil
9
9
  end
10
-
10
+
11
11
  class RuleSet
12
-
12
+
13
13
  end
14
14
  end
@@ -3,12 +3,12 @@ module NewRelic
3
3
  module VERSION #:nodoc:
4
4
  MAJOR = 2
5
5
  MINOR = 13
6
- TINY = 0
7
- BUILD = 'beta5' #'0' # Set to nil for a release, 'beta1', 'alpha', etc for prerelease builds
6
+ TINY = 1
7
+ BUILD = nil #'0' # Set to nil for a release, 'beta1', 'alpha', etc for prerelease builds
8
8
  STRING = [MAJOR, MINOR, TINY, BUILD].compact.join('.')
9
9
  end
10
-
11
- # Helper class for managing version comparisons
10
+
11
+ # Helper class for managing version comparisons
12
12
  class VersionNumber
13
13
  attr_reader :parts
14
14
  include Comparable
@@ -19,24 +19,24 @@ module NewRelic
19
19
  def major_version; @parts[0]; end
20
20
  def minor_version; @parts[1]; end
21
21
  def tiny_version; @parts[2]; end
22
-
22
+
23
23
  def <=>(other)
24
24
  other = self.class.new(other) if other.is_a? String
25
25
  self.class.compare(self.parts, other.parts)
26
26
  end
27
-
27
+
28
28
  def to_s
29
29
  @parts.join(".")
30
30
  end
31
-
31
+
32
32
  def hash
33
33
  @parts.hash
34
34
  end
35
-
35
+
36
36
  def eql? other
37
37
  (self <=> other) == 0
38
38
  end
39
-
39
+
40
40
  private
41
41
  def self.compare(parts1, parts2)
42
42
  a, b = parts1.first, parts2.first
@@ -46,7 +46,7 @@ module NewRelic
46
46
  when b.nil? then -compare(parts2, parts1)
47
47
  when a.to_s == b.to_s then compare(parts1[1..-1], parts2[1..-1])
48
48
  when a.is_a?(String) then b.is_a?(Fixnum) ? -1 : (a <=> b)
49
- when b.is_a?(String) then -compare(parts2, parts1)
49
+ when b.is_a?(String) then -compare(parts2, parts1)
50
50
  else # they are both fixnums, not nil
51
51
  a <=> b
52
52
  end
data/lib/newrelic_rpm.rb CHANGED
@@ -1,12 +1,12 @@
1
1
  # == New Relic Initialization
2
- #
2
+ #
3
3
  # When installed as a gem, you can activate the New Relic agent one of the following ways:
4
4
  #
5
5
  # For Rails, add:
6
6
  # config.gem 'newrelic_rpm'
7
7
  # to your initialization sequence.
8
8
  #
9
- # For merb, do
9
+ # For merb, do
10
10
  # dependency 'newrelic_rpm'
11
11
  # in the Merb config/init.rb
12
12
  #
@@ -28,7 +28,7 @@ if defined? Merb
28
28
  end
29
29
  end
30
30
  end
31
- elsif defined?(Rails)
31
+ elsif defined? Rails
32
32
  if Rails.respond_to?(:version) && Rails.version =~ /^3/
33
33
  module NewRelic
34
34
  class Railtie < Rails::Railtie
@@ -37,11 +37,13 @@ elsif defined?(Rails)
37
37
  NewRelic::Control.instance.init_plugin(:config => app.config)
38
38
  end
39
39
  end
40
- end
40
+ end
41
41
  else
42
42
  # After verison 2.0 of Rails we can access the configuration directly.
43
43
  # We need it to add dev mode routes after initialization finished.
44
44
  config = Rails.configuration if defined?(Rails.configuration)
45
45
  NewRelic::Control.instance.init_plugin :config => config
46
46
  end
47
+ else
48
+ NewRelic::Control.instance.init_plugin
47
49
  end
data/lib/tasks/all.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # This is required to load in task definitions from merb
2
2
  Dir.glob(File.join(File.dirname(__FILE__),'*.rake')) do |file|
3
3
  load file
4
- end
4
+ end
data/newrelic_rpm.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{newrelic_rpm}
8
- s.version = "2.13.0.beta5"
8
+ s.version = "2.13.1"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Bill Kayser", "Justin George"]
12
- s.date = %q{2010-07-14}
12
+ s.date = %q{2010-09-08}
13
13
  s.description = %q{New Relic RPM is a Ruby performance management system, developed by
14
14
  New Relic, Inc (http://www.newrelic.com). RPM provides you with deep
15
15
  information about the performance of your Ruby on Rails or Merb
@@ -39,6 +39,7 @@ class EpisodesTest < Test::Unit::TestCase
39
39
  assert_equal 204, v[0]
40
40
  compare_metrics %w[
41
41
  Apdex/Client/4.4
42
+ Apdex/Client/4.4/Mac/Firefox/3.6
42
43
  Client/totaltime
43
44
  Client/frontend
44
45
  Client/backend
metadata CHANGED
@@ -1,14 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newrelic_rpm
3
3
  version: !ruby/object:Gem::Version
4
- hash: 299253505
5
- prerelease: true
4
+ prerelease: false
6
5
  segments:
7
6
  - 2
8
7
  - 13
9
- - 0
10
- - beta5
11
- version: 2.13.0.beta5
8
+ - 1
9
+ version: 2.13.1
12
10
  platform: ruby
13
11
  authors:
14
12
  - Bill Kayser
@@ -17,7 +15,7 @@ autorequire:
17
15
  bindir: bin
18
16
  cert_chain: []
19
17
 
20
- date: 2010-07-14 00:00:00 -07:00
18
+ date: 2010-09-08 00:00:00 -07:00
21
19
  default_executable:
22
20
  dependencies:
23
21
  - !ruby/object:Gem::Dependency
@@ -28,7 +26,6 @@ dependencies:
28
26
  requirements:
29
27
  - - ">="
30
28
  - !ruby/object:Gem::Version
31
- hash: 3
32
29
  segments:
33
30
  - 0
34
31
  version: "0"
@@ -42,7 +39,6 @@ dependencies:
42
39
  requirements:
43
40
  - - ">="
44
41
  - !ruby/object:Gem::Version
45
- hash: 3
46
42
  segments:
47
43
  - 0
48
44
  version: "0"
@@ -56,7 +52,6 @@ dependencies:
56
52
  requirements:
57
53
  - - ">="
58
54
  - !ruby/object:Gem::Version
59
- hash: 3
60
55
  segments:
61
56
  - 0
62
57
  version: "0"
@@ -260,32 +255,23 @@ has_rdoc: true
260
255
  homepage: http://www.github.com/newrelic/rpm
261
256
  licenses: []
262
257
 
263
- post_install_message: |+
264
-
265
- PLEASE NOTE:
266
-
267
- Developer Mode is now a Rack middleware.
268
-
269
- RPM Developer Mode is no longer available in Rails 2.1 and earlier.
270
- However, starting in version 2.12 you can use Developer Mode in any
271
- Rack based framework, in addition to Rails. To install developer mode
272
- in a non-Rails application, just add NewRelic::Rack::DeveloperMode to
273
- your middleware stack.
274
-
275
- If you are using JRuby, we recommend using at least version 1.4 or
276
- later because of issues with the implementation of the timeout library.
277
-
278
- Refer to the README.md file for more information.
279
-
280
- Please see http://support.newrelic.com/faqs/docs/ruby-agent-release-notes
281
- for a complete description of the features and enhancements available
282
- in version 2.13 of the Ruby Agent.
283
-
284
- For details on this specific release, refer to the CHANGELOG file.
285
-
286
- Notice: Developer Mode now supports only Rails 2.3+ - refer to README
287
- for instructions for previous versions
288
-
258
+ post_install_message: "\n\
259
+ PLEASE NOTE:\n\n\
260
+ Developer Mode is now a Rack middleware.\n\n\
261
+ RPM Developer Mode is no longer available in Rails 2.1 and earlier.\n\
262
+ However, starting in version 2.12 you can use Developer Mode in any\n\
263
+ Rack based framework, in addition to Rails. To install developer mode\n\
264
+ in a non-Rails application, just add NewRelic::Rack::DeveloperMode to\n\
265
+ your middleware stack.\n\n\
266
+ If you are using JRuby, we recommend using at least version 1.4 or \n\
267
+ later because of issues with the implementation of the timeout library.\n\n\
268
+ Refer to the README.md file for more information.\n\n\
269
+ Please see http://support.newrelic.com/faqs/docs/ruby-agent-release-notes\n\
270
+ for a complete description of the features and enhancements available\n\
271
+ in version 2.13 of the Ruby Agent.\n\n\
272
+ For details on this specific release, refer to the CHANGELOG file.\n\n\
273
+ Notice: Developer Mode now supports only Rails 2.3+ - refer to README\n\
274
+ for instructions for previous versions\n\n"
289
275
  rdoc_options:
290
276
  - --charset=UTF-8
291
277
  - --line-numbers
@@ -299,21 +285,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
299
285
  requirements:
300
286
  - - ">="
301
287
  - !ruby/object:Gem::Version
302
- hash: 3
303
288
  segments:
304
289
  - 0
305
290
  version: "0"
306
291
  required_rubygems_version: !ruby/object:Gem::Requirement
307
292
  none: false
308
293
  requirements:
309
- - - ">"
294
+ - - ">="
310
295
  - !ruby/object:Gem::Version
311
- hash: 25
312
296
  segments:
313
- - 1
314
- - 3
315
- - 1
316
- version: 1.3.1
297
+ - 0
298
+ version: "0"
317
299
  requirements: []
318
300
 
319
301
  rubyforge_project: