newrelic_rpm 6.15.0 → 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/CHANGELOG.md +96 -22
- data/README.md +2 -2
- data/lib/new_relic/agent.rb +0 -6
- data/lib/new_relic/agent/autostart.rb +1 -2
- data/lib/new_relic/agent/configuration/default_source.rb +270 -104
- data/lib/new_relic/agent/configuration/manager.rb +2 -2
- 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/instrumentation/active_record_notifications.rb +0 -16
- data/lib/new_relic/agent/instrumentation/bunny.rb +10 -152
- 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 -241
- 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 -50
- 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 +2 -0
- 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_prepend.rb → net_http/instrumentation.rb} +3 -3
- data/lib/new_relic/agent/instrumentation/net_http/prepend.rb +21 -0
- data/lib/new_relic/agent/instrumentation/padrino.rb +18 -53
- 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 -139
- 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 -154
- 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 -109
- 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/sinatra.rb +20 -158
- 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/new_relic_service.rb +3 -12
- data/lib/new_relic/agent/sql_sampler.rb +1 -1
- data/lib/new_relic/agent/transaction.rb +1 -4
- 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 +116 -10
- data/lib/new_relic/noticed_error.rb +1 -5
- data/lib/new_relic/supportability_helper.rb +1 -2
- data/lib/new_relic/version.rb +2 -2
- data/newrelic_rpm.gemspec +1 -1
- metadata +53 -8
- 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 -70
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 01dec51b68827b0fa9cd58d7882d9ddb29e7de80bcaa55cda486c30ff8529da9
|
4
|
+
data.tar.gz: 358e73adb1e93b0e12bc7f415df728a4a8670bed0ac4eb36b81df545cc1c4651
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b06d4efcd172c4517ac7be9c7271833cef6709ff18040ceaa81240bf4a3f8ce66f9c609cc78dfffbadc698cc761a2c7e7b439c72d69b024808c10d4b9873180f
|
7
|
+
data.tar.gz: 6f665d24f019d4e5c55aef8851a48f3fe7ff9735e16c41ba97cc27664fdfc9f66cdbcfd698aebe2072b12c7124431e00f4c08bdb4b15a57350d886ff98745f08
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,83 @@
|
|
1
1
|
# New Relic Ruby Agent Release Notes #
|
2
2
|
|
3
|
+
## v7.0.0
|
4
|
+
|
5
|
+
* **Ruby Agent 6.x to 7.x Migration Guide Available**
|
6
|
+
|
7
|
+
Please see our [Ruby Agent 6.x to 7.x migration guide](https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/migration-7x-guide/) for helpful strategies and tips for migrating from earlier versions of the Ruby agent to 7.0.0. We cover new configuration settings, diagnosiing and installing SSL CA certificates and deprecated items and their replacements in this guide.
|
8
|
+
|
9
|
+
* **Ruby 2.0 and 2.1 Dropped**
|
10
|
+
|
11
|
+
Support for Ruby 2.0 and 2.1 dropped with this release. No code changes that would prevent the agent from continuing to
|
12
|
+
work with these releases are known. However, Rubies 2.0 and 2.1 are no longer included in our test matrices and are not supported
|
13
|
+
for 7.0.0 and onward.
|
14
|
+
|
15
|
+
* **Implemented prepend auto-instrumentation strategies for most Ruby gems/libraries**
|
16
|
+
|
17
|
+
This release brings the auto-instrumentation strategies for most gems into the modern era for Ruby by providing both
|
18
|
+
prepend and method-chaining (a.k.a. method-aliasing) strategies for auto instrumenting. Prepend, which has been available since
|
19
|
+
Ruby 2.0 is now the default strategy employed in auto-instrumenting. It is known that some external gems lead to Stack Level
|
20
|
+
too Deep exceptions when prepend and method-chaining are mixed. In such known cases, auto-instrumenting strategy will fall back
|
21
|
+
to method-chaining automatically.
|
22
|
+
|
23
|
+
This release also deprecates many overlapping and inconsistently named configuration settings in favor of being able to control
|
24
|
+
behavior of instrumentation per library with one setting that can be one of auto (the default), disabled, prepend, or chain.
|
25
|
+
|
26
|
+
Please see the above-referenced migration guide for further details.
|
27
|
+
|
28
|
+
* **Removed SSL cert bundle**
|
29
|
+
|
30
|
+
The agent will no longer ship this bundle and will rely on system certs.
|
31
|
+
|
32
|
+
* **Removed deprecated config options**
|
33
|
+
|
34
|
+
The following config options were previously deprecated and are no longer available
|
35
|
+
- `disable_active_record_4`
|
36
|
+
- `disable_active_record_5`
|
37
|
+
- `autostart.blacklisted_constants`
|
38
|
+
- `autostart.blacklisted_executables`
|
39
|
+
- `autostart.blacklisted_rake_tasks`
|
40
|
+
- `strip_exception_messages.whitelist`
|
41
|
+
|
42
|
+
* **Removed deprecated attribute**
|
43
|
+
|
44
|
+
The attribute `httpResponseCode` was previously deprecated and replaced with `http.statusCode`. This deprecated attribute has now been removed.
|
45
|
+
|
46
|
+
* **Removed deprecated option in notice_error**
|
47
|
+
|
48
|
+
Previously, the `:trace_only` option to NewRelic::Agent.notice_error was deprecated and replaced with `:expected`. This deprecated option has been removed.
|
49
|
+
|
50
|
+
* **Removed deprecated api methods**
|
51
|
+
|
52
|
+
Previously the api methods `create_distributed_trace_payload` and `accept_distributed_trace_payload` were deprecated. These have now been removed. Instead, please see `insert_distributed_trace_headers` and `accept_distributed_trace_headers`, respectively.
|
53
|
+
|
54
|
+
* **Bugfix: Prevent browser monitoring middleware from installing to middleware multiple times**
|
55
|
+
|
56
|
+
In rare cases on jRuby, the BrowserMonitoring middleware could attempt to install itself
|
57
|
+
multiple times at start up. This bug fix addresses that by using a mutex to introduce
|
58
|
+
thread safety to the operation. Sintra in particular can have this race condition because
|
59
|
+
its middleware stack is not installed until the first request is received.
|
60
|
+
|
61
|
+
* **Skip constructing Time for transactions**
|
62
|
+
|
63
|
+
Thanks to @viraptor, we are no longer constructing an unused Time object with every call to starting a new Transaction.
|
64
|
+
|
65
|
+
* **Bugfix: nil Middlewares injection now prevented and gracefully handled in Sinatra**
|
66
|
+
|
67
|
+
Previously, the agent could potentially inject multiples of an instrumented middleware if Sinatra received many
|
68
|
+
requests at once during start up and initialization due to Sinatra's ability to delay full start up as long as possible.
|
69
|
+
This has now been fixed and the Ruby agent correctly instruments only once as well as gracefully handles nil middleware
|
70
|
+
classes in general.
|
71
|
+
|
72
|
+
* **Bugfix: Ensure transaction nesting max depth is always consistent with length of segments**
|
73
|
+
|
74
|
+
Thanks to @warp for noticing and fixing the scenario where Transaction nesting_max_depth can get out of sync
|
75
|
+
with segments length resulting in an exception when attempting to nest the initial segment which does not exist.
|
76
|
+
|
3
77
|
## v6.15.0
|
4
78
|
|
5
79
|
* **Official Ruby 3.0 support**
|
6
|
-
|
80
|
+
|
7
81
|
The ruby agent has been verified to run on ruby 3.0.0
|
8
82
|
|
9
83
|
* **Added support for Rails 6.1**
|
@@ -17,7 +91,7 @@
|
|
17
91
|
|
18
92
|
* **Bugfix: No longer overwrites sidekiq trace data**
|
19
93
|
|
20
|
-
Distributed
|
94
|
+
Distributed tracing data is now added to the job trace info rather than overwriting the existing data.
|
21
95
|
|
22
96
|
* **Bugfix: Fixes cases where errors are reported for spans with no other attributes**
|
23
97
|
|
@@ -26,7 +100,7 @@
|
|
26
100
|
This is now fixed and errors are now correctly recorded against such span events.
|
27
101
|
|
28
102
|
* **Bugfix: `DistributedTracing.insert_distributed_trace_headers` Supportability metric now recorded**
|
29
|
-
|
103
|
+
|
30
104
|
Previously, API calls to `DistributedTracing.insert_distributed_trace_headers` would lead to an exception
|
31
105
|
about the missing supportability metric rather than flowing through the API implementation as intended.
|
32
106
|
This would potentially lead to broken distributed traces as the trace headers were not inserted on the API call.
|
@@ -36,25 +110,25 @@
|
|
36
110
|
* **Bugfix: child completions after parent completes sometimes throws exception attempting to access nil parent**
|
37
111
|
|
38
112
|
In scenarios where the child segment/span is completing after the parent in jRuby, the parent may have already
|
39
|
-
been freed and no longer accessible. This would lead to
|
113
|
+
been freed and no longer accessible. This would lead to an attempt to call `descendant_complete` on a Nil
|
40
114
|
object. This is fixed to protect against calling the `descendant_complete` in such cases.
|
41
|
-
|
115
|
+
|
42
116
|
* **Feature: implements `force_install_exit_handler` config flag**
|
43
|
-
|
44
|
-
The `force_install_exit_handler` configuration flag allows an application to instruct the agent to install
|
45
|
-
graceful shutdown exit handler, which will send any locally cached data to the New Relic collector prior to the
|
46
|
-
application shutting down. This useful for when the primary framework has an embedded Sinatra application that
|
117
|
+
|
118
|
+
The `force_install_exit_handler` configuration flag allows an application to instruct the agent to install its
|
119
|
+
graceful shutdown exit handler, which will send any locally cached data to the New Relic collector prior to the
|
120
|
+
application shutting down. This is useful for when the primary framework has an embedded Sinatra application that
|
47
121
|
is otherwise detected and skips installing the exit hook for graceful shutdowns.
|
48
122
|
|
49
123
|
* **Default prepend_net_instrumentation to false**
|
50
124
|
|
51
|
-
Previously, `prepend_net_instrumentation` defaulted to true. However, many gems are still using monkey patching on Net::HTTP, which causes compatibility issues with using prepend. Defaulting this to false minimizes instances of
|
125
|
+
Previously, `prepend_net_instrumentation` defaulted to true. However, many gems are still using monkey patching on Net::HTTP, which causes compatibility issues with using prepend. Defaulting this to false minimizes instances of
|
52
126
|
unexpected compatibilty issues.
|
53
|
-
|
127
|
+
|
54
128
|
## v6.14.0
|
55
129
|
|
56
130
|
* **Bugfix: Method tracers no longer cloning arguments**
|
57
|
-
|
131
|
+
|
58
132
|
Previously, when calling add_method_tracer with certain combination of arguments, it would lead to the wrapped method's arguments being cloned rather than passed to the original method for manipulation as intended. This has been fixed.
|
59
133
|
|
60
134
|
* **Bugfix: Delayed Job instrumentation fixed for Ruby 2.7+**
|
@@ -63,22 +137,22 @@
|
|
63
137
|
Delayed Job's library. The led to Delayed job not auto-instrumenting correctly and has been fixed.
|
64
138
|
|
65
139
|
* **Bugfix: Ruby 2.7+ methods sometimes erroneously attributed compiler warnings to the Agent's `add_method_tracer`**
|
66
|
-
|
140
|
+
|
67
141
|
The specific edge cases presented are now fixed by this release of the agent. There are still some known corner-cases
|
68
|
-
that will be resolved with upcoming changes in next major release of the Agent. If you encounter a problem with adding
|
142
|
+
that will be resolved with upcoming changes in next major release of the Agent. If you encounter a problem with adding
|
69
143
|
method tracers and compiler warnings raised, please continue to submit small repoducible examples.
|
70
144
|
|
71
145
|
* **Bugfix: Ruby 2.7+ fix for keyword arguments on Rack apps is unnecessary and removed**
|
72
146
|
|
73
|
-
A common fix for positional and keyword arguments for method parameters was implemented where it was not needed and
|
74
|
-
led to RackApps getting extra arguments converted to keyword arguments rather than Hash when it expected one. This
|
147
|
+
A common fix for positional and keyword arguments for method parameters was implemented where it was not needed and
|
148
|
+
led to RackApps getting extra arguments converted to keyword arguments rather than Hash when it expected one. This
|
75
149
|
Ruby 2.7+ change was reverted so that Rack apps behave correctly for Ruby >= 2.7.
|
76
150
|
|
77
151
|
* **Feature: captures incoming and outgoing request headers for distributed tracing**
|
78
152
|
|
79
|
-
HTTP request headers will be logged when log level is at least debug level. Similarly, request headers
|
153
|
+
HTTP request headers will be logged when log level is at least debug level. Similarly, request headers
|
80
154
|
for exchanges with New Relic servers are now audit logged when audit logging is enabled.
|
81
|
-
|
155
|
+
|
82
156
|
* **Bugfix: `newrelic.yml.erb` added to the configuration search path**
|
83
157
|
|
84
158
|
Previously, when a user specifies a `newrelic.yml.erb` and no `newrelic.yml` file, the agent fails to find
|
@@ -88,7 +162,7 @@
|
|
88
162
|
the `.yml` file is used instead of the `.erb` file. Search directories and order of traversal remain unchanged.
|
89
163
|
|
90
164
|
* **Bugfix: dependency detection of Redis now works without raising an exception**
|
91
|
-
|
165
|
+
|
92
166
|
Previously, when detecting if Redis was available to instrument, the dependency detection would fail with an Exception raised
|
93
167
|
(with side effect of not attempting to instrument Redis). This is now fixed with a better dependency check that resolves falsly without raising an `Exception`.
|
94
168
|
|
@@ -99,12 +173,12 @@
|
|
99
173
|
|
100
174
|
* **Memory Sampler updated to recognize macOS Big Sur**
|
101
175
|
|
102
|
-
Previously, the agent was unable to recognize the platform macOS Big Sur in the memory sampler, resulting in an error being logged. The memory sampler is now able to recognize Big Sur.
|
176
|
+
Previously, the agent was unable to recognize the platform macOS Big Sur in the memory sampler, resulting in an error being logged. The memory sampler is now able to recognize Big Sur.
|
103
177
|
|
104
178
|
* **Prepend implementation of Net::HTTP instrumentation available**
|
105
|
-
|
179
|
+
|
106
180
|
There is now a config option (`prepend_net_instrumentation`) that will enable the agent to use prepend while instrumenting Net::HTTP. This option is set to true by default.
|
107
|
-
|
181
|
+
|
108
182
|
## v6.13.1
|
109
183
|
|
110
184
|
* **Bugfix: obfuscating URLs to external services no longer modifying original URI**
|
data/README.md
CHANGED
@@ -47,7 +47,7 @@ and then require the New Relic Ruby agent in your Ruby start-up sequence:
|
|
47
47
|
require 'newrelic_rpm'
|
48
48
|
```
|
49
49
|
|
50
|
-
####
|
50
|
+
#### Other Environments
|
51
51
|
|
52
52
|
Assuming you have installed the agent per above, you may also need to tell the Ruby agent to start for some frameworks and non-framework environments. To do so, add the following to your Ruby start-up sequence start the agent:
|
53
53
|
|
@@ -133,4 +133,4 @@ Thank you, and may your application scale to infinity plus one.
|
|
133
133
|
|
134
134
|
Lew Cirne, Founder and CEO
|
135
135
|
|
136
|
-
New Relic, Inc.
|
136
|
+
New Relic, Inc.
|
data/lib/new_relic/agent.rb
CHANGED
@@ -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
|
@@ -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
|
@@ -101,7 +130,8 @@ module NewRelic
|
|
101
130
|
when 4..6
|
102
131
|
:rails_notifications
|
103
132
|
else
|
104
|
-
::NewRelic::Agent.logger.
|
133
|
+
::NewRelic::Agent.logger.warn "Detected untested Rails version #{Rails::VERSION::STRING}"
|
134
|
+
:rails_notifications
|
105
135
|
end
|
106
136
|
when defined?(::Sinatra) && defined?(::Sinatra::Base) then :sinatra
|
107
137
|
when defined?(::NewRelic::IA) then :external
|
@@ -446,17 +476,6 @@ module NewRelic
|
|
446
476
|
:allowed_from_server => false,
|
447
477
|
:description => 'Autodetected application framework used to enable framework-specific functionality.'
|
448
478
|
},
|
449
|
-
:'autostart.blacklisted_constants' => {
|
450
|
-
:default => 'Rails::Console',
|
451
|
-
:public => true,
|
452
|
-
:type => String,
|
453
|
-
:allowed_from_server => false,
|
454
|
-
:description => 'Deprecated. ' \
|
455
|
-
'For agent versions 6.8.0 or higher, ' \
|
456
|
-
'use <a href="#autostart-denylisted_constants"><code>' \
|
457
|
-
'autostart.denylisted_constants' \
|
458
|
-
'</code></a> instead.'
|
459
|
-
},
|
460
479
|
:'autostart.denylisted_constants' => {
|
461
480
|
:default => 'Rails::Console',
|
462
481
|
:public => true,
|
@@ -464,55 +483,36 @@ module NewRelic
|
|
464
483
|
:allowed_from_server => false,
|
465
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>.'
|
466
485
|
},
|
467
|
-
:'autostart.blacklisted_executables' => {
|
468
|
-
:default => 'irb,rspec',
|
469
|
-
:public => true,
|
470
|
-
:type => String,
|
471
|
-
:allowed_from_server => false,
|
472
|
-
:description => 'Deprecated. ' \
|
473
|
-
'For agent versions 6.8.0 or higher, ' \
|
474
|
-
'use <a href="#autostart-denylisted_executables"><code>' \
|
475
|
-
'autostart.denylisted_executables' \
|
476
|
-
'</code></a> instead.'
|
477
|
-
},
|
478
486
|
:'autostart.denylisted_executables' => {
|
479
|
-
:default =>
|
487
|
+
:default => 'irb,rspec',
|
480
488
|
:public => true,
|
481
489
|
:type => String,
|
482
490
|
:allowed_from_server => false,
|
483
491
|
:description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, <code>rake,my_ruby_script.rb</code>.'
|
484
492
|
},
|
485
|
-
:'autostart.blacklisted_rake_tasks' => {
|
486
|
-
:default => AUTOSTART_DENYLISTED_RAKE_TASKS,
|
487
|
-
:public => true,
|
488
|
-
:type => String,
|
489
|
-
:allowed_from_server => false,
|
490
|
-
:description => 'Deprecated. ' \
|
491
|
-
'For agent versions 6.8.0 or higher, ' \
|
492
|
-
'use <a href="#autostart-denylisted_rake_tasks"><code>' \
|
493
|
-
'autostart.denylisted_rake_tasks' \
|
494
|
-
'</code></a> instead.'
|
495
|
-
},
|
496
493
|
:'autostart.denylisted_rake_tasks' => {
|
497
|
-
:default =>
|
494
|
+
:default => AUTOSTART_DENYLISTED_RAKE_TASKS,
|
498
495
|
:public => true,
|
499
496
|
:type => String,
|
500
497
|
:allowed_from_server => false,
|
501
498
|
:description => 'Defines a comma-delimited list of Rake tasks that the agent should not instrument. For example, <code>assets:precompile,db:migrate</code>.'
|
502
499
|
},
|
500
|
+
|
503
501
|
:disable_rake => {
|
504
502
|
:default => false,
|
505
503
|
:public => true,
|
506
504
|
:type => Boolean,
|
507
505
|
:allowed_from_server => false,
|
508
|
-
:
|
506
|
+
:deprecated => true,
|
507
|
+
:description => deprecated_description(:'instrumentation.rake', 'If <code>true</code>, disables Rake instrumentation.')
|
509
508
|
},
|
510
509
|
:disable_rake_instrumentation => {
|
511
510
|
:default => false,
|
512
511
|
:public => false,
|
513
512
|
:type => Boolean,
|
514
513
|
:allowed_from_server => false,
|
515
|
-
:
|
514
|
+
:deprecated => true,
|
515
|
+
:description => deprecated_description(:'instrumentation.rake', 'Enable or disable Rake instrumentation. Preferred key is `disable_rake`')
|
516
516
|
},
|
517
517
|
:'rake.tasks' => {
|
518
518
|
:default => [],
|
@@ -544,19 +544,6 @@ module NewRelic
|
|
544
544
|
:allowed_from_server => false,
|
545
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>.'
|
546
546
|
},
|
547
|
-
:'strip_exception_messages.whitelist' => {
|
548
|
-
:default => '',
|
549
|
-
:public => true,
|
550
|
-
:type => String,
|
551
|
-
:deprecated => true,
|
552
|
-
:allowed_from_server => false,
|
553
|
-
:transform => DefaultSource.method(:convert_to_constant_list),
|
554
|
-
:description => 'Deprecated. ' \
|
555
|
-
'For agent versions 6.8.0 or higher, ' \
|
556
|
-
'use <a href="#strip_exception_messages.allowed_classes"><code>' \
|
557
|
-
'strip_exception_messages.allowed_classes' \
|
558
|
-
'</code></a> instead.'
|
559
|
-
},
|
560
547
|
:'strip_exception_messages.allowed_classes' => {
|
561
548
|
:default => '',
|
562
549
|
:public => true,
|
@@ -776,8 +763,9 @@ module NewRelic
|
|
776
763
|
:default => false,
|
777
764
|
:public => true,
|
778
765
|
:type => Boolean,
|
766
|
+
:deprecated => true,
|
779
767
|
:allowed_from_server => false,
|
780
|
-
: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>.')
|
781
769
|
},
|
782
770
|
:disable_sidekiq => {
|
783
771
|
:default => false,
|
@@ -789,16 +777,18 @@ module NewRelic
|
|
789
777
|
:disable_dj => {
|
790
778
|
:default => false,
|
791
779
|
:public => true,
|
780
|
+
:deprecated => true,
|
792
781
|
:type => Boolean,
|
793
782
|
:allowed_from_server => false,
|
794
|
-
: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
|
+
)
|
795
785
|
},
|
796
786
|
:disable_sinatra => {
|
797
787
|
:default => false,
|
798
788
|
:public => true,
|
799
789
|
:type => Boolean,
|
800
790
|
:allowed_from_server => false,
|
801
|
-
: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>.' )
|
802
792
|
},
|
803
793
|
:disable_sinatra_auto_middleware => {
|
804
794
|
:default => false,
|
@@ -843,11 +833,170 @@ module NewRelic
|
|
843
833
|
:description => 'If <code>true</code>, uses Module.prepend rather than alias_method for ActiveRecord instrumentation.'
|
844
834
|
},
|
845
835
|
:prepend_net_instrumentation => {
|
846
|
-
:default =>
|
847
|
-
:public =>
|
836
|
+
:default => true,
|
837
|
+
:public => false,
|
848
838
|
:type => Boolean,
|
849
839
|
:allowed_from_server => false,
|
850
|
-
:
|
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].'
|
851
1000
|
},
|
852
1001
|
:disable_data_mapper => {
|
853
1002
|
:default => false,
|
@@ -884,36 +1033,41 @@ module NewRelic
|
|
884
1033
|
:default => value_of(:disable_memcache_instrumentation),
|
885
1034
|
:public => true,
|
886
1035
|
:type => Boolean,
|
1036
|
+
:deprecated => true,
|
887
1037
|
:allowed_from_server => false,
|
888
|
-
: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.')
|
889
1039
|
},
|
890
1040
|
:disable_memcache_client => {
|
891
1041
|
:default => value_of(:disable_memcache_instrumentation),
|
892
1042
|
:public => true,
|
893
1043
|
:type => Boolean,
|
1044
|
+
:deprecated => true,
|
894
1045
|
:allowed_from_server => false,
|
895
|
-
: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.')
|
896
1047
|
},
|
897
1048
|
:disable_dalli => {
|
898
1049
|
:default => value_of(:disable_memcache_instrumentation),
|
899
1050
|
:public => true,
|
900
1051
|
:type => Boolean,
|
1052
|
+
:deprecated => true,
|
901
1053
|
:allowed_from_server => false,
|
902
|
-
: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.')
|
903
1055
|
},
|
904
1056
|
:disable_dalli_cas_client => {
|
905
1057
|
:default => value_of(:disable_memcache_instrumentation),
|
906
1058
|
:public => true,
|
907
1059
|
:type => Boolean,
|
1060
|
+
:deprecated => true,
|
908
1061
|
:allowed_from_server => false,
|
909
|
-
: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.")
|
910
1063
|
},
|
911
1064
|
:disable_memcache_instrumentation => {
|
912
1065
|
:default => false,
|
913
1066
|
:public => true,
|
914
1067
|
:type => Boolean,
|
1068
|
+
:deprecated => true,
|
915
1069
|
:allowed_from_server => false,
|
916
|
-
:description => 'If <code>true</code>, disables memcache instrumentation.'
|
1070
|
+
:description => deprecated_description(:'instrumentation.memcache', 'If <code>true</code>, disables memcache instrumentation.')
|
917
1071
|
},
|
918
1072
|
:disable_gc_profiler => {
|
919
1073
|
:default => false,
|
@@ -1048,21 +1202,24 @@ module NewRelic
|
|
1048
1202
|
:type => Boolean,
|
1049
1203
|
:allowed_from_server => false,
|
1050
1204
|
:dynamic_name => true,
|
1051
|
-
:
|
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>.')
|
1052
1207
|
},
|
1053
1208
|
:disable_redis => {
|
1054
1209
|
:default => false,
|
1055
1210
|
:public => true,
|
1056
1211
|
:type => Boolean,
|
1212
|
+
:deprecated => true,
|
1057
1213
|
:allowed_from_server => false,
|
1058
|
-
: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>.')
|
1059
1215
|
},
|
1060
1216
|
:disable_redis_instrumentation => {
|
1061
1217
|
:default => false,
|
1062
1218
|
:public => false,
|
1063
1219
|
:type => Boolean,
|
1220
|
+
:deprecated => true,
|
1064
1221
|
:allowed_from_server => false,
|
1065
|
-
: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.')
|
1066
1223
|
},
|
1067
1224
|
:'message_tracer.segment_parameters.enabled' => {
|
1068
1225
|
:default => true,
|
@@ -1398,32 +1555,6 @@ module NewRelic
|
|
1398
1555
|
:allowed_from_server => false,
|
1399
1556
|
:description => 'If <code>true</code>, the agent won\'t measure the depth of Delayed Job queues.'
|
1400
1557
|
},
|
1401
|
-
:disable_active_record_4 => {
|
1402
|
-
:default => false,
|
1403
|
-
:public => true,
|
1404
|
-
:type => Boolean,
|
1405
|
-
:dynamic_name => true,
|
1406
|
-
:allowed_from_server => false,
|
1407
|
-
:deprecated => true,
|
1408
|
-
:description => 'Deprecated. ' \
|
1409
|
-
'For agent versions 6.3 or higher, ' \
|
1410
|
-
'use <a href="#disable_active_record_notifications"><code>' \
|
1411
|
-
'disable_active_record_notifications' \
|
1412
|
-
'</code></a> instead.'
|
1413
|
-
},
|
1414
|
-
:disable_active_record_5 => {
|
1415
|
-
:default => false,
|
1416
|
-
:public => true,
|
1417
|
-
:type => Boolean,
|
1418
|
-
:dynamic_name => true,
|
1419
|
-
:allowed_from_server => false,
|
1420
|
-
:deprecated => true,
|
1421
|
-
:description => 'Deprecated. ' \
|
1422
|
-
'For agent versions 6.3 or higher, ' \
|
1423
|
-
'use <a href="#disable_active_record_notifications"><code>' \
|
1424
|
-
'disable_active_record_notifications' \
|
1425
|
-
'</code></a> instead.'
|
1426
|
-
},
|
1427
1558
|
:disable_active_record_notifications => {
|
1428
1559
|
:default => false,
|
1429
1560
|
:public => true,
|
@@ -1436,33 +1567,45 @@ module NewRelic
|
|
1436
1567
|
:default => false,
|
1437
1568
|
:public => true,
|
1438
1569
|
:type => Boolean,
|
1570
|
+
:deprecated => true,
|
1439
1571
|
:dynamic_name => true,
|
1440
1572
|
:allowed_from_server => false,
|
1441
|
-
: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.')
|
1442
1574
|
},
|
1443
1575
|
:disable_curb => {
|
1444
1576
|
:default => false,
|
1445
1577
|
:public => true,
|
1446
1578
|
:type => Boolean,
|
1579
|
+
:deprecated => true,
|
1447
1580
|
:dynamic_name => true,
|
1448
1581
|
:allowed_from_server => false,
|
1449
|
-
: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.' )
|
1450
1583
|
},
|
1451
1584
|
:disable_excon => {
|
1452
1585
|
:default => false,
|
1453
1586
|
:public => true,
|
1454
1587
|
:type => Boolean,
|
1455
1588
|
:dynamic_name => true,
|
1589
|
+
:deprecated => true,
|
1456
1590
|
:allowed_from_server => false,
|
1457
|
-
:description => 'If <code>true</code>, disables instrumentation for the excon gem.'
|
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,
|
1598
|
+
:allowed_from_server => false,
|
1599
|
+
:description => "Controls auto-instrumentation of Excon at start up. May be one of [enabled|disabled]."
|
1458
1600
|
},
|
1459
1601
|
:disable_httpclient => {
|
1460
1602
|
:default => false,
|
1461
1603
|
:public => true,
|
1462
1604
|
:type => Boolean,
|
1463
1605
|
:dynamic_name => true,
|
1606
|
+
:deprecated => true,
|
1464
1607
|
:allowed_from_server => false,
|
1465
|
-
: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.')
|
1466
1609
|
},
|
1467
1610
|
:disable_net_http => {
|
1468
1611
|
:default => false,
|
@@ -1470,7 +1613,10 @@ module NewRelic
|
|
1470
1613
|
:type => Boolean,
|
1471
1614
|
:dynamic_name => true,
|
1472
1615
|
:allowed_from_server => false,
|
1473
|
-
:
|
1616
|
+
:deprecated => true,
|
1617
|
+
:description => deprecated_description(:'instrumentation.net_http',
|
1618
|
+
'If <code>true</code>, disables instrumentation for Net::HTTP.'
|
1619
|
+
)
|
1474
1620
|
},
|
1475
1621
|
:disable_rack => {
|
1476
1622
|
:default => false,
|
@@ -1478,7 +1624,8 @@ module NewRelic
|
|
1478
1624
|
:type => Boolean,
|
1479
1625
|
:dynamic_name => true,
|
1480
1626
|
:allowed_from_server => false,
|
1481
|
-
:
|
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.')
|
1482
1629
|
},
|
1483
1630
|
:disable_rack_urlmap => {
|
1484
1631
|
:default => false,
|
@@ -1486,7 +1633,8 @@ module NewRelic
|
|
1486
1633
|
:type => Boolean,
|
1487
1634
|
:dynamic_name => true,
|
1488
1635
|
:allowed_from_server => false,
|
1489
|
-
:
|
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.')
|
1490
1638
|
},
|
1491
1639
|
:disable_puma_rack => {
|
1492
1640
|
:default => value_of(:disable_rack),
|
@@ -1494,7 +1642,8 @@ module NewRelic
|
|
1494
1642
|
:type => Boolean,
|
1495
1643
|
:dynamic_name => true,
|
1496
1644
|
:allowed_from_server => false,
|
1497
|
-
:
|
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.')
|
1498
1647
|
},
|
1499
1648
|
:disable_puma_rack_urlmap => {
|
1500
1649
|
:default => value_of(:disable_rack_urlmap),
|
@@ -1502,23 +1651,26 @@ module NewRelic
|
|
1502
1651
|
:type => Boolean,
|
1503
1652
|
:dynamic_name => true,
|
1504
1653
|
:allowed_from_server => false,
|
1505
|
-
:
|
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.')
|
1506
1656
|
},
|
1507
1657
|
:disable_typhoeus => {
|
1508
1658
|
:default => false,
|
1509
1659
|
:public => true,
|
1510
1660
|
:type => Boolean,
|
1511
1661
|
:dynamic_name => true,
|
1662
|
+
:deprecated => true,
|
1512
1663
|
:allowed_from_server => false,
|
1513
|
-
: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.' )
|
1514
1665
|
},
|
1515
1666
|
:disable_httprb => {
|
1516
1667
|
:default => false,
|
1517
1668
|
:public => true,
|
1518
1669
|
:type => Boolean,
|
1519
1670
|
:dynamic_name => true,
|
1671
|
+
:deprecated => true,
|
1520
1672
|
:allowed_from_server => false,
|
1521
|
-
: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.' )
|
1522
1674
|
},
|
1523
1675
|
:disable_middleware_instrumentation => {
|
1524
1676
|
:default => false,
|
@@ -1627,14 +1779,28 @@ module NewRelic
|
|
1627
1779
|
:public => false,
|
1628
1780
|
:type => Boolean,
|
1629
1781
|
:allowed_from_server => false,
|
1630
|
-
:
|
1782
|
+
:deprecated => true,
|
1783
|
+
:description => deprecated_description(:'instrumentation.grape',
|
1784
|
+
'If <code>true</code>, the agent won\'t install Grape instrumentation.'
|
1785
|
+
)
|
1631
1786
|
},
|
1632
1787
|
:disable_grape => {
|
1633
1788
|
:default => false,
|
1634
1789
|
:public => true,
|
1635
1790
|
:type => Boolean,
|
1636
1791
|
:allowed_from_server => false,
|
1637
|
-
:
|
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]."
|
1638
1804
|
},
|
1639
1805
|
:'attributes.enabled' => {
|
1640
1806
|
:default => true,
|