newrelic_rpm 6.12.0.367 → 7.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +4 -0
- data/CHANGELOG.md +269 -8
- data/CONTRIBUTING.md +54 -11
- data/README.md +40 -16
- data/ROADMAP.md +24 -0
- data/lib/new_relic/agent.rb +3 -10
- data/lib/new_relic/agent/agent.rb +6 -4
- data/lib/new_relic/agent/audit_logger.rb +10 -0
- data/lib/new_relic/agent/autostart.rb +1 -2
- data/lib/new_relic/agent/configuration/default_source.rb +294 -102
- data/lib/new_relic/agent/configuration/manager.rb +2 -2
- data/lib/new_relic/agent/database_adapter.rb +33 -0
- data/lib/new_relic/agent/datastores/redis.rb +0 -4
- data/lib/new_relic/agent/distributed_tracing.rb +0 -66
- data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +2 -2
- data/lib/new_relic/agent/http_clients/uri_util.rb +8 -8
- data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +4 -5
- data/lib/new_relic/agent/instrumentation/active_record_helper.rb +21 -68
- data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +0 -16
- data/lib/new_relic/agent/instrumentation/active_record_prepend.rb +23 -57
- data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +0 -15
- data/lib/new_relic/agent/instrumentation/bunny.rb +10 -196
- data/lib/new_relic/agent/instrumentation/bunny/chain.rb +45 -0
- data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +152 -0
- data/lib/new_relic/agent/instrumentation/bunny/prepend.rb +35 -0
- data/lib/new_relic/agent/instrumentation/curb.rb +9 -259
- data/lib/new_relic/agent/instrumentation/curb/chain.rb +93 -0
- data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +222 -0
- data/lib/new_relic/agent/instrumentation/curb/prepend.rb +63 -0
- data/lib/new_relic/agent/instrumentation/delayed_job/chain.rb +38 -0
- data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +53 -0
- data/lib/new_relic/agent/instrumentation/delayed_job/prepend.rb +34 -0
- data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +8 -84
- data/lib/new_relic/agent/instrumentation/excon.rb +2 -1
- data/lib/new_relic/agent/instrumentation/grape.rb +13 -113
- data/lib/new_relic/agent/instrumentation/grape/chain.rb +25 -0
- data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +100 -0
- data/lib/new_relic/agent/instrumentation/grape/prepend.rb +17 -0
- data/lib/new_relic/agent/instrumentation/httpclient.rb +8 -30
- data/lib/new_relic/agent/instrumentation/httpclient/chain.rb +25 -0
- data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +38 -0
- data/lib/new_relic/agent/instrumentation/httpclient/prepend.rb +17 -0
- data/lib/new_relic/agent/instrumentation/httprb.rb +29 -0
- data/lib/new_relic/agent/instrumentation/httprb/chain.rb +22 -0
- data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +30 -0
- data/lib/new_relic/agent/instrumentation/httprb/prepend.rb +15 -0
- data/lib/new_relic/agent/instrumentation/memcache.rb +54 -69
- data/lib/new_relic/agent/instrumentation/memcache/chain.rb +16 -0
- data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +38 -121
- data/lib/new_relic/agent/instrumentation/memcache/helper.rb +56 -0
- data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +88 -0
- data/lib/new_relic/agent/instrumentation/memcache/prepend.rb +88 -0
- data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +4 -10
- data/lib/new_relic/agent/instrumentation/mongo.rb +7 -0
- data/lib/new_relic/agent/instrumentation/net_http.rb +39 -0
- data/lib/new_relic/agent/instrumentation/net_http/chain.rb +25 -0
- data/lib/new_relic/agent/instrumentation/net_http/instrumentation.rb +40 -0
- data/lib/new_relic/agent/instrumentation/net_http/prepend.rb +21 -0
- data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +1 -1
- data/lib/new_relic/agent/instrumentation/padrino.rb +18 -75
- data/lib/new_relic/agent/instrumentation/padrino/chain.rb +34 -0
- data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +27 -0
- data/lib/new_relic/agent/instrumentation/padrino/prepend.rb +20 -0
- data/lib/new_relic/agent/instrumentation/rack.rb +29 -160
- data/lib/new_relic/agent/instrumentation/rack/chain.rb +57 -0
- data/lib/new_relic/agent/instrumentation/rack/helpers.rb +32 -0
- data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +73 -0
- data/lib/new_relic/agent/instrumentation/rack/prepend.rb +36 -0
- data/lib/new_relic/agent/instrumentation/rake.rb +13 -187
- data/lib/new_relic/agent/instrumentation/rake/chain.rb +25 -0
- data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +144 -0
- data/lib/new_relic/agent/instrumentation/rake/prepend.rb +14 -0
- data/lib/new_relic/agent/instrumentation/redis.rb +10 -188
- data/lib/new_relic/agent/instrumentation/redis/chain.rb +34 -0
- data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +65 -0
- data/lib/new_relic/agent/instrumentation/redis/prepend.rb +24 -0
- data/lib/new_relic/agent/instrumentation/resque.rb +8 -28
- data/lib/new_relic/agent/instrumentation/resque/chain.rb +22 -0
- data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +33 -0
- data/lib/new_relic/agent/instrumentation/resque/prepend.rb +16 -0
- data/lib/new_relic/agent/instrumentation/sidekiq.rb +1 -1
- data/lib/new_relic/agent/instrumentation/sinatra.rb +20 -198
- data/lib/new_relic/agent/instrumentation/sinatra/chain.rb +55 -0
- data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +29 -34
- data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +118 -0
- data/lib/new_relic/agent/instrumentation/sinatra/prepend.rb +33 -0
- data/lib/new_relic/agent/instrumentation/typhoeus.rb +10 -89
- data/lib/new_relic/agent/instrumentation/typhoeus/chain.rb +22 -0
- data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +82 -0
- data/lib/new_relic/agent/instrumentation/typhoeus/prepend.rb +14 -0
- data/lib/new_relic/agent/method_tracer.rb +6 -16
- data/lib/new_relic/agent/new_relic_service.rb +19 -5
- data/lib/new_relic/agent/samplers/memory_sampler.rb +1 -1
- data/lib/new_relic/agent/span_event_primitive.rb +10 -8
- data/lib/new_relic/agent/sql_sampler.rb +1 -1
- data/lib/new_relic/agent/stats_engine/gc_profiler.rb +1 -1
- data/lib/new_relic/agent/transaction.rb +1 -4
- data/lib/new_relic/agent/transaction/abstract_segment.rb +1 -1
- data/lib/new_relic/agent/transaction/distributed_tracer.rb +12 -6
- data/lib/new_relic/agent/transaction/external_request_segment.rb +2 -2
- data/lib/new_relic/agent/transaction/message_broker_segment.rb +1 -0
- data/lib/new_relic/agent/transaction/segment.rb +9 -5
- data/lib/new_relic/agent/vm/mri_vm.rb +6 -4
- data/lib/new_relic/cli/commands/deployments.rb +0 -1
- data/lib/new_relic/constants.rb +4 -0
- data/lib/new_relic/control/frameworks/rails.rb +11 -9
- data/lib/new_relic/control/instance_methods.rb +1 -0
- data/lib/new_relic/dependency_detection.rb +119 -9
- data/lib/new_relic/environment_report.rb +1 -7
- data/lib/new_relic/noticed_error.rb +1 -5
- data/lib/new_relic/supportability_helper.rb +3 -2
- data/lib/new_relic/version.rb +2 -2
- data/lib/tasks/multiverse.rb +9 -0
- data/newrelic_rpm.gemspec +2 -3
- data/test/agent_helper.rb +7 -0
- metadata +55 -12
- data/.travis.yml +0 -240
- data/CODE_OF_CONDUCT.md +0 -46
- data/cert/cacert.pem +0 -1177
- data/lib/new_relic/agent/instrumentation/http.rb +0 -49
- data/lib/new_relic/agent/instrumentation/net.rb +0 -87
- data/lib/new_relic/metrics.rb +0 -13
data/ROADMAP.md
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# Ruby Agent Roadmap
|
2
|
+
|
3
|
+
## Product Vision
|
4
|
+
The goal of the Ruby agent is to provide complete visibility into the health of your service. The agent provides metrics about the runtime health of your service and the process it runs in, and traces that show how specific requests are performing. It also provides information about the environment in which it is running, so you can identify issues with specific hosts, regions, deployments, and other facets.
|
5
|
+
|
6
|
+
New Relic is moving toward OpenTelemetry. OpenTelemetry is a unified standard for service instrumentation. You will soon see an updated version of the agent that uses the OpenTelemetry SDK and auto-instrumentation as its foundation. OpenTelemetry will include a broad set of high-quality community-contributed instrumentation and a powerful vendor-neutral API for adding your own instrumentation.
|
7
|
+
|
8
|
+
|
9
|
+
## Roadmap
|
10
|
+
### Description
|
11
|
+
This roadmap project is broken down into the following sections:
|
12
|
+
|
13
|
+
- **Now**:
|
14
|
+
- This section contains features that are currently in progress.
|
15
|
+
- **Next**:
|
16
|
+
- This section contains work planned within the next three months. These features may still be deprioritized and moved to Future.
|
17
|
+
- **Future**:
|
18
|
+
- This section is for ideas for future work that is aligned with the product vision and possible opportunities for community contribution. It contains a list of features that anyone can implement. No guarantees can be provided on if or when these features will be completed.
|
19
|
+
|
20
|
+
|
21
|
+
**The roadmap project is found [here](https://github.com/orgs/newrelic/projects/12)**
|
22
|
+
|
23
|
+
#### Disclaimers
|
24
|
+
> This roadmap is subject to change at any time. Future items should not be considered commitments.
|
data/lib/new_relic/agent.rb
CHANGED
@@ -26,7 +26,6 @@ module NewRelic
|
|
26
26
|
|
27
27
|
require 'new_relic/version'
|
28
28
|
require 'new_relic/local_environment'
|
29
|
-
require 'new_relic/metrics'
|
30
29
|
require 'new_relic/metric_spec'
|
31
30
|
require 'new_relic/metric_data'
|
32
31
|
require 'new_relic/noticed_error'
|
@@ -47,6 +46,7 @@ module NewRelic
|
|
47
46
|
require 'new_relic/agent/error_collector'
|
48
47
|
require 'new_relic/agent/sampler'
|
49
48
|
require 'new_relic/agent/database'
|
49
|
+
require 'new_relic/agent/database_adapter'
|
50
50
|
require 'new_relic/agent/datastores'
|
51
51
|
require 'new_relic/agent/pipe_channel_manager'
|
52
52
|
require 'new_relic/agent/configuration'
|
@@ -283,12 +283,6 @@ module NewRelic
|
|
283
283
|
def notice_error(exception, options={})
|
284
284
|
record_api_supportability_metric(:notice_error)
|
285
285
|
|
286
|
-
if options.has_key?(:trace_only)
|
287
|
-
NewRelic::Agent.logger.log_once(:warn, :trace_only_deprecated,
|
288
|
-
'Passing the :trace_only option to NewRelic::Agent.notice_error is deprecated. Please use :expected instead.')
|
289
|
-
options[:expected] = options.delete(:trace_only)
|
290
|
-
end
|
291
|
-
|
292
286
|
Transaction.notice_error(exception, options)
|
293
287
|
nil # don't return a noticed error datastructure. it can only hurt.
|
294
288
|
end
|
@@ -587,9 +581,8 @@ module NewRelic
|
|
587
581
|
segment = ::NewRelic::Agent::Tracer.current_segment
|
588
582
|
if segment
|
589
583
|
# Make sure not to override existing segment-level custom attributes
|
590
|
-
segment_custom_keys = segment.attributes.custom_attributes.keys
|
591
|
-
|
592
|
-
segment.add_custom_attributes(params)
|
584
|
+
segment_custom_keys = segment.attributes.custom_attributes.keys.map(&:to_sym)
|
585
|
+
segment.add_custom_attributes(params.reject { |k, _v| segment_custom_keys.include?(k.to_sym) })
|
593
586
|
end
|
594
587
|
else
|
595
588
|
::NewRelic::Agent.logger.warn("Bad argument passed to #add_custom_attributes. Expected Hash but got #{params.class}")
|
@@ -395,10 +395,8 @@ module NewRelic
|
|
395
395
|
end
|
396
396
|
|
397
397
|
def should_install_exit_handler?
|
398
|
-
|
399
|
-
|
400
|
-
!sinatra_classic_app?
|
401
|
-
)
|
398
|
+
return false unless Agent.config[:send_data_on_exit]
|
399
|
+
!sinatra_classic_app? || Agent.config[:force_install_exit_handler]
|
402
400
|
end
|
403
401
|
|
404
402
|
def install_exit_handler
|
@@ -953,6 +951,10 @@ module NewRelic
|
|
953
951
|
rescue NewRelic::Agent::UnrecoverableAgentException => e
|
954
952
|
handle_unrecoverable_agent_error(e)
|
955
953
|
rescue StandardError, Timeout::Error, NewRelic::Agent::ServerConnectionException => e
|
954
|
+
# Allow a killed (aborting) thread to continue exiting during shutdown.
|
955
|
+
# See: https://github.com/newrelic/newrelic-ruby-agent/issues/340
|
956
|
+
raise if Thread.current.status == 'aborting'
|
957
|
+
|
956
958
|
log_error(e)
|
957
959
|
if opts[:keep_retrying]
|
958
960
|
note_connect_failure
|
@@ -26,6 +26,16 @@ module NewRelic
|
|
26
26
|
!@log.nil?
|
27
27
|
end
|
28
28
|
|
29
|
+
def log_request_headers(uri, headers)
|
30
|
+
return unless enabled? && allowed_endpoint?(uri)
|
31
|
+
@log.info("REQUEST HEADERS: #{headers}")
|
32
|
+
rescue StandardError, SystemStackError, SystemCallError => e
|
33
|
+
::NewRelic::Agent.logger.warn("Failed writing request headers to audit log", e)
|
34
|
+
rescue Exception => e
|
35
|
+
::NewRelic::Agent.logger.warn("Failed writing request headers to audit log with exception. Re-raising in case of interrupt.", e)
|
36
|
+
raise
|
37
|
+
end
|
38
|
+
|
29
39
|
def log_request(uri, data, marshaller)
|
30
40
|
return unless enabled? && allowed_endpoint?(uri)
|
31
41
|
|
@@ -32,8 +32,7 @@ module NewRelic
|
|
32
32
|
COMMA = ",".freeze
|
33
33
|
|
34
34
|
def denylisted_constants?
|
35
|
-
|
36
|
-
constants = NewRelic::Agent.config[:'autostart.denylisted_constants'] << COMMA << NewRelic::Agent.config[:'autostart.blacklisted_constants']
|
35
|
+
constants = NewRelic::Agent.config[:'autostart.denylisted_constants']
|
37
36
|
|
38
37
|
denylisted?(constants) do |name|
|
39
38
|
constant_is_defined?(name)
|
@@ -15,6 +15,35 @@ module NewRelic
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
+
# Combines potentially two properties into one.
|
19
|
+
# Given the example:
|
20
|
+
# :disable_net_http and :prepend_net_instrumentation
|
21
|
+
# if :disable_net_http is true, then returned value is "disabled"
|
22
|
+
# if :prepend_net_instrumentation is false, then returned value is "chain"
|
23
|
+
# otherwise, "auto" is returned.
|
24
|
+
#
|
25
|
+
# Intent is:
|
26
|
+
# - if user sets disable_xxx property, then don't instrument
|
27
|
+
# - if user set prepend to `false` then we use method_alias chaining
|
28
|
+
# - auto, when returned means, try to use prepend unless conflicting gems discovered
|
29
|
+
#
|
30
|
+
def self.instrumentation_value_of(disable_key, prepend_key=nil)
|
31
|
+
Proc.new do
|
32
|
+
if NewRelic::Agent.config[disable_key]
|
33
|
+
"disabled"
|
34
|
+
elsif prepend_key && !NewRelic::Agent.config[prepend_key]
|
35
|
+
"chain"
|
36
|
+
else
|
37
|
+
"auto"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.deprecated_description new_setting, description
|
43
|
+
link_ref = new_setting.to_s.gsub(".", "-")
|
44
|
+
%{<a href="##{link_ref}"><code>#{new_setting}</code>}
|
45
|
+
end
|
46
|
+
|
18
47
|
class Boolean
|
19
48
|
def self.===(o)
|
20
49
|
TrueClass === o or FalseClass === o
|
@@ -48,23 +77,30 @@ module NewRelic
|
|
48
77
|
Proc.new {
|
49
78
|
paths = [
|
50
79
|
File.join("config","newrelic.yml"),
|
51
|
-
File.join("newrelic.yml")
|
80
|
+
File.join("newrelic.yml"),
|
81
|
+
File.join("config","newrelic.yml.erb"),
|
82
|
+
File.join("newrelic.yml.erb")
|
52
83
|
]
|
53
84
|
|
54
85
|
if NewRelic::Control.instance.root
|
55
86
|
paths << File.join(NewRelic::Control.instance.root, "config", "newrelic.yml")
|
56
87
|
paths << File.join(NewRelic::Control.instance.root, "newrelic.yml")
|
88
|
+
paths << File.join(NewRelic::Control.instance.root, "config", "newrelic.yml.erb")
|
89
|
+
paths << File.join(NewRelic::Control.instance.root, "newrelic.yml.erb")
|
57
90
|
end
|
58
91
|
|
59
92
|
if ENV["HOME"]
|
60
93
|
paths << File.join(ENV["HOME"], ".newrelic", "newrelic.yml")
|
61
94
|
paths << File.join(ENV["HOME"], "newrelic.yml")
|
95
|
+
paths << File.join(ENV["HOME"], ".newrelic", "newrelic.yml.erb")
|
96
|
+
paths << File.join(ENV["HOME"], "newrelic.yml.erb")
|
62
97
|
end
|
63
98
|
|
64
99
|
# If we're packaged for warbler, we can tell from GEM_HOME
|
65
100
|
if ENV["GEM_HOME"] && ENV["GEM_HOME"].end_with?(".jar!")
|
66
101
|
app_name = File.basename(ENV["GEM_HOME"], ".jar!")
|
67
102
|
paths << File.join(ENV["GEM_HOME"], app_name, "config", "newrelic.yml")
|
103
|
+
paths << File.join(ENV["GEM_HOME"], app_name, "config", "newrelic.yml.erb")
|
68
104
|
end
|
69
105
|
|
70
106
|
paths
|
@@ -94,7 +130,8 @@ module NewRelic
|
|
94
130
|
when 4..6
|
95
131
|
:rails_notifications
|
96
132
|
else
|
97
|
-
::NewRelic::Agent.logger.
|
133
|
+
::NewRelic::Agent.logger.warn "Detected untested Rails version #{Rails::VERSION::STRING}"
|
134
|
+
:rails_notifications
|
98
135
|
end
|
99
136
|
when defined?(::Sinatra) && defined?(::Sinatra::Base) then :sinatra
|
100
137
|
when defined?(::NewRelic::IA) then :external
|
@@ -439,17 +476,6 @@ module NewRelic
|
|
439
476
|
:allowed_from_server => false,
|
440
477
|
:description => 'Autodetected application framework used to enable framework-specific functionality.'
|
441
478
|
},
|
442
|
-
:'autostart.blacklisted_constants' => {
|
443
|
-
:default => 'Rails::Console',
|
444
|
-
:public => true,
|
445
|
-
:type => String,
|
446
|
-
:allowed_from_server => false,
|
447
|
-
:description => 'Deprecated. ' \
|
448
|
-
'For agent versions 6.8.0 or higher, ' \
|
449
|
-
'use <a href="#autostart-denylisted_constants"><code>' \
|
450
|
-
'autostart.denylisted_constants' \
|
451
|
-
'</code></a> instead.'
|
452
|
-
},
|
453
479
|
:'autostart.denylisted_constants' => {
|
454
480
|
:default => 'Rails::Console',
|
455
481
|
:public => true,
|
@@ -457,55 +483,36 @@ module NewRelic
|
|
457
483
|
:allowed_from_server => false,
|
458
484
|
:description => 'Specify a list of constants that should prevent the agent from starting automatically. Separate individual constants with a comma <code>,</code>. For example, <code>Rails::Console,UninstrumentedBackgroundJob</code>.'
|
459
485
|
},
|
460
|
-
:'autostart.blacklisted_executables' => {
|
461
|
-
:default => 'irb,rspec',
|
462
|
-
:public => true,
|
463
|
-
:type => String,
|
464
|
-
:allowed_from_server => false,
|
465
|
-
:description => 'Deprecated. ' \
|
466
|
-
'For agent versions 6.8.0 or higher, ' \
|
467
|
-
'use <a href="#autostart-denylisted_executables"><code>' \
|
468
|
-
'autostart.denylisted_executables' \
|
469
|
-
'</code></a> instead.'
|
470
|
-
},
|
471
486
|
:'autostart.denylisted_executables' => {
|
472
|
-
:default =>
|
487
|
+
:default => 'irb,rspec',
|
473
488
|
:public => true,
|
474
489
|
:type => String,
|
475
490
|
:allowed_from_server => false,
|
476
491
|
:description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, <code>rake,my_ruby_script.rb</code>.'
|
477
492
|
},
|
478
|
-
:'autostart.blacklisted_rake_tasks' => {
|
479
|
-
:default => AUTOSTART_DENYLISTED_RAKE_TASKS,
|
480
|
-
:public => true,
|
481
|
-
:type => String,
|
482
|
-
:allowed_from_server => false,
|
483
|
-
:description => 'Deprecated. ' \
|
484
|
-
'For agent versions 6.8.0 or higher, ' \
|
485
|
-
'use <a href="#autostart-denylisted_rake_tasks"><code>' \
|
486
|
-
'autostart.denylisted_rake_tasks' \
|
487
|
-
'</code></a> instead.'
|
488
|
-
},
|
489
493
|
:'autostart.denylisted_rake_tasks' => {
|
490
|
-
:default =>
|
494
|
+
:default => AUTOSTART_DENYLISTED_RAKE_TASKS,
|
491
495
|
:public => true,
|
492
496
|
:type => String,
|
493
497
|
:allowed_from_server => false,
|
494
498
|
:description => 'Defines a comma-delimited list of Rake tasks that the agent should not instrument. For example, <code>assets:precompile,db:migrate</code>.'
|
495
499
|
},
|
500
|
+
|
496
501
|
:disable_rake => {
|
497
502
|
:default => false,
|
498
503
|
:public => true,
|
499
504
|
:type => Boolean,
|
500
505
|
:allowed_from_server => false,
|
501
|
-
:
|
506
|
+
:deprecated => true,
|
507
|
+
:description => deprecated_description(:'instrumentation.rake', 'If <code>true</code>, disables Rake instrumentation.')
|
502
508
|
},
|
503
509
|
:disable_rake_instrumentation => {
|
504
510
|
:default => false,
|
505
511
|
:public => false,
|
506
512
|
:type => Boolean,
|
507
513
|
:allowed_from_server => false,
|
508
|
-
:
|
514
|
+
:deprecated => true,
|
515
|
+
:description => deprecated_description(:'instrumentation.rake', 'Enable or disable Rake instrumentation. Preferred key is `disable_rake`')
|
509
516
|
},
|
510
517
|
:'rake.tasks' => {
|
511
518
|
:default => [],
|
@@ -537,19 +544,6 @@ module NewRelic
|
|
537
544
|
:allowed_from_server => false,
|
538
545
|
:description => 'If true, the agent strips messages from all exceptions except those in the <a href="#strip_exception_messages-allowlist">allowlist</a>. Enabled automatically in <a href="https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security">high security mode</a>.'
|
539
546
|
},
|
540
|
-
:'strip_exception_messages.whitelist' => {
|
541
|
-
:default => '',
|
542
|
-
:public => true,
|
543
|
-
:type => String,
|
544
|
-
:deprecated => true,
|
545
|
-
:allowed_from_server => false,
|
546
|
-
:transform => DefaultSource.method(:convert_to_constant_list),
|
547
|
-
:description => 'Deprecated. ' \
|
548
|
-
'For agent versions 6.8.0 or higher, ' \
|
549
|
-
'use <a href="#strip_exception_messages.allowed_classes"><code>' \
|
550
|
-
'strip_exception_messages.allowed_classes' \
|
551
|
-
'</code></a> instead.'
|
552
|
-
},
|
553
547
|
:'strip_exception_messages.allowed_classes' => {
|
554
548
|
:default => '',
|
555
549
|
:public => true,
|
@@ -696,6 +690,18 @@ module NewRelic
|
|
696
690
|
:allowed_from_server => false,
|
697
691
|
:description => 'Enable or disable retrying failed connections to the New Relic data collection service.'
|
698
692
|
},
|
693
|
+
:force_install_exit_handler => {
|
694
|
+
:default => false,
|
695
|
+
:public => true,
|
696
|
+
:type => Boolean,
|
697
|
+
:allowed_from_server => false,
|
698
|
+
:description => 'Forces the exit handler that sends all cached data to collector ' \
|
699
|
+
'before shuttng down to be installed regardless of detecting scenarios where it generally should not be. ' \
|
700
|
+
'Known use-case for this option is where Sinatra is running as an embedded service within another framework ' \
|
701
|
+
'and the agent is detecting the Sinatra app and skipping the at_exit handler as a result. Sinatra classically ' \
|
702
|
+
'runs the entire application in an at_exit block and would otherwise misbehave if the Agent\'s at_exit handler ' \
|
703
|
+
'is also installed in those circumstances. Note: `send_data_on_exit` should also be set to `true` in tandem with this setting.'
|
704
|
+
},
|
699
705
|
:force_reconnect => {
|
700
706
|
:default => false,
|
701
707
|
:public => false,
|
@@ -757,8 +763,9 @@ module NewRelic
|
|
757
763
|
:default => false,
|
758
764
|
:public => true,
|
759
765
|
:type => Boolean,
|
766
|
+
:deprecated => true,
|
760
767
|
:allowed_from_server => false,
|
761
|
-
:description => 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/resque-instrumentation">Resque instrumentation</a>.'
|
768
|
+
:description => deprecated_description(:'instrumentation.resque', 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/resque-instrumentation">Resque instrumentation</a>.')
|
762
769
|
},
|
763
770
|
:disable_sidekiq => {
|
764
771
|
:default => false,
|
@@ -770,16 +777,18 @@ module NewRelic
|
|
770
777
|
:disable_dj => {
|
771
778
|
:default => false,
|
772
779
|
:public => true,
|
780
|
+
:deprecated => true,
|
773
781
|
:type => Boolean,
|
774
782
|
:allowed_from_server => false,
|
775
|
-
:description => 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/delayedjob">Delayed::Job instrumentation</a>.'
|
783
|
+
:description => deprecated_description(:'instrumentation.delayed_job', 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/delayedjob">Delayed::Job instrumentation</a>.'
|
784
|
+
)
|
776
785
|
},
|
777
786
|
:disable_sinatra => {
|
778
787
|
:default => false,
|
779
788
|
:public => true,
|
780
789
|
:type => Boolean,
|
781
790
|
:allowed_from_server => false,
|
782
|
-
:description => 'If <code>true</code> , disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/sinatra-support">Sinatra instrumentation</a>.'
|
791
|
+
:description => deprecated_description(:'instrumentation.sinatra', 'If <code>true</code> , disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/sinatra-support">Sinatra instrumentation</a>.' )
|
783
792
|
},
|
784
793
|
:disable_sinatra_auto_middleware => {
|
785
794
|
:default => false,
|
@@ -823,6 +832,172 @@ module NewRelic
|
|
823
832
|
:allowed_from_server => false,
|
824
833
|
:description => 'If <code>true</code>, uses Module.prepend rather than alias_method for ActiveRecord instrumentation.'
|
825
834
|
},
|
835
|
+
:prepend_net_instrumentation => {
|
836
|
+
:default => true,
|
837
|
+
:public => false,
|
838
|
+
:type => Boolean,
|
839
|
+
:allowed_from_server => false,
|
840
|
+
:deprecated => true,
|
841
|
+
:description => deprecated_description(:'instrumentation.net_http',
|
842
|
+
'If <code>true</code>, uses Module.prepend rather than alias_method for Net::HTTP instrumentation.'
|
843
|
+
)
|
844
|
+
},
|
845
|
+
:'instrumentation.net_http' => {
|
846
|
+
:default => instrumentation_value_of(:disable_net_http, :prepend_net_instrumentation),
|
847
|
+
:public => true,
|
848
|
+
:type => String,
|
849
|
+
:dynamic_name => true,
|
850
|
+
:allowed_from_server => false,
|
851
|
+
:description => "Controls auto-instrumentation of Net::HTTP at start up. May be one of [auto|prepend|chain|disabled]."
|
852
|
+
},
|
853
|
+
:'instrumentation.typhoeus' => {
|
854
|
+
:default => instrumentation_value_of(:disable_typhoeus),
|
855
|
+
:public => true,
|
856
|
+
:type => String,
|
857
|
+
:dynamic_name => true,
|
858
|
+
:allowed_from_server => false,
|
859
|
+
:description => "Controls auto-instrumentation of Typhoeus at start up. May be one of [auto|prepend|chain|disabled]."
|
860
|
+
},
|
861
|
+
:'instrumentation.bunny' => {
|
862
|
+
:default => instrumentation_value_of(:disable_bunny),
|
863
|
+
:public => true,
|
864
|
+
:type => String,
|
865
|
+
:dynamic_name => true,
|
866
|
+
:allowed_from_server => false,
|
867
|
+
:description => 'Controls auto-instrumentation of bunny at start up. May be one of [auto|prepend|chain|disabled].'
|
868
|
+
},
|
869
|
+
:'instrumentation.httprb' => {
|
870
|
+
:default => instrumentation_value_of(:disable_httprb),
|
871
|
+
:public => true,
|
872
|
+
:type => String,
|
873
|
+
:dynamic_name => true,
|
874
|
+
:allowed_from_server => false,
|
875
|
+
:description => 'Controls auto-instrumentation of http.rb gem at start up. May be one of [auto|prepend|chain|disabled].'
|
876
|
+
},
|
877
|
+
:'instrumentation.resque' => {
|
878
|
+
:default => instrumentation_value_of(:disable_resque),
|
879
|
+
:public => true,
|
880
|
+
:type => String,
|
881
|
+
:dynamic_name => true,
|
882
|
+
:allowed_from_server => false,
|
883
|
+
:description => "Controls auto-instrumentation of resque at start up. May be one of [auto|prepend|chain|disabled]."
|
884
|
+
},
|
885
|
+
:'instrumentation.redis' => {
|
886
|
+
:default => instrumentation_value_of(:disable_redis),
|
887
|
+
:public => true,
|
888
|
+
:type => String,
|
889
|
+
:dynamic_name => true,
|
890
|
+
:allowed_from_server => false,
|
891
|
+
:description => "Controls auto-instrumentation of Redis at start up. May be one of [auto|prepend|chain|disabled]."
|
892
|
+
},
|
893
|
+
:'instrumentation.rake' => {
|
894
|
+
:default => instrumentation_value_of(:disable_rake),
|
895
|
+
:public => :true,
|
896
|
+
:type => String,
|
897
|
+
:dynamic_name => true,
|
898
|
+
:allowed_from_server => false,
|
899
|
+
:description => "Controls auto-instrumentation of rake at start up. May be one of [auto|prepend|chain|disabled]."
|
900
|
+
},
|
901
|
+
:'instrumentation.mongo' => {
|
902
|
+
:default => instrumentation_value_of(:disable_mongo),
|
903
|
+
:public => :true,
|
904
|
+
:type => String,
|
905
|
+
:dynamic_name => true,
|
906
|
+
:allowed_from_server => false,
|
907
|
+
:description => "Controls auto-instrumentation of Mongo at start up. May be one of [enabled|disabled]."
|
908
|
+
},
|
909
|
+
:'instrumentation.delayed_job' => {
|
910
|
+
:default => instrumentation_value_of(:disable_dj),
|
911
|
+
:public => true,
|
912
|
+
:type => String,
|
913
|
+
:dynamic_name => true,
|
914
|
+
:allowed_from_server => false,
|
915
|
+
:description => 'Controls auto-instrumentation of Delayed Job at start up. May be one of [auto|prepend|chain|disabled].'
|
916
|
+
},
|
917
|
+
:'instrumentation.httpclient' => {
|
918
|
+
:default => instrumentation_value_of(:disable_httpclient),
|
919
|
+
:public => true,
|
920
|
+
:type => String,
|
921
|
+
:dynamic_name => true,
|
922
|
+
:allowed_from_server => false,
|
923
|
+
:description => "Controls auto-instrumentation of HTTPClient at start up. May be one of [auto|prepend|chain|disabled]."
|
924
|
+
},
|
925
|
+
:'instrumentation.curb' => {
|
926
|
+
:default => instrumentation_value_of(:disable_curb),
|
927
|
+
:public => true,
|
928
|
+
:type => String,
|
929
|
+
:dynamic_name => true,
|
930
|
+
:allowed_from_server => false,
|
931
|
+
:description => 'Controls auto-instrumentation of Curb at start up. May be one of [auto|prepend|chain|disabled].'
|
932
|
+
},
|
933
|
+
:'instrumentation.sinatra' => {
|
934
|
+
:default => instrumentation_value_of(:disable_sinatra),
|
935
|
+
:public => :true,
|
936
|
+
:type => String,
|
937
|
+
:dynamic_name => true,
|
938
|
+
:allowed_from_server => false,
|
939
|
+
:description => "Controls auto-instrumentation of Sinatra at start up. May be one of [auto|prepend|chain|disabled]."
|
940
|
+
},
|
941
|
+
:'instrumentation.rack' => {
|
942
|
+
:default => instrumentation_value_of(:disable_rack),
|
943
|
+
:public => true,
|
944
|
+
:type => String,
|
945
|
+
:dynamic_name => true,
|
946
|
+
:allowed_from_server => false,
|
947
|
+
:description => "Controls auto-instrumentation of Rack. When enabled, the agent hooks into the " \
|
948
|
+
"<code>to_app</code> method in Rack::Builder to find gems to instrument during " \
|
949
|
+
"application startup. May be one of [auto|prepend|chain|disabled]."
|
950
|
+
},
|
951
|
+
:'instrumentation.rack_urlmap' => {
|
952
|
+
:default => instrumentation_value_of(:disable_rack_urlmap),
|
953
|
+
:public => true,
|
954
|
+
:type => String,
|
955
|
+
:dynamic_name => true,
|
956
|
+
:allowed_from_server => false,
|
957
|
+
:description => 'Controls auto-instrumentation of Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
|
958
|
+
},
|
959
|
+
:'instrumentation.puma_rack' => {
|
960
|
+
:default => instrumentation_value_of(:disable_puma_rack), # TODO: change to value_of(:'instrumentation.rack') when we remove :disable_puma_rack in 8.0)
|
961
|
+
:public => true,
|
962
|
+
:type => String,
|
963
|
+
:dynamic_name => true,
|
964
|
+
:allowed_from_server => false,
|
965
|
+
:description => "Controls auto-instrumentation of Puma::Rack. When enabled, the agent hooks into the " \
|
966
|
+
"<code>to_app</code> method in Puma::Rack::Builder to find gems to instrument during " \
|
967
|
+
"application startup. May be one of [auto|prepend|chain|disabled]."
|
968
|
+
},
|
969
|
+
:'instrumentation.puma_rack_urlmap' => {
|
970
|
+
:default => instrumentation_value_of(:disable_puma_rack_urlmap), # TODO: change to value_of(:'instrumentation.rack_urlmap') when we remove :disable_puma_rack_urlmap in 8.0)
|
971
|
+
:public => true,
|
972
|
+
:type => String,
|
973
|
+
:dynamic_name => true,
|
974
|
+
:allowed_from_server => false,
|
975
|
+
:description => 'Controls auto-instrumentation of Puma::Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
|
976
|
+
},
|
977
|
+
:'instrumentation.memcached' => {
|
978
|
+
:default => instrumentation_value_of(:disable_memcached),
|
979
|
+
:public => true,
|
980
|
+
:type => String,
|
981
|
+
:dynamic_name => true,
|
982
|
+
:allowed_from_server => false,
|
983
|
+
:description => 'Controls auto-instrumentation of memcached gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
|
984
|
+
},
|
985
|
+
:'instrumentation.memcache_client' => {
|
986
|
+
:default => instrumentation_value_of(:disable_memcache_client),
|
987
|
+
:public => true,
|
988
|
+
:type => String,
|
989
|
+
:dynamic_name => true,
|
990
|
+
:allowed_from_server => false,
|
991
|
+
:description => 'Controls auto-instrumentation of memcache-client gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
|
992
|
+
},
|
993
|
+
:'instrumentation.memcache' => {
|
994
|
+
:default => instrumentation_value_of(:disable_dalli),
|
995
|
+
:public => true,
|
996
|
+
:type => String,
|
997
|
+
:dynamic_name => true,
|
998
|
+
:allowed_from_server => false,
|
999
|
+
:description => 'Controls auto-instrumentation of dalli gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
|
1000
|
+
},
|
826
1001
|
:disable_data_mapper => {
|
827
1002
|
:default => false,
|
828
1003
|
:public => true,
|
@@ -858,36 +1033,41 @@ module NewRelic
|
|
858
1033
|
:default => value_of(:disable_memcache_instrumentation),
|
859
1034
|
:public => true,
|
860
1035
|
:type => Boolean,
|
1036
|
+
:deprecated => true,
|
861
1037
|
:allowed_from_server => false,
|
862
|
-
:description => 'If <code>true</code>, disables instrumentation for the memcached gem.'
|
1038
|
+
:description => deprecated_description(:'instrumentation.memcached', 'If <code>true</code>, disables instrumentation for the memcached gem.')
|
863
1039
|
},
|
864
1040
|
:disable_memcache_client => {
|
865
1041
|
:default => value_of(:disable_memcache_instrumentation),
|
866
1042
|
:public => true,
|
867
1043
|
:type => Boolean,
|
1044
|
+
:deprecated => true,
|
868
1045
|
:allowed_from_server => false,
|
869
|
-
:description => 'If <code>true</code>, disables instrumentation for the memcache-client gem.'
|
1046
|
+
:description => deprecated_description(:'instrumentation.memcache-client', 'If <code>true</code>, disables instrumentation for the memcache-client gem.')
|
870
1047
|
},
|
871
1048
|
:disable_dalli => {
|
872
1049
|
:default => value_of(:disable_memcache_instrumentation),
|
873
1050
|
:public => true,
|
874
1051
|
:type => Boolean,
|
1052
|
+
:deprecated => true,
|
875
1053
|
:allowed_from_server => false,
|
876
|
-
:description => 'If <code>true</code>, disables instrumentation for the dalli gem.'
|
1054
|
+
:description => deprecated_description(:'instrumentation.memcache', 'If <code>true</code>, disables instrumentation for the dalli gem.')
|
877
1055
|
},
|
878
1056
|
:disable_dalli_cas_client => {
|
879
1057
|
:default => value_of(:disable_memcache_instrumentation),
|
880
1058
|
:public => true,
|
881
1059
|
:type => Boolean,
|
1060
|
+
:deprecated => true,
|
882
1061
|
:allowed_from_server => false,
|
883
|
-
:description => "If <code>true</code>, disables instrumentation for the dalli gem\'s additional CAS client support."
|
1062
|
+
:description => deprecated_description(:'instrumentation.memcache', "If <code>true</code>, disables instrumentation for the dalli gem\'s additional CAS client support.")
|
884
1063
|
},
|
885
1064
|
:disable_memcache_instrumentation => {
|
886
1065
|
:default => false,
|
887
1066
|
:public => true,
|
888
1067
|
:type => Boolean,
|
1068
|
+
:deprecated => true,
|
889
1069
|
:allowed_from_server => false,
|
890
|
-
:description => 'If <code>true</code>, disables memcache instrumentation.'
|
1070
|
+
:description => deprecated_description(:'instrumentation.memcache', 'If <code>true</code>, disables memcache instrumentation.')
|
891
1071
|
},
|
892
1072
|
:disable_gc_profiler => {
|
893
1073
|
:default => false,
|
@@ -1022,21 +1202,24 @@ module NewRelic
|
|
1022
1202
|
:type => Boolean,
|
1023
1203
|
:allowed_from_server => false,
|
1024
1204
|
:dynamic_name => true,
|
1025
|
-
:
|
1205
|
+
:deprecated => true,
|
1206
|
+
:description => deprecated_description(:'instrumentation.mongo', 'If <code>true</code>, the agent won\'t install <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/mongo-instrumentation">instrumentation for the Mongo gem</a>.')
|
1026
1207
|
},
|
1027
1208
|
:disable_redis => {
|
1028
1209
|
:default => false,
|
1029
1210
|
:public => true,
|
1030
1211
|
:type => Boolean,
|
1212
|
+
:deprecated => true,
|
1031
1213
|
:allowed_from_server => false,
|
1032
|
-
:description => 'If <code>true</code>, the agent won\'t install <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/redis-instrumentation">instrumentation for Redis</a>.'
|
1214
|
+
:description => deprecated_description(:'instrumentation.redis', 'If <code>true</code>, the agent won\'t install <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/redis-instrumentation">instrumentation for Redis</a>.')
|
1033
1215
|
},
|
1034
1216
|
:disable_redis_instrumentation => {
|
1035
1217
|
:default => false,
|
1036
1218
|
:public => false,
|
1037
1219
|
:type => Boolean,
|
1220
|
+
:deprecated => true,
|
1038
1221
|
:allowed_from_server => false,
|
1039
|
-
:description => 'Disables installation of Redis instrumentation. Standard key to use is disable_redis.'
|
1222
|
+
:description => deprecated_description(:'instrumentation.redis', 'Disables installation of Redis instrumentation. Standard key to use is disable_redis.')
|
1040
1223
|
},
|
1041
1224
|
:'message_tracer.segment_parameters.enabled' => {
|
1042
1225
|
:default => true,
|
@@ -1372,32 +1555,6 @@ module NewRelic
|
|
1372
1555
|
:allowed_from_server => false,
|
1373
1556
|
:description => 'If <code>true</code>, the agent won\'t measure the depth of Delayed Job queues.'
|
1374
1557
|
},
|
1375
|
-
:disable_active_record_4 => {
|
1376
|
-
:default => false,
|
1377
|
-
:public => true,
|
1378
|
-
:type => Boolean,
|
1379
|
-
:dynamic_name => true,
|
1380
|
-
:allowed_from_server => false,
|
1381
|
-
:deprecated => true,
|
1382
|
-
:description => 'Deprecated. ' \
|
1383
|
-
'For agent versions 6.3 or higher, ' \
|
1384
|
-
'use <a href="#disable_active_record_notifications"><code>' \
|
1385
|
-
'disable_active_record_notifications' \
|
1386
|
-
'</code></a> instead.'
|
1387
|
-
},
|
1388
|
-
:disable_active_record_5 => {
|
1389
|
-
:default => false,
|
1390
|
-
:public => true,
|
1391
|
-
:type => Boolean,
|
1392
|
-
:dynamic_name => true,
|
1393
|
-
:allowed_from_server => false,
|
1394
|
-
:deprecated => true,
|
1395
|
-
:description => 'Deprecated. ' \
|
1396
|
-
'For agent versions 6.3 or higher, ' \
|
1397
|
-
'use <a href="#disable_active_record_notifications"><code>' \
|
1398
|
-
'disable_active_record_notifications' \
|
1399
|
-
'</code></a> instead.'
|
1400
|
-
},
|
1401
1558
|
:disable_active_record_notifications => {
|
1402
1559
|
:default => false,
|
1403
1560
|
:public => true,
|
@@ -1410,33 +1567,45 @@ module NewRelic
|
|
1410
1567
|
:default => false,
|
1411
1568
|
:public => true,
|
1412
1569
|
:type => Boolean,
|
1570
|
+
:deprecated => true,
|
1413
1571
|
:dynamic_name => true,
|
1414
1572
|
:allowed_from_server => false,
|
1415
|
-
:description => 'If <code>true</code>, disables instrumentation for the bunny gem.'
|
1573
|
+
:description => deprecated_description(:'instrumentation.bunny', 'If <code>true</code>, disables instrumentation for the bunny gem.')
|
1416
1574
|
},
|
1417
1575
|
:disable_curb => {
|
1418
1576
|
:default => false,
|
1419
1577
|
:public => true,
|
1420
1578
|
:type => Boolean,
|
1579
|
+
:deprecated => true,
|
1421
1580
|
:dynamic_name => true,
|
1422
1581
|
:allowed_from_server => false,
|
1423
|
-
:description => 'If <code>true</code>, disables instrumentation for the curb gem.'
|
1582
|
+
:description => deprecated_description(:'instrumentation.curb', 'If <code>true</code>, disables instrumentation for the curb gem.' )
|
1424
1583
|
},
|
1425
1584
|
:disable_excon => {
|
1426
1585
|
:default => false,
|
1427
1586
|
:public => true,
|
1428
1587
|
:type => Boolean,
|
1429
1588
|
:dynamic_name => true,
|
1589
|
+
:deprecated => true,
|
1590
|
+
:allowed_from_server => false,
|
1591
|
+
:description => deprecated_description(:'instrumentation.excon', 'If <code>true</code>, disables instrumentation for the excon gem.')
|
1592
|
+
},
|
1593
|
+
:'instrumentation.excon' => {
|
1594
|
+
:default => instrumentation_value_of(:disable_excon),
|
1595
|
+
:public => :true,
|
1596
|
+
:type => String,
|
1597
|
+
:dynamic_name => true,
|
1430
1598
|
:allowed_from_server => false,
|
1431
|
-
:description
|
1599
|
+
:description => "Controls auto-instrumentation of Excon at start up. May be one of [enabled|disabled]."
|
1432
1600
|
},
|
1433
1601
|
:disable_httpclient => {
|
1434
1602
|
:default => false,
|
1435
1603
|
:public => true,
|
1436
1604
|
:type => Boolean,
|
1437
1605
|
:dynamic_name => true,
|
1606
|
+
:deprecated => true,
|
1438
1607
|
:allowed_from_server => false,
|
1439
|
-
:description => 'If <code>true</code>, disables instrumentation for the httpclient gem.'
|
1608
|
+
:description => deprecated_description(:'instrumentation.httpclient', 'If <code>true</code>, disables instrumentation for the httpclient gem.')
|
1440
1609
|
},
|
1441
1610
|
:disable_net_http => {
|
1442
1611
|
:default => false,
|
@@ -1444,7 +1613,10 @@ module NewRelic
|
|
1444
1613
|
:type => Boolean,
|
1445
1614
|
:dynamic_name => true,
|
1446
1615
|
:allowed_from_server => false,
|
1447
|
-
:
|
1616
|
+
:deprecated => true,
|
1617
|
+
:description => deprecated_description(:'instrumentation.net_http',
|
1618
|
+
'If <code>true</code>, disables instrumentation for Net::HTTP.'
|
1619
|
+
)
|
1448
1620
|
},
|
1449
1621
|
:disable_rack => {
|
1450
1622
|
:default => false,
|
@@ -1452,7 +1624,8 @@ module NewRelic
|
|
1452
1624
|
:type => Boolean,
|
1453
1625
|
:dynamic_name => true,
|
1454
1626
|
:allowed_from_server => false,
|
1455
|
-
:
|
1627
|
+
:deprecated => true,
|
1628
|
+
:description => deprecated_description(:'instrumentation.rack', 'If <code>true</code>, prevents the agent from hooking into the <code>to_app</code> method in Rack::Builder to find gems to instrument during application startup.')
|
1456
1629
|
},
|
1457
1630
|
:disable_rack_urlmap => {
|
1458
1631
|
:default => false,
|
@@ -1460,7 +1633,8 @@ module NewRelic
|
|
1460
1633
|
:type => Boolean,
|
1461
1634
|
:dynamic_name => true,
|
1462
1635
|
:allowed_from_server => false,
|
1463
|
-
:
|
1636
|
+
:deprecated => true,
|
1637
|
+
:description => deprecated_description(:'instrumentation.rack_urlmap', 'If <code>true</code>, prevents the agent from hooking into Rack::URLMap to install middleware tracing.')
|
1464
1638
|
},
|
1465
1639
|
:disable_puma_rack => {
|
1466
1640
|
:default => value_of(:disable_rack),
|
@@ -1468,7 +1642,8 @@ module NewRelic
|
|
1468
1642
|
:type => Boolean,
|
1469
1643
|
:dynamic_name => true,
|
1470
1644
|
:allowed_from_server => false,
|
1471
|
-
:
|
1645
|
+
:deprecated => true,
|
1646
|
+
:description => deprecated_description(:'instrumentation.puma_rack', 'If <code>true</code>, prevents the agent from hooking into the <code>to_app</code> method in Puma::Rack::Builder to find gems to instrument during application startup.')
|
1472
1647
|
},
|
1473
1648
|
:disable_puma_rack_urlmap => {
|
1474
1649
|
:default => value_of(:disable_rack_urlmap),
|
@@ -1476,23 +1651,26 @@ module NewRelic
|
|
1476
1651
|
:type => Boolean,
|
1477
1652
|
:dynamic_name => true,
|
1478
1653
|
:allowed_from_server => false,
|
1479
|
-
:
|
1654
|
+
:deprecated => true,
|
1655
|
+
:description => deprecated_description(:'instrumentation.puma_rack_urlmap', 'If <code>true</code>, prevents the agent from hooking into Puma::Rack::URLMap to install middleware tracing.')
|
1480
1656
|
},
|
1481
1657
|
:disable_typhoeus => {
|
1482
1658
|
:default => false,
|
1483
1659
|
:public => true,
|
1484
1660
|
:type => Boolean,
|
1485
1661
|
:dynamic_name => true,
|
1662
|
+
:deprecated => true,
|
1486
1663
|
:allowed_from_server => false,
|
1487
|
-
:description => 'If <code>true</code>, the agent won\'t install instrumentation for the typhoeus gem.'
|
1664
|
+
:description => deprecated_description(:'instrumentation.typhoeus', 'If <code>true</code>, the agent won\'t install instrumentation for the typhoeus gem.' )
|
1488
1665
|
},
|
1489
1666
|
:disable_httprb => {
|
1490
1667
|
:default => false,
|
1491
1668
|
:public => true,
|
1492
1669
|
:type => Boolean,
|
1493
1670
|
:dynamic_name => true,
|
1671
|
+
:deprecated => true,
|
1494
1672
|
:allowed_from_server => false,
|
1495
|
-
:description => 'If <code>true</code>, the agent won\'t install instrumentation for the http.rb gem.'
|
1673
|
+
:description => deprecated_description(:'instrumentation.httprb', 'If <code>true</code>, the agent won\'t install instrumentation for the http.rb gem.' )
|
1496
1674
|
},
|
1497
1675
|
:disable_middleware_instrumentation => {
|
1498
1676
|
:default => false,
|
@@ -1601,14 +1779,28 @@ module NewRelic
|
|
1601
1779
|
:public => false,
|
1602
1780
|
:type => Boolean,
|
1603
1781
|
:allowed_from_server => false,
|
1604
|
-
:
|
1782
|
+
:deprecated => true,
|
1783
|
+
:description => deprecated_description(:'instrumentation.grape',
|
1784
|
+
'If <code>true</code>, the agent won\'t install Grape instrumentation.'
|
1785
|
+
)
|
1605
1786
|
},
|
1606
1787
|
:disable_grape => {
|
1607
1788
|
:default => false,
|
1608
1789
|
:public => true,
|
1609
1790
|
:type => Boolean,
|
1610
1791
|
:allowed_from_server => false,
|
1611
|
-
:
|
1792
|
+
:deprecated => true,
|
1793
|
+
:description => deprecated_description(:'instrumentation.grape',
|
1794
|
+
'If <code>true</code>, the agent won\'t install Grape instrumentation.'
|
1795
|
+
)
|
1796
|
+
},
|
1797
|
+
:'instrumentation.grape' => {
|
1798
|
+
:default => instrumentation_value_of(:disable_grape_instrumentation),
|
1799
|
+
:public => :true,
|
1800
|
+
:type => String,
|
1801
|
+
:dynamic_name => true,
|
1802
|
+
:allowed_from_server => false,
|
1803
|
+
:description => "Controls auto-instrumentation of Grape at start up. May be one of [auto|prepend|chain|disabled]."
|
1612
1804
|
},
|
1613
1805
|
:'attributes.enabled' => {
|
1614
1806
|
:default => true,
|