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.
- data.tar.gz.sig +0 -0
- data/CHANGELOG +73 -0
- data/README.md +1 -1
- data/Rakefile +1 -5
- data/lib/new_relic/agent.rb +1 -0
- data/lib/new_relic/agent/agent.rb +47 -18
- data/lib/new_relic/agent/agent_logger.rb +11 -1
- data/lib/new_relic/agent/configuration/default_source.rb +85 -1
- data/lib/new_relic/agent/configuration/manager.rb +5 -1
- data/lib/new_relic/agent/datastores/mongo.rb +8 -3
- data/lib/new_relic/agent/harvester.rb +5 -1
- data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +1 -0
- data/lib/new_relic/agent/instrumentation/active_merchant.rb +7 -3
- data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +13 -3
- data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +7 -1
- data/lib/new_relic/agent/instrumentation/sidekiq.rb +3 -1
- data/lib/new_relic/agent/instrumentation/sinatra.rb +3 -1
- data/lib/new_relic/agent/new_relic_service.rb +8 -0
- data/lib/new_relic/agent/request_sampler.rb +1 -1
- data/lib/new_relic/agent/sampler.rb +22 -2
- data/lib/new_relic/agent/sampler_collection.rb +13 -1
- data/lib/new_relic/agent/samplers/cpu_sampler.rb +3 -1
- data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +2 -1
- data/lib/new_relic/agent/samplers/memory_sampler.rb +2 -1
- data/lib/new_relic/agent/samplers/object_sampler.rb +1 -3
- data/lib/new_relic/agent/samplers/vm_sampler.rb +126 -0
- data/lib/new_relic/agent/stats.rb +0 -15
- data/lib/new_relic/agent/stats_engine/gc_profiler.rb +66 -75
- data/lib/new_relic/agent/stats_engine/stats_hash.rb +1 -1
- data/lib/new_relic/agent/supported_versions.rb +2 -2
- data/lib/new_relic/agent/transaction.rb +6 -3
- data/lib/new_relic/agent/vm/monotonic_gc_profiler.rb +17 -5
- data/lib/new_relic/agent/vm/mri_vm.rb +2 -1
- data/lib/new_relic/agent/vm/snapshot.rb +5 -1
- data/lib/new_relic/control/instance_methods.rb +8 -5
- data/lib/new_relic/control/instrumentation.rb +0 -9
- data/lib/new_relic/environment_report.rb +1 -1
- data/lib/new_relic/language_support.rb +4 -0
- data/lib/new_relic/local_environment.rb +39 -14
- data/lib/new_relic/noticed_error.rb +7 -4
- data/lib/new_relic/rack/browser_monitoring.rb +16 -3
- data/lib/new_relic/version.rb +2 -2
- data/newrelic_rpm.gemspec +1 -1
- data/test/agent_helper.rb +5 -3
- data/test/environments/lib/environments/runner.rb +8 -7
- data/test/environments/norails/Gemfile +1 -1
- data/test/environments/rails21/Gemfile +1 -0
- data/test/environments/rails22/Gemfile +1 -0
- data/test/environments/rails23/Gemfile +1 -0
- data/test/environments/rails30/Gemfile +4 -1
- data/test/environments/rails31/Gemfile +4 -1
- data/test/environments/rails32/Gemfile +3 -4
- data/test/environments/rails40/Gemfile +1 -1
- data/test/environments/rails41/Gemfile +1 -1
- data/test/flaky_proxy/lib/flaky_proxy/proxy.rb +1 -0
- data/test/multiverse/lib/multiverse/output_collector.rb +3 -1
- data/test/multiverse/lib/multiverse/runner.rb +2 -10
- data/test/multiverse/lib/multiverse/suite.rb +100 -30
- data/test/multiverse/suites/activemerchant/Envfile +16 -0
- data/test/multiverse/suites/activemerchant/activemerchant_test.rb +65 -0
- data/test/multiverse/suites/agent_only/custom_queue_time_test.rb +57 -0
- data/test/multiverse/suites/config_file_loading/config_file_loading_test.rb +1 -1
- data/test/multiverse/suites/mongo/Envfile +9 -1
- data/test/multiverse/suites/rails/Envfile +2 -2
- data/test/multiverse/suites/rails/app.rb +3 -0
- data/test/multiverse/suites/rails/bad_instrumentation_test.rb +0 -2
- data/test/multiverse/suites/rails/error_tracing_test.rb +1 -2
- data/test/multiverse/suites/rails/gc_instrumentation_test.rb +17 -8
- data/test/multiverse/suites/rails/ignore_test.rb +0 -2
- data/test/multiverse/suites/rails/mongrel_queue_depth_test.rb +0 -2
- data/test/multiverse/suites/rails/queue_time_test.rb +40 -11
- data/test/multiverse/suites/rails/request_statistics_test.rb +0 -3
- data/test/multiverse/suites/rails/view_instrumentation_test.rb +0 -2
- data/test/multiverse/suites/sidekiq/Envfile +7 -2
- data/test/multiverse/suites/sinatra/Envfile +1 -1
- data/test/multiverse/suites/sinatra/nested_middleware_test.rb +41 -0
- data/test/multiverse/suites/sinatra/sinatra_metric_explosion_test.rb +1 -1
- data/test/new_relic/agent/agent/connect_test.rb +32 -4
- data/test/new_relic/agent/agent/start_test.rb +9 -1
- data/test/new_relic/agent/agent_logger_test.rb +23 -2
- data/test/new_relic/agent/agent_test.rb +49 -7
- data/test/new_relic/agent/configuration/manager_test.rb +8 -0
- data/test/new_relic/agent/configuration/orphan_configuration_test.rb +7 -0
- data/test/new_relic/agent/cross_app_monitor_test.rb +5 -6
- data/test/new_relic/agent/harvester_test.rb +13 -8
- data/test/new_relic/agent/instrumentation/action_controller_subscriber_test.rb +28 -7
- data/test/new_relic/agent/instrumentation/controller_instrumentation_test.rb +32 -21
- data/test/new_relic/agent/new_relic_service_test.rb +14 -0
- data/test/new_relic/agent/request_sampler_test.rb +5 -3
- data/test/new_relic/agent/rpm_agent_test.rb +2 -3
- data/test/new_relic/agent/sampler_collection_test.rb +15 -5
- data/test/new_relic/agent/sampler_test.rb +43 -0
- data/test/new_relic/agent/{cpu_sampler_test.rb → samplers/cpu_sampler_test.rb} +1 -1
- data/test/new_relic/agent/samplers/vm_sampler_test.rb +349 -0
- data/test/new_relic/agent/stats_engine/gc_profiler_test.rb +165 -44
- data/test/new_relic/agent/stats_hash_test.rb +1 -1
- data/test/new_relic/agent/transaction_test.rb +14 -0
- data/test/new_relic/agent/vm/monotonic_gc_profiler_test.rb +5 -5
- data/test/new_relic/agent/vm/mri_vm_test.rb +7 -0
- data/test/new_relic/agent/vm/snapshot_test.rb +5 -0
- data/test/new_relic/agent_test.rb +2 -2
- data/test/new_relic/control/instance_methods_test.rb +30 -0
- data/test/new_relic/control_test.rb +43 -21
- data/test/new_relic/dispatcher_test.rb +5 -0
- data/test/new_relic/local_environment_test.rb +3 -26
- data/test/new_relic/multiverse_helpers.rb +5 -0
- data/test/new_relic/noticed_error_test.rb +7 -0
- data/test/new_relic/rack/browser_monitoring_test.rb +13 -14
- data/test/test_helper.rb +2 -1
- metadata +56 -68
- metadata.gz.sig +1 -1
- data/lib/new_relic/agent/instrumentation/puma.rb +0 -25
- data/lib/new_relic/agent/instrumentation/unicorn_instrumentation.rb +0 -26
- data/test/multiverse/script/run_one +0 -5
- data/test/rum/basic.result.html +0 -10
- data/test/rum/basic.source.html +0 -10
- data/test/rum/comments1.result.html +0 -24
- data/test/rum/comments1.source.html +0 -24
- data/test/rum/comments2.result.html +0 -24
- data/test/rum/comments2.source.html +0 -24
- data/test/rum/gt_in_quotes1.result.html +0 -27
- data/test/rum/gt_in_quotes1.source.html +0 -27
- data/test/rum/gt_in_quotes2.result.html +0 -24
- data/test/rum/gt_in_quotes2.source.html +0 -24
- data/test/rum/gt_in_quotes_mismatch.result.html +0 -24
- data/test/rum/gt_in_quotes_mismatch.source.html +0 -24
- data/test/rum/gt_in_single_quotes1.result.html +0 -25
- data/test/rum/gt_in_single_quotes1.source.html +0 -25
- data/test/rum/gt_in_single_quotes_mismatch.result.html +0 -25
- data/test/rum/gt_in_single_quotes_mismatch.source.html +0 -25
- data/test/rum/incomplete_non_meta_tags.result.html +0 -10
- data/test/rum/incomplete_non_meta_tags.source.html +0 -10
- data/test/rum/no_body.result.html +0 -21
- data/test/rum/no_body.source.html +0 -21
- data/test/rum/no_header.result.html +0 -7
- data/test/rum/no_header.source.html +0 -7
- data/test/rum/no_html_and_no_header.result.html +0 -3
- data/test/rum/no_html_and_no_header.source.html +0 -3
- data/test/rum/no_start_header.result.html +0 -9
- data/test/rum/no_start_header.source.html +0 -9
- data/test/rum/script1.result.html +0 -19
- data/test/rum/script1.source.html +0 -19
- data/test/rum/script2.result.html +0 -17
- data/test/rum/script2.source.html +0 -17
- data/test/rum/x_ua_meta_tag.result.html +0 -10
- data/test/rum/x_ua_meta_tag.source.html +0 -10
- data/test/rum/x_ua_meta_tag_multiline.result.html +0 -11
- data/test/rum/x_ua_meta_tag_multiline.source.html +0 -11
- data/test/rum/x_ua_meta_tag_spaces_around_equals.result.html +0 -10
- data/test/rum/x_ua_meta_tag_spaces_around_equals.source.html +0 -10
- data/test/rum/x_ua_meta_tag_with_others.result.html +0 -11
- data/test/rum/x_ua_meta_tag_with_others.source.html +0 -11
- data/test/rum/x_ua_meta_tag_with_spaces.result.html +0 -10
- 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
|
9
|
-
|
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
|
-
|
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 *.
|
104
|
-
#
|
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(
|
108
|
+
source_files = Dir[File.join(cross_agent_tests_dir, 'rum_loader_insertion_location', "*.html")]
|
107
109
|
|
108
|
-
|
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
|
-
|
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 =
|
119
|
-
NewRelic::Agent.stubs(:browser_timing_header).returns(
|
118
|
+
TestApp.doc = uninstrumented_html
|
119
|
+
NewRelic::Agent.stubs(:browser_timing_header).returns(RUM_PLACEHOLDER)
|
120
120
|
|
121
121
|
get '/'
|
122
122
|
|
123
|
-
|
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 =
|
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(
|
132
|
+
assert_equal(uninstrumented_html, last_response.body)
|
134
133
|
end
|
135
134
|
end
|
136
135
|
|
data/test/test_helper.rb
CHANGED
@@ -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.
|
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-
|
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:
|
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:
|
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.
|
1140
|
-
|
1141
|
-
|
1142
|
-
|
1143
|
-
|
1144
|
-
|
1145
|
-
|
1146
|
-
|
1147
|
-
|
1148
|
-
|
1149
|
-
|
1150
|
-
|
1151
|
-
|
1152
|
-
|
1153
|
-
|
1154
|
-
|
1155
|
-
with
|
1156
|
-
|
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
|
-
|
1
|
+
M�U]��{��5�C�O��2��\4�=U�]�W��`��/K���/���s�����ε��1fiU�T���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
|