newrelic_rpm 3.7.3.204 → 3.8.0.218

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. data.tar.gz.sig +0 -0
  2. data/CHANGELOG +73 -0
  3. data/README.md +1 -1
  4. data/Rakefile +1 -5
  5. data/lib/new_relic/agent.rb +1 -0
  6. data/lib/new_relic/agent/agent.rb +47 -18
  7. data/lib/new_relic/agent/agent_logger.rb +11 -1
  8. data/lib/new_relic/agent/configuration/default_source.rb +85 -1
  9. data/lib/new_relic/agent/configuration/manager.rb +5 -1
  10. data/lib/new_relic/agent/datastores/mongo.rb +8 -3
  11. data/lib/new_relic/agent/harvester.rb +5 -1
  12. data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +1 -0
  13. data/lib/new_relic/agent/instrumentation/active_merchant.rb +7 -3
  14. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +13 -3
  15. data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +7 -1
  16. data/lib/new_relic/agent/instrumentation/sidekiq.rb +3 -1
  17. data/lib/new_relic/agent/instrumentation/sinatra.rb +3 -1
  18. data/lib/new_relic/agent/new_relic_service.rb +8 -0
  19. data/lib/new_relic/agent/request_sampler.rb +1 -1
  20. data/lib/new_relic/agent/sampler.rb +22 -2
  21. data/lib/new_relic/agent/sampler_collection.rb +13 -1
  22. data/lib/new_relic/agent/samplers/cpu_sampler.rb +3 -1
  23. data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +2 -1
  24. data/lib/new_relic/agent/samplers/memory_sampler.rb +2 -1
  25. data/lib/new_relic/agent/samplers/object_sampler.rb +1 -3
  26. data/lib/new_relic/agent/samplers/vm_sampler.rb +126 -0
  27. data/lib/new_relic/agent/stats.rb +0 -15
  28. data/lib/new_relic/agent/stats_engine/gc_profiler.rb +66 -75
  29. data/lib/new_relic/agent/stats_engine/stats_hash.rb +1 -1
  30. data/lib/new_relic/agent/supported_versions.rb +2 -2
  31. data/lib/new_relic/agent/transaction.rb +6 -3
  32. data/lib/new_relic/agent/vm/monotonic_gc_profiler.rb +17 -5
  33. data/lib/new_relic/agent/vm/mri_vm.rb +2 -1
  34. data/lib/new_relic/agent/vm/snapshot.rb +5 -1
  35. data/lib/new_relic/control/instance_methods.rb +8 -5
  36. data/lib/new_relic/control/instrumentation.rb +0 -9
  37. data/lib/new_relic/environment_report.rb +1 -1
  38. data/lib/new_relic/language_support.rb +4 -0
  39. data/lib/new_relic/local_environment.rb +39 -14
  40. data/lib/new_relic/noticed_error.rb +7 -4
  41. data/lib/new_relic/rack/browser_monitoring.rb +16 -3
  42. data/lib/new_relic/version.rb +2 -2
  43. data/newrelic_rpm.gemspec +1 -1
  44. data/test/agent_helper.rb +5 -3
  45. data/test/environments/lib/environments/runner.rb +8 -7
  46. data/test/environments/norails/Gemfile +1 -1
  47. data/test/environments/rails21/Gemfile +1 -0
  48. data/test/environments/rails22/Gemfile +1 -0
  49. data/test/environments/rails23/Gemfile +1 -0
  50. data/test/environments/rails30/Gemfile +4 -1
  51. data/test/environments/rails31/Gemfile +4 -1
  52. data/test/environments/rails32/Gemfile +3 -4
  53. data/test/environments/rails40/Gemfile +1 -1
  54. data/test/environments/rails41/Gemfile +1 -1
  55. data/test/flaky_proxy/lib/flaky_proxy/proxy.rb +1 -0
  56. data/test/multiverse/lib/multiverse/output_collector.rb +3 -1
  57. data/test/multiverse/lib/multiverse/runner.rb +2 -10
  58. data/test/multiverse/lib/multiverse/suite.rb +100 -30
  59. data/test/multiverse/suites/activemerchant/Envfile +16 -0
  60. data/test/multiverse/suites/activemerchant/activemerchant_test.rb +65 -0
  61. data/test/multiverse/suites/agent_only/custom_queue_time_test.rb +57 -0
  62. data/test/multiverse/suites/config_file_loading/config_file_loading_test.rb +1 -1
  63. data/test/multiverse/suites/mongo/Envfile +9 -1
  64. data/test/multiverse/suites/rails/Envfile +2 -2
  65. data/test/multiverse/suites/rails/app.rb +3 -0
  66. data/test/multiverse/suites/rails/bad_instrumentation_test.rb +0 -2
  67. data/test/multiverse/suites/rails/error_tracing_test.rb +1 -2
  68. data/test/multiverse/suites/rails/gc_instrumentation_test.rb +17 -8
  69. data/test/multiverse/suites/rails/ignore_test.rb +0 -2
  70. data/test/multiverse/suites/rails/mongrel_queue_depth_test.rb +0 -2
  71. data/test/multiverse/suites/rails/queue_time_test.rb +40 -11
  72. data/test/multiverse/suites/rails/request_statistics_test.rb +0 -3
  73. data/test/multiverse/suites/rails/view_instrumentation_test.rb +0 -2
  74. data/test/multiverse/suites/sidekiq/Envfile +7 -2
  75. data/test/multiverse/suites/sinatra/Envfile +1 -1
  76. data/test/multiverse/suites/sinatra/nested_middleware_test.rb +41 -0
  77. data/test/multiverse/suites/sinatra/sinatra_metric_explosion_test.rb +1 -1
  78. data/test/new_relic/agent/agent/connect_test.rb +32 -4
  79. data/test/new_relic/agent/agent/start_test.rb +9 -1
  80. data/test/new_relic/agent/agent_logger_test.rb +23 -2
  81. data/test/new_relic/agent/agent_test.rb +49 -7
  82. data/test/new_relic/agent/configuration/manager_test.rb +8 -0
  83. data/test/new_relic/agent/configuration/orphan_configuration_test.rb +7 -0
  84. data/test/new_relic/agent/cross_app_monitor_test.rb +5 -6
  85. data/test/new_relic/agent/harvester_test.rb +13 -8
  86. data/test/new_relic/agent/instrumentation/action_controller_subscriber_test.rb +28 -7
  87. data/test/new_relic/agent/instrumentation/controller_instrumentation_test.rb +32 -21
  88. data/test/new_relic/agent/new_relic_service_test.rb +14 -0
  89. data/test/new_relic/agent/request_sampler_test.rb +5 -3
  90. data/test/new_relic/agent/rpm_agent_test.rb +2 -3
  91. data/test/new_relic/agent/sampler_collection_test.rb +15 -5
  92. data/test/new_relic/agent/sampler_test.rb +43 -0
  93. data/test/new_relic/agent/{cpu_sampler_test.rb → samplers/cpu_sampler_test.rb} +1 -1
  94. data/test/new_relic/agent/samplers/vm_sampler_test.rb +349 -0
  95. data/test/new_relic/agent/stats_engine/gc_profiler_test.rb +165 -44
  96. data/test/new_relic/agent/stats_hash_test.rb +1 -1
  97. data/test/new_relic/agent/transaction_test.rb +14 -0
  98. data/test/new_relic/agent/vm/monotonic_gc_profiler_test.rb +5 -5
  99. data/test/new_relic/agent/vm/mri_vm_test.rb +7 -0
  100. data/test/new_relic/agent/vm/snapshot_test.rb +5 -0
  101. data/test/new_relic/agent_test.rb +2 -2
  102. data/test/new_relic/control/instance_methods_test.rb +30 -0
  103. data/test/new_relic/control_test.rb +43 -21
  104. data/test/new_relic/dispatcher_test.rb +5 -0
  105. data/test/new_relic/local_environment_test.rb +3 -26
  106. data/test/new_relic/multiverse_helpers.rb +5 -0
  107. data/test/new_relic/noticed_error_test.rb +7 -0
  108. data/test/new_relic/rack/browser_monitoring_test.rb +13 -14
  109. data/test/test_helper.rb +2 -1
  110. metadata +56 -68
  111. metadata.gz.sig +1 -1
  112. data/lib/new_relic/agent/instrumentation/puma.rb +0 -25
  113. data/lib/new_relic/agent/instrumentation/unicorn_instrumentation.rb +0 -26
  114. data/test/multiverse/script/run_one +0 -5
  115. data/test/rum/basic.result.html +0 -10
  116. data/test/rum/basic.source.html +0 -10
  117. data/test/rum/comments1.result.html +0 -24
  118. data/test/rum/comments1.source.html +0 -24
  119. data/test/rum/comments2.result.html +0 -24
  120. data/test/rum/comments2.source.html +0 -24
  121. data/test/rum/gt_in_quotes1.result.html +0 -27
  122. data/test/rum/gt_in_quotes1.source.html +0 -27
  123. data/test/rum/gt_in_quotes2.result.html +0 -24
  124. data/test/rum/gt_in_quotes2.source.html +0 -24
  125. data/test/rum/gt_in_quotes_mismatch.result.html +0 -24
  126. data/test/rum/gt_in_quotes_mismatch.source.html +0 -24
  127. data/test/rum/gt_in_single_quotes1.result.html +0 -25
  128. data/test/rum/gt_in_single_quotes1.source.html +0 -25
  129. data/test/rum/gt_in_single_quotes_mismatch.result.html +0 -25
  130. data/test/rum/gt_in_single_quotes_mismatch.source.html +0 -25
  131. data/test/rum/incomplete_non_meta_tags.result.html +0 -10
  132. data/test/rum/incomplete_non_meta_tags.source.html +0 -10
  133. data/test/rum/no_body.result.html +0 -21
  134. data/test/rum/no_body.source.html +0 -21
  135. data/test/rum/no_header.result.html +0 -7
  136. data/test/rum/no_header.source.html +0 -7
  137. data/test/rum/no_html_and_no_header.result.html +0 -3
  138. data/test/rum/no_html_and_no_header.source.html +0 -3
  139. data/test/rum/no_start_header.result.html +0 -9
  140. data/test/rum/no_start_header.source.html +0 -9
  141. data/test/rum/script1.result.html +0 -19
  142. data/test/rum/script1.source.html +0 -19
  143. data/test/rum/script2.result.html +0 -17
  144. data/test/rum/script2.source.html +0 -17
  145. data/test/rum/x_ua_meta_tag.result.html +0 -10
  146. data/test/rum/x_ua_meta_tag.source.html +0 -10
  147. data/test/rum/x_ua_meta_tag_multiline.result.html +0 -11
  148. data/test/rum/x_ua_meta_tag_multiline.source.html +0 -11
  149. data/test/rum/x_ua_meta_tag_spaces_around_equals.result.html +0 -10
  150. data/test/rum/x_ua_meta_tag_spaces_around_equals.source.html +0 -10
  151. data/test/rum/x_ua_meta_tag_with_others.result.html +0 -11
  152. data/test/rum/x_ua_meta_tag_with_others.source.html +0 -11
  153. data/test/rum/x_ua_meta_tag_with_spaces.result.html +0 -10
  154. data/test/rum/x_ua_meta_tag_with_spaces.source.html +0 -10
@@ -12,6 +12,11 @@ class DispatcherTest < Minitest::Test
12
12
  NewRelic::Agent.reset_config
13
13
  end
14
14
 
15
+ def teardown
16
+ NewRelic::Agent.reset_config
17
+ NewRelic::Control.reset
18
+ end
19
+
15
20
  def assert_dispatcher_reported_to_environment_report(dispatcher)
16
21
  assert_equal dispatcher.to_s, NewRelic::EnvironmentReport.new["Dispatcher"]
17
22
  end
@@ -5,17 +5,9 @@
5
5
  require File.expand_path(File.join(File.dirname(__FILE__),'..', 'test_helper'))
6
6
  class NewRelic::LocalEnvironmentTest < Minitest::Test
7
7
 
8
- def self.teardown
9
- # To remove mock server instances from ObjectSpace
10
- ObjectSpace.garbage_collect
11
- super
8
+ def teardown
9
+ NewRelic::Control.reset
12
10
  end
13
- class MockOptions
14
- def fetch (*args)
15
- 1000
16
- end
17
- end
18
- MOCK_OPTIONS = MockOptions.new
19
11
 
20
12
  def test_passenger
21
13
  class << self
@@ -44,9 +36,7 @@ class NewRelic::LocalEnvironmentTest < Minitest::Test
44
36
 
45
37
  define_mongrel
46
38
 
47
- # One call from LocalEnvironment's initialize, second from first #mongrel call.
48
- # All the rest shouldn't call into ObjectSpace
49
- ObjectSpace.expects(:each_object).with(::Mongrel::HttpServer).twice
39
+ ObjectSpace.expects(:each_object).with(::Mongrel::HttpServer).once
50
40
 
51
41
  e = NewRelic::LocalEnvironment.new
52
42
  5.times { e.mongrel }
@@ -54,19 +44,6 @@ class NewRelic::LocalEnvironmentTest < Minitest::Test
54
44
  ensure
55
45
  Object.send(:remove_const, :Mongrel) if defined?(Mongrel)
56
46
  end
57
-
58
- def test_check_for_mongrel_allows_one_more_check
59
- return unless NewRelic::LanguageSupport.object_space_usable?
60
-
61
- define_mongrel
62
-
63
- ObjectSpace.expects(:each_object).with(::Mongrel::HttpServer).at_least(2)
64
-
65
- e = NewRelic::LocalEnvironment.new
66
- e.send(:check_for_mongrel)
67
- ensure
68
- Object.send(:remove_const, :Mongrel) if defined?(Mongrel)
69
- end
70
47
  end
71
48
 
72
49
  def define_mongrel
@@ -2,6 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
+ require File.expand_path(File.join(File.dirname(__FILE__), "..", "agent_helper"))
6
+
5
7
  module MultiverseHelpers
6
8
 
7
9
  #
@@ -65,6 +67,9 @@ module MultiverseHelpers
65
67
  NewRelic::Agent.instance.transaction_sampler.reset!
66
68
 
67
69
  NewRelic::Agent.shutdown
70
+
71
+ # If we didn't start up right, our Control might not have reset on shutdown
72
+ NewRelic::Control.reset
68
73
  end
69
74
 
70
75
  def run_agent(options={}, &block)
@@ -100,4 +100,11 @@ class NewRelic::Agent::NoticedErrorTest < Minitest::Test
100
100
  assert_truthy error.whitelisted?
101
101
  end
102
102
  end
103
+ def test_handles_exception_with_nil_original_exception
104
+ e = Exception.new('Buffy FOREVER')
105
+ e.stubs(:original_exception).returns(nil)
106
+ error = NewRelic::NoticedError.new(@path, @params, e, @time)
107
+ assert_equal(error.message.to_s, 'Buffy FOREVER')
108
+ end
109
+
103
110
  end
@@ -100,37 +100,36 @@ EOL
100
100
  end
101
101
 
102
102
  # RUM header auto-insertion testing
103
- # We read *.source.html files from the test/rum directory, and then
104
- # compare the results of them to *.result.html files.
103
+ # We read *.html files from the rum_loader_insertion_location directory in
104
+ # cross_agent_tests, strip out the placeholder tokens representing the RUM
105
+ # header manually, and then re-insert, verifying that it ends up in the right
106
+ # place.
105
107
 
106
- source_files = Dir[File.join(File.dirname(__FILE__), "..", "..", "rum", "*.source.html")]
108
+ source_files = Dir[File.join(cross_agent_tests_dir, 'rum_loader_insertion_location', "*.html")]
107
109
 
108
- RUM_LOADER = "|||I AM THE RUM HEADER|||"
109
- RUM_CONFIG = "|||I AM THE RUM FOOTER|||"
110
+ RUM_PLACEHOLDER = "EXPECTED_RUM_LOADER_LOCATION"
110
111
 
111
112
  source_files.each do |source_file|
112
113
  source_filename = File.basename(source_file).gsub(".", "_")
113
- source_html = File.read(source_file)
114
-
115
- result_file = source_file.gsub(".source.", ".result.")
114
+ instrumented_html = File.read(source_file)
115
+ uninstrumented_html = instrumented_html.gsub(RUM_PLACEHOLDER, '')
116
116
 
117
117
  define_method("test_#{source_filename}") do
118
- TestApp.doc = source_html
119
- NewRelic::Agent.stubs(:browser_timing_header).returns(RUM_CONFIG + RUM_LOADER)
118
+ TestApp.doc = uninstrumented_html
119
+ NewRelic::Agent.stubs(:browser_timing_header).returns(RUM_PLACEHOLDER)
120
120
 
121
121
  get '/'
122
122
 
123
- expected_content = File.read(result_file)
124
- assert_equal(expected_content, last_response.body)
123
+ assert_equal(instrumented_html, last_response.body)
125
124
  end
126
125
 
127
126
  define_method("test_dont_touch_#{source_filename}") do
128
- TestApp.doc = source_html
127
+ TestApp.doc = uninstrumented_html
129
128
  NewRelic::Rack::BrowserMonitoring.any_instance.stubs(:should_instrument?).returns(false)
130
129
 
131
130
  get '/'
132
131
 
133
- assert_equal(source_html, last_response.body)
132
+ assert_equal(uninstrumented_html, last_response.body)
134
133
  end
135
134
  end
136
135
 
@@ -76,7 +76,8 @@ def default_service(stubbed_method_overrides = {})
76
76
  :sql_trace_data => nil,
77
77
  :get_agent_commands => [],
78
78
  :agent_command_results => nil,
79
- :analytic_event_data => nil
79
+ :analytic_event_data => nil,
80
+ :valid_to_marshal? => true
80
81
  }
81
82
 
82
83
  service.stubs(stubbed_method_defaults.merge(stubbed_method_overrides))
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: 3.7.3.204
4
+ version: 3.8.0.218
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -41,7 +41,7 @@ cert_chain:
41
41
  K0ZZTXduQWIrVm1OT2h2MVMrc0poYmpaMzBQS2d6NnZMaFQ2dW5pZUNqTGs5
42
42
  d0dHbWxTSwpZamJudkE5cXJhTExhalNqCi0tLS0tRU5EIENFUlRJRklDQVRF
43
43
  LS0tLS0K
44
- date: 2014-03-11 00:00:00.000000000 Z
44
+ date: 2014-04-22 00:00:00.000000000 Z
45
45
  dependencies:
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: rake
@@ -144,17 +144,17 @@ dependencies:
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  none: false
146
146
  requirements:
147
- - - ! '>='
147
+ - - '='
148
148
  - !ruby/object:Gem::Version
149
- version: '0'
149
+ version: 1.3.8
150
150
  type: :development
151
151
  prerelease: false
152
152
  version_requirements: !ruby/object:Gem::Requirement
153
153
  none: false
154
154
  requirements:
155
- - - ! '>='
155
+ - - '='
156
156
  - !ruby/object:Gem::Version
157
- version: '0'
157
+ version: 1.3.8
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: sequel
160
160
  requirement: !ruby/object:Gem::Requirement
@@ -354,7 +354,6 @@ files:
354
354
  - lib/new_relic/agent/instrumentation/net.rb
355
355
  - lib/new_relic/agent/instrumentation/padrino.rb
356
356
  - lib/new_relic/agent/instrumentation/passenger_instrumentation.rb
357
- - lib/new_relic/agent/instrumentation/puma.rb
358
357
  - lib/new_relic/agent/instrumentation/queue_time.rb
359
358
  - lib/new_relic/agent/instrumentation/rack.rb
360
359
  - lib/new_relic/agent/instrumentation/rails/action_controller.rb
@@ -375,7 +374,6 @@ files:
375
374
  - lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb
376
375
  - lib/new_relic/agent/instrumentation/sunspot.rb
377
376
  - lib/new_relic/agent/instrumentation/typhoeus.rb
378
- - lib/new_relic/agent/instrumentation/unicorn_instrumentation.rb
379
377
  - lib/new_relic/agent/internal_agent_error.rb
380
378
  - lib/new_relic/agent/javascript_instrumentor.rb
381
379
  - lib/new_relic/agent/memory_logger.rb
@@ -394,6 +392,7 @@ files:
394
392
  - lib/new_relic/agent/samplers/delayed_job_sampler.rb
395
393
  - lib/new_relic/agent/samplers/memory_sampler.rb
396
394
  - lib/new_relic/agent/samplers/object_sampler.rb
395
+ - lib/new_relic/agent/samplers/vm_sampler.rb
397
396
  - lib/new_relic/agent/shim_agent.rb
398
397
  - lib/new_relic/agent/sql_sampler.rb
399
398
  - lib/new_relic/agent/stats.rb
@@ -716,17 +715,19 @@ files:
716
715
  - test/multiverse/lib/multiverse/output_collector.rb
717
716
  - test/multiverse/lib/multiverse/runner.rb
718
717
  - test/multiverse/lib/multiverse/suite.rb
719
- - test/multiverse/script/run_one
720
718
  - test/multiverse/script/runner
721
719
  - test/multiverse/suites/active_record/Envfile
722
720
  - test/multiverse/suites/active_record/ar_method_aliasing.rb
723
721
  - test/multiverse/suites/active_record/config/newrelic.yml
722
+ - test/multiverse/suites/activemerchant/Envfile
723
+ - test/multiverse/suites/activemerchant/activemerchant_test.rb
724
724
  - test/multiverse/suites/agent_only/Envfile
725
725
  - test/multiverse/suites/agent_only/audit_log_test.rb
726
726
  - test/multiverse/suites/agent_only/before_suite.rb
727
727
  - test/multiverse/suites/agent_only/collector_exception_handling_test.rb
728
728
  - test/multiverse/suites/agent_only/config/newrelic.yml
729
729
  - test/multiverse/suites/agent_only/cross_application_tracing_test.rb
730
+ - test/multiverse/suites/agent_only/custom_queue_time_test.rb
730
731
  - test/multiverse/suites/agent_only/encoding_handling_test.rb
731
732
  - test/multiverse/suites/agent_only/harvest_timestamps_test.rb
732
733
  - test/multiverse/suites/agent_only/http_response_code_test.rb
@@ -813,6 +814,7 @@ files:
813
814
  - test/multiverse/suites/sinatra/Envfile
814
815
  - test/multiverse/suites/sinatra/config/newrelic.yml
815
816
  - test/multiverse/suites/sinatra/ignoring_test.rb
817
+ - test/multiverse/suites/sinatra/nested_middleware_test.rb
816
818
  - test/multiverse/suites/sinatra/sinatra_classic_test.rb
817
819
  - test/multiverse/suites/sinatra/sinatra_error_tracing_test.rb
818
820
  - test/multiverse/suites/sinatra/sinatra_metric_explosion_test.rb
@@ -858,7 +860,6 @@ files:
858
860
  - test/new_relic/agent/configuration/orphan_configuration_test.rb
859
861
  - test/new_relic/agent/configuration/server_source_test.rb
860
862
  - test/new_relic/agent/configuration/yaml_source_test.rb
861
- - test/new_relic/agent/cpu_sampler_test.rb
862
863
  - test/new_relic/agent/cross_app_monitor_test.rb
863
864
  - test/new_relic/agent/cross_app_tracing_test.rb
864
865
  - test/new_relic/agent/database/postgres_explain_obfuscator_test.rb
@@ -905,6 +906,8 @@ files:
905
906
  - test/new_relic/agent/sampled_buffer_test.rb
906
907
  - test/new_relic/agent/sampler_collection_test.rb
907
908
  - test/new_relic/agent/sampler_test.rb
909
+ - test/new_relic/agent/samplers/cpu_sampler_test.rb
910
+ - test/new_relic/agent/samplers/vm_sampler_test.rb
908
911
  - test/new_relic/agent/shim_agent_test.rb
909
912
  - test/new_relic/agent/sql_sampler_test.rb
910
913
  - test/new_relic/agent/stats_engine/gc_profiler_test.rb
@@ -941,6 +944,7 @@ files:
941
944
  - test/new_relic/collection_helper_test.rb
942
945
  - test/new_relic/control/class_methods_test.rb
943
946
  - test/new_relic/control/frameworks/rails_test.rb
947
+ - test/new_relic/control/instance_methods_test.rb
944
948
  - test/new_relic/control_test.rb
945
949
  - test/new_relic/data_container_tests.rb
946
950
  - test/new_relic/dependency_detection_test.rb
@@ -1006,46 +1010,6 @@ files:
1006
1010
  - test/performance/suites/thread_profiling.rb
1007
1011
  - test/performance/suites/trace_execution_scoped.rb
1008
1012
  - test/performance/suites/transaction_tracing.rb
1009
- - test/rum/basic.result.html
1010
- - test/rum/basic.source.html
1011
- - test/rum/comments1.result.html
1012
- - test/rum/comments1.source.html
1013
- - test/rum/comments2.result.html
1014
- - test/rum/comments2.source.html
1015
- - test/rum/gt_in_quotes1.result.html
1016
- - test/rum/gt_in_quotes1.source.html
1017
- - test/rum/gt_in_quotes2.result.html
1018
- - test/rum/gt_in_quotes2.source.html
1019
- - test/rum/gt_in_quotes_mismatch.result.html
1020
- - test/rum/gt_in_quotes_mismatch.source.html
1021
- - test/rum/gt_in_single_quotes1.result.html
1022
- - test/rum/gt_in_single_quotes1.source.html
1023
- - test/rum/gt_in_single_quotes_mismatch.result.html
1024
- - test/rum/gt_in_single_quotes_mismatch.source.html
1025
- - test/rum/incomplete_non_meta_tags.result.html
1026
- - test/rum/incomplete_non_meta_tags.source.html
1027
- - test/rum/no_body.result.html
1028
- - test/rum/no_body.source.html
1029
- - test/rum/no_header.result.html
1030
- - test/rum/no_header.source.html
1031
- - test/rum/no_html_and_no_header.result.html
1032
- - test/rum/no_html_and_no_header.source.html
1033
- - test/rum/no_start_header.result.html
1034
- - test/rum/no_start_header.source.html
1035
- - test/rum/script1.result.html
1036
- - test/rum/script1.source.html
1037
- - test/rum/script2.result.html
1038
- - test/rum/script2.source.html
1039
- - test/rum/x_ua_meta_tag.result.html
1040
- - test/rum/x_ua_meta_tag.source.html
1041
- - test/rum/x_ua_meta_tag_multiline.result.html
1042
- - test/rum/x_ua_meta_tag_multiline.source.html
1043
- - test/rum/x_ua_meta_tag_spaces_around_equals.result.html
1044
- - test/rum/x_ua_meta_tag_spaces_around_equals.source.html
1045
- - test/rum/x_ua_meta_tag_with_others.result.html
1046
- - test/rum/x_ua_meta_tag_with_others.source.html
1047
- - test/rum/x_ua_meta_tag_with_spaces.result.html
1048
- - test/rum/x_ua_meta_tag_with_spaces.source.html
1049
1013
  - test/script/build_test_gem.sh
1050
1014
  - test/script/ci.sh
1051
1015
  - test/script/ci_agent-tests_runner.sh
@@ -1136,24 +1100,48 @@ licenses:
1136
1100
  - New Relic
1137
1101
  - MIT
1138
1102
  - Ruby
1139
- post_install_message: ! "# New Relic Ruby Agent Release Notes #\n\n## v3.7.3 ##\n\n*
1140
- Obfuscation for PostgreSQL explain plans\n\n Fixes an agent bug with PostgreSQL
1141
- where parameters from the original query\n could appear in explain plans sent to
1142
- New Relic servers, even when SQL\n obfuscation was enabled. Parameters from the
1143
- query are now masked in explain\n plans prior to transmission when transaction_tracer.record_sql
1144
- is set to\n 'obfuscated' (the default setting).\n\n For more information, see:\n
1145
- \ https://docs.newrelic.com/docs/traces/security-for-postgresql-explain-plans\n\n*
1146
- More accurate categorization of SQL statements\n\n Some SQL SELECT statements that
1147
- were previously being mis-categorized as\n 'SQL - OTHER' will now correctly be
1148
- tagged as 'SQL - SELECT'. This\n particularly affected ActiveRecord users using
1149
- PostgreSQL.\n\n* More reliable Typhoeus instrumentation\n\n Fixed an issue where
1150
- an exception raised from a user-specified on_complete\n block would cause our Typhoeus
1151
- instrumentation to fail to record the request.\n\n* Fix for Puma 2.8.0 cluster mode
1152
- (3.7.3.204)\n\n Puma's 2.8.0 release renamed a hook New Relic used to support Puma's
1153
- cluster\n mode. This resulted in missing data for users running Puma. Thanks Benjamin\n
1154
- \ Kudria for the fix!\n\n* Fix for deployment command bug (3.7.3.204)\n\n Problems
1155
- with file loading order could result in `newrelic deployments`\n failing with an
1156
- unrecognized command error. This has been fixed.\n\n See https://github.com/newrelic/rpm/blob/master/CHANGELOG
1103
+ post_install_message: ! "# New Relic Ruby Agent Release Notes #\n\n## v3.8.0 ##\n\n*
1104
+ Better support for forking and daemonizing dispatchers (e.g. Puma, Unicorn)\n\n
1105
+ \ The agent should now work out-of-the box with no special configuration on\n servers
1106
+ that fork or daemonize themselves (such as Unicorn or Puma in some\n configurations).
1107
+ The agent's background thread will be automatically restarted\n after the first
1108
+ transaction processed within each child process.\n\n This change means it's no
1109
+ longer necessary to set the\n 'restart_thread_in_children setting' in your agent
1110
+ configuration file if you\n were doing so previously.\n\n* Rails 4.1 support\n\n
1111
+ \ Rails 4.1 has shipped, and the Ruby agent is ready for it! We've been running\n
1112
+ \ our test suites against the release candidates with no significant issues, so\n
1113
+ \ we're happy to announce full compatibility with this new release of Rails.\n\n*
1114
+ Ruby VM measurements\n\n The Ruby agent now records more detailed information about
1115
+ the performance and\n behavior of the Ruby VM, mainly focused around Ruby's garbage
1116
+ collector. This\n information is exposed on the new 'Ruby VM' tab in the UI. For
1117
+ details about\n what is recorded, see:\n\n http://docs.newrelic.com/docs/ruby/ruby-vm-stats\n\n*
1118
+ Separate in-transaction GC timings for web and background processes\n\n Previously,
1119
+ an application with GC instrumentation enabled, and both web and\n background processes
1120
+ reporting in to it would show an overly inflated GC band\n on the application overview
1121
+ graph, because data from both web and non-web\n transactions would be included.
1122
+ This has been fixed, and GC time during web\n and non-web transactions is now tracked
1123
+ separately.\n\n* More accurate GC measurements on multi-threaded web servers\n\n
1124
+ \ The agent could previously have reported inaccurate GC times on multi-threaded\n
1125
+ \ web servers such as Puma. It will now correctly report GC timings in\n multi-threaded
1126
+ contexts.\n\n* Improved ActiveMerchant instrumentation\n\n The agent will now trace
1127
+ the store, unstore, and update methods on\n ActiveMerchant gateways. In addition,
1128
+ a bug preventing ActiveMerchant\n instrumentation from working on Ruby 1.9+ has
1129
+ been fixed.\n\n Thanks to Troex Nevelin for the contribution!\n\n* More robust
1130
+ Real User Monitoring script injection with charset meta tags\n\n Previous versions
1131
+ of the agent with Real User Monitoring enabled could have\n injected JavaScript
1132
+ code into the page above a charset meta tag. By the HTML5\n spec, the charset tag
1133
+ must appear in the first 1024 bytes of the page, so the\n Ruby agent will now attempt
1134
+ to inject RUM script after a charset tag, if one\n is present.\n\n* More robust
1135
+ connection sequence with New Relic servers\n\n A rare bug that could cause the
1136
+ agent's initial connection handshake with\n New Relic servers to silently fail
1137
+ has been fixed, and better logging has been\n added to the related code path to
1138
+ ease diagnosis of any future issues.\n\n* Prevent over-counting of queue time with
1139
+ nested transactions\n\n When using add_transaction_tracer on methods called from
1140
+ within a Rails or\n Sinatra action, it was previously possible to get inflated
1141
+ queue time\n measurements, because queue time would be recorded for both the outer\n
1142
+ \ transaction (the Rails or Sinatra action) and the inner transaction (the\n method
1143
+ given to add_transaction_tracer). This has been fixed, so only the\n outermost
1144
+ transaction will now record queue time.\n\n See https://github.com/newrelic/rpm/blob/master/CHANGELOG
1157
1145
  for a full list of\n changes.\n"
1158
1146
  rdoc_options:
1159
1147
  - --line-numbers
metadata.gz.sig CHANGED
@@ -1 +1 @@
1
- EPNw���˯.&QŇ��6Pc��NC��������-���� n}5�h3>z/h�J?�5,�].�"]�,8 �7+��w?Et)v����T����Ax*��m�`���P>$��K�� -塖�IG@�]�����@��T0\Wur�����=�K �
1
+ MU]��{��5C�O��2��\4�=U�]�W��`��/K���/�� �s�����ε��1fiUT���e_�4�[�ko#̔�s�z��7�B����e;�(B���i6�Ҽ{�)_���hDt��������T7�>�T��߮%2s8���Z]=sͮw���t���9��u�~��
@@ -1,25 +0,0 @@
1
- # encoding: utf-8
2
- # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
-
5
- DependencyDetection.defer do
6
- named :puma
7
-
8
- depends_on do
9
- defined?(::Puma) &&
10
- defined?(::Puma::Const::VERSION) &&
11
- NewRelic::VersionNumber.new(::Puma::Const::VERSION) > NewRelic::VersionNumber.new("2.0.0") &&
12
- ::Puma.respond_to?(:cli_config)
13
- end
14
-
15
- executes do
16
- ::NewRelic::Agent.logger.info 'Installing Puma cluster mode support'
17
- end
18
-
19
- executes do
20
- option_name = [:worker_boot, :before_worker_boot].detect {|option| Puma.cli_config.options.has_key? option }
21
- Puma.cli_config.options[option_name] << Proc.new do
22
- ::NewRelic::Agent.after_fork(:force_reconnect => true)
23
- end
24
- end
25
- end
@@ -1,26 +0,0 @@
1
- # encoding: utf-8
2
- # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
-
5
- DependencyDetection.defer do
6
- @name = :unicorn
7
-
8
- depends_on do
9
- defined?(::Unicorn) && defined?(::Unicorn::HttpServer)
10
- end
11
-
12
- executes do
13
- ::NewRelic::Agent.logger.info 'Installing Unicorn instrumentation'
14
- ::NewRelic::Agent.logger.info 'Detected Unicorn, please see additional documentation: https://newrelic.com/docs/troubleshooting/im-using-unicorn-and-i-dont-see-any-data'
15
- end
16
-
17
- executes do
18
- Unicorn::HttpServer.class_eval do
19
- old_worker_loop = instance_method(:worker_loop)
20
- define_method(:worker_loop) do |worker|
21
- NewRelic::Agent.after_fork(:force_reconnect => true)
22
- old_worker_loop.bind(self).call(worker)
23
- end
24
- end
25
- end
26
- end
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'fileutils'
3
- require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'multiverse', 'environment'))
4
-
5
- Multiverse::Runner.run_one ARGV[0]
@@ -1,10 +0,0 @@
1
- <html>
2
- <head>|||I AM THE RUM FOOTER||||||I AM THE RUM HEADER|||
3
- <title>im a title</title>
4
- <meta some-crap="1"/>
5
- <script>
6
- junk
7
- </script>
8
- </head>
9
- <body>im some body text</body>
10
- </html>