newrelic_rpm 7.0.0 → 7.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 01dec51b68827b0fa9cd58d7882d9ddb29e7de80bcaa55cda486c30ff8529da9
4
- data.tar.gz: 358e73adb1e93b0e12bc7f415df728a4a8670bed0ac4eb36b81df545cc1c4651
3
+ metadata.gz: e364456c599b5484bd0b031f9bc19fd1ec634954c6c060eee1ac85c38adfed78
4
+ data.tar.gz: aaaaa6a31504b5aac1da40ac2c0d69fefbbae8525ce96ef38e7fc01460c618d9
5
5
  SHA512:
6
- metadata.gz: b06d4efcd172c4517ac7be9c7271833cef6709ff18040ceaa81240bf4a3f8ce66f9c609cc78dfffbadc698cc761a2c7e7b439c72d69b024808c10d4b9873180f
7
- data.tar.gz: 6f665d24f019d4e5c55aef8851a48f3fe7ff9735e16c41ba97cc27664fdfc9f66cdbcfd698aebe2072b12c7124431e00f4c08bdb4b15a57350d886ff98745f08
6
+ metadata.gz: c8a7d6825a9d05a99d45bffb9fc537f5630f9e8077cd939970f28b17e85991fa80443752bc05560b5fcea7f3a47058e68eb96621f66a0e3b2989206a0aa66ebd
7
+ data.tar.gz: 2586902aac108d89c355eccae23acf6b88a72c18abdc773ef4938f3a5aaf17568821e2890bd2ecc4e56695d3798f1f74bdb136f2df3fc6002aacaa563fd329ea
data/CHANGELOG.md CHANGED
@@ -1,5 +1,73 @@
1
1
  # New Relic Ruby Agent Release Notes #
2
2
 
3
+ ## v7.2.0
4
+
5
+ * **Expected Errors and Ignore Errors**
6
+ This release adds support for configuration for expected/ignored errors by class name, status code, and message. The following configuration options are now available:
7
+ - `error_collector.ignore_classes`
8
+ - `error_collector.ignore_messages`
9
+ - `error_collector.ignore_status_codes`
10
+ - `error_collector.expected_classes`
11
+ - `error_collector.expected_messages`
12
+ - `error_collector.expected_status_codes`
13
+ For more details about expected and ignored errors, please see our [configuration documentation](https://docs.newrelic.com/docs/agents/ruby-agent/configuration/)
14
+
15
+ * **Bugfix: resolves "can't add a new key into hash during iteration" Errors**
16
+
17
+ Thanks to @wyhaines for this fix that prevents "can't add a new key into hash during iteration" errors from occuring when iterating over environment data.
18
+
19
+ * **Bugfix: kwarg support fixed for Rack middleware instrumentation**
20
+
21
+ Thanks to @walro for submitting this fix. This fixes the rack instrumentation when using kwargs.
22
+
23
+ * **Update known conflicts with use of Module#Prepend**
24
+
25
+ With our release of v7.0.0, we updated our instrumentation to use Module#Prepend by default, instead of method chaining. We have received reports of conflicts and added a check for these known conflicts. If a known conflict with prepend is detected while using the default value of 'auto' for gem instrumentation, the agent will instead install method chaining instrumentation in order to avoid this conflict. This check can be bypassed by setting the instrumentation method for the gem to 'prepend'.
26
+
27
+
28
+ ## v7.1.0
29
+
30
+ * **Add support for CSP nonces when using our API to insert the browser agent**
31
+
32
+ We now support passing in a nonce to our API method `browser_timing_header` to allow the browser agent to run on applications using CSP nonces. This allows users to inject the browser agent themselves and use the nonce required for the script to run. In order to utilize this new feature, you must disable auto instrumentation for the browser agent, and use the API method browser_timing_header to pass the nonce in and inject the script manually.
33
+
34
+ * **Removed MD5 use in the SQL sampler**
35
+
36
+ In order to allow the agent to run in FIPS compliant environments, the usage of MD5 for aggregating slow sql traces has been replaced with SHA1.
37
+
38
+ * **Enable server-side configuration of distributed tracing**
39
+
40
+ `distributed_tracing.enabled` may now be set in server-side application configuration.
41
+
42
+ * **Bugfix: Fix for missing part of a previous bugfix**
43
+
44
+ Our previous fix of "nil Middlewares injection now prevented and gracefully handled in Sinatra" released in 7.0.0 was partially overwritten by some of the other changes in that release. This release adds back those missing sections of the bugfix, and should resolve the issue for sinatra users.
45
+
46
+ * **Update known conflicts with use of Module#Prepend**
47
+
48
+ With our release of v7.0.0, we updated our instrumentation to use Module#Prepend by default, instead of method chaining. We have received reports of conflicts and added a check for these known conflicts. If a known conflict with prepend is detected while using the default value of 'auto' for gem instrumentation, the agent will instead install method chaining instrumentation in order to avoid this conflict. This check can be bypassed by setting the instrumentation method for the gem to 'prepend'.
49
+
50
+ * **Bugfix: Updated support for ActiveRecord 6.1+ instrumentation**
51
+
52
+ Previously, the agent depended on `connection_id` to be present in the Active Support instrumentation for `sql.active_record`
53
+ to get the current ActiveRecord connection. As of Rails 6.1, `connection_id` has been dropped in favor of providing the connection
54
+ object through the `connection` value exclusively. This resulted in datastore spans displaying fallback behavior, including showing
55
+ "ActiveRecord" as the database vendor.
56
+
57
+ * **Bugfix: Updated support for Resque's FORK_PER_JOB option**
58
+
59
+ Support for Resque's FORK_PER_JOB flag within the Ruby agent was incomplete and nonfunctional. The agent should now behave
60
+ correctly when running in a non-forking Resque worker process.
61
+
62
+ * **Bugfix: Added check for ruby2_keywords in add_transaction_tracer**
63
+
64
+ Thanks @beauraF for the contribution! Previously, the add_transaction_tracer was not updated when we added support for ruby 3. In order to correctly support `**kwargs`, ruby2_keywords was added to correctly update the method signature to use **kwargs in ruby versions that support that.
65
+
66
+ * **Confirmed support for yajl 1.4.0**
67
+
68
+ Thanks to @creaturenex for the contribution! `yajl-ruby` 1.4.0 was added to our test suite and confirmed all tests pass, showing the agent supports this version as well.
69
+
70
+
3
71
  ## v7.0.0
4
72
 
5
73
  * **Ruby Agent 6.x to 7.x Migration Guide Available**
data/CONTRIBUTING.md CHANGED
@@ -6,8 +6,7 @@ development team.
6
6
 
7
7
  When contributing, keep in mind that the agent runs in a wide variety of Ruby
8
8
  language implementations (e.g. 2.x.x, jruby, etc.) as well as a wide variety of
9
- application environments (e.g. Rails, Sinatra, roll-your-own, etc.) See [Ruby agent requirements and supported frameworks]
10
- (https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks)
9
+ application environments (e.g. Rails, Sinatra, roll-your-own, etc.) See [Ruby agent requirements and supported frameworks](https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks)
11
10
  for the current full list.
12
11
 
13
12
  Because of this, we need to be more defensive in our coding practices than most
@@ -85,6 +84,18 @@ release from this repo, use the appropriate tag. New Relic usually pushes beta
85
84
  versions of a release to a working branch before tagging them for General
86
85
  Availability.
87
86
 
87
+ ## Development Environment Setup
88
+
89
+ 1. Fork and clone the repo locally
90
+ - Fork the repository inside GitHub
91
+ - `git clone git@github.com:<gh username>/newrelic-ruby-agent.git`
92
+ 1. Pick a Ruby version
93
+ - Use rbenv or rvm to install any version of Ruby between 2.2 up to 3.0.1
94
+ 1. Install development dependencies
95
+ - `bundle install`
96
+ 1. Check that your env is setup correctly
97
+ - `bundle exec rake`
98
+
88
99
  ## Testing
89
100
 
90
101
  The agent includes a suite of unit and functional tests which should be used to
@@ -44,6 +44,7 @@ module NewRelic
44
44
  require 'new_relic/agent/sql_sampler'
45
45
  require 'new_relic/agent/commands/thread_profiler_session'
46
46
  require 'new_relic/agent/error_collector'
47
+ require 'new_relic/agent/error_filter'
47
48
  require 'new_relic/agent/sampler'
48
49
  require 'new_relic/agent/database'
49
50
  require 'new_relic/agent/database_adapter'
@@ -758,13 +759,15 @@ module NewRelic
758
759
  # In previous agents there was a corresponding footer required, but all the
759
760
  # work is now done by this single method.
760
761
  #
762
+ # @param [String] nonce The nonce to use in the javascript tag for browser instrumentation
763
+ #
761
764
  # @api public
762
765
  #
763
- def browser_timing_header
766
+ def browser_timing_header(nonce=nil)
764
767
  record_api_supportability_metric(:browser_timing_header)
765
768
 
766
769
  return "" unless agent
767
- agent.javascript_instrumentor.browser_timing_header
770
+ agent.javascript_instrumentor.browser_timing_header(nonce)
768
771
  end
769
772
 
770
773
  # @!endgroup
@@ -17,6 +17,7 @@ require 'new_relic/agent/new_relic_service'
17
17
  require 'new_relic/agent/pipe_service'
18
18
  require 'new_relic/agent/configuration/manager'
19
19
  require 'new_relic/agent/database'
20
+ require 'new_relic/agent/instrumentation/resque/helper'
20
21
  require 'new_relic/agent/commands/agent_command_router'
21
22
  require 'new_relic/agent/event_listener'
22
23
  require 'new_relic/agent/distributed_tracing'
@@ -470,7 +471,7 @@ module NewRelic
470
471
  # before Resque calls Process.daemon (Jira RUBY-857)
471
472
  def defer_for_resque?
472
473
  NewRelic::Agent.config[:dispatcher] == :resque &&
473
- NewRelic::LanguageSupport.can_fork? &&
474
+ NewRelic::Agent::Instrumentation::Resque::Helper.resque_fork_per_job? &&
474
475
  !PipeChannelManager.listener.started?
475
476
  end
476
477
 
@@ -41,7 +41,7 @@ module NewRelic
41
41
 
42
42
  def self.deprecated_description new_setting, description
43
43
  link_ref = new_setting.to_s.gsub(".", "-")
44
- %{<a href="##{link_ref}"><code>#{new_setting}</code>}
44
+ %{Please see: [#{new_setting}](docs/agents/ruby-agent/configuration/ruby-agent-configuration##{link_ref}). \n\n#{description}}
45
45
  end
46
46
 
47
47
  class Boolean
@@ -325,14 +325,14 @@ module NewRelic
325
325
  :public => true,
326
326
  :type => String,
327
327
  :allowed_from_server => false,
328
- :description => 'Your New Relic <a href="https://docs.newrelic.com/docs/accounts-partnerships/accounts/account-setup/license-key">license key</a>.'
328
+ :description => 'Your New Relic [license key](/docs/accounts-partnerships/accounts/account-setup/license-key).'
329
329
  },
330
330
  :agent_enabled => {
331
331
  :default => DefaultSource.agent_enabled,
332
332
  :public => true,
333
333
  :type => Boolean,
334
334
  :allowed_from_server => false,
335
- :description => 'If <code>true</code>, allows the Ruby agent to run.'
335
+ :description => 'If `true`, allows the Ruby agent to run.'
336
336
  },
337
337
  :enabled => {
338
338
  :default => true,
@@ -348,7 +348,7 @@ module NewRelic
348
348
  :type => String,
349
349
  :allowed_from_server => false,
350
350
  :transform => DefaultSource.method(:convert_to_list_on_semicolon),
351
- :description => 'Specify the <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/installation-configuration/name-your-application">application name</a> used to aggregate data in the New Relic UI. To report data to <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/installation-configuration/using-multiple-names-app">multiple apps at the same time</a>, specify a list of names separated by a semicolon <code>;</code>. For example, <code>MyApp</code> or <code>MyStagingApp;Instance1</code>.'
351
+ :description => 'Specify the [application name](/docs/apm/new-relic-apm/installation-configuration/name-your-application) used to aggregate data in the New Relic UI. To report data to [multiple apps at the same time](/docs/apm/new-relic-apm/installation-configuration/using-multiple-names-app), specify a list of names separated by a semicolon `;`. For example, `MyApp` or `MyStagingApp;Instance1`.'
352
352
  },
353
353
  :entity_guid => {
354
354
  :default => nil,
@@ -356,35 +356,35 @@ module NewRelic
356
356
  :public => true,
357
357
  :type => String,
358
358
  :allowed_from_server => true,
359
- :description => 'The <a href="https://docs.newrelic.com/attribute-dictionary/span/entityguid">Entity GUID</a> for the entity running this agent.'
359
+ :description => 'The [Entity GUID](/attribute-dictionary/span/entityguid) for the entity running this agent.'
360
360
  },
361
361
  :monitor_mode => {
362
362
  :default => value_of(:enabled),
363
363
  :public => true,
364
364
  :type => Boolean,
365
365
  :allowed_from_server => false,
366
- :description => 'When <code>true</code>, the agent transmits data about your app to the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>.'
366
+ :description => 'When `true`, the agent transmits data about your app to the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector).'
367
367
  },
368
368
  :test_mode => {
369
369
  :default => false,
370
370
  :public => false,
371
371
  :type => Boolean,
372
372
  :allowed_from_server => false,
373
- :description => 'Used in tests for agent to start up but not connect to collector. Formerly used <code>developer_mode</code> in test config for this purpose.'
373
+ :description => 'Used in tests for agent to start up but not connect to collector. Formerly used `developer_mode` in test config for this purpose.'
374
374
  },
375
375
  :log_level => {
376
376
  :default => 'info',
377
377
  :public => true,
378
378
  :type => String,
379
379
  :allowed_from_server => false,
380
- :description => 'Sets the level of detail of log messages. Possible log levels, in increasing verbosity, are: <code>error</code>, <code>warn</code>, <code>info</code> or <code>debug</code>.'
380
+ :description => 'Sets the level of detail of log messages. Possible log levels, in increasing verbosity, are: `error`, `warn`, `info` or `debug`.'
381
381
  },
382
382
  :high_security => {
383
383
  :default => false,
384
384
  :public => true,
385
385
  :type => Boolean,
386
386
  :allowed_from_server => false,
387
- :description => 'If <code>true</code>, enables <a href="https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security">high security mode</a>. Ensure you understand the implications of high security mode before enabling this setting.'
387
+ :description => 'If `true`, enables [high security mode](/docs/accounts-partnerships/accounts/security/high-security). Ensure you understand the implications of high security mode before enabling this setting.'
388
388
  },
389
389
  :security_policies_token => {
390
390
  :default => '',
@@ -399,7 +399,7 @@ module NewRelic
399
399
  :public => true,
400
400
  :type => String,
401
401
  :allowed_from_server => false,
402
- :description => 'Defines a host for communicating with the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a> via a proxy server.'
402
+ :description => 'Defines a host for communicating with the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector) via a proxy server.'
403
403
  },
404
404
  :proxy_port => {
405
405
  :default => 8080,
@@ -407,7 +407,7 @@ module NewRelic
407
407
  :public => true,
408
408
  :type => Integer,
409
409
  :allowed_from_server => false,
410
- :description => 'Defines a port for communicating with the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a> via a proxy server.'
410
+ :description => 'Defines a port for communicating with the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector) via a proxy server.'
411
411
  },
412
412
  :proxy_user => {
413
413
  :default => nil,
@@ -416,7 +416,7 @@ module NewRelic
416
416
  :type => String,
417
417
  :allowed_from_server => false,
418
418
  :exclude_from_reported_settings => true,
419
- :description => 'Defines a user for communicating with the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a> via a proxy server.'
419
+ :description => 'Defines a user for communicating with the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector) via a proxy server.'
420
420
  },
421
421
  :proxy_pass => {
422
422
  :default => nil,
@@ -425,27 +425,26 @@ module NewRelic
425
425
  :type => String,
426
426
  :allowed_from_server => false,
427
427
  :exclude_from_reported_settings => true,
428
- :description => 'Defines a password for communicating with the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a> via a proxy server.'
428
+ :description => 'Defines a password for communicating with the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector) via a proxy server.'
429
429
  },
430
430
  :capture_params => {
431
431
  :default => false,
432
432
  :public => true,
433
433
  :type => Boolean,
434
434
  :allowed_from_server => false,
435
- :description => 'When <code>true</code>, the agent captures HTTP request parameters ' \
435
+ :description => 'When `true`, the agent captures HTTP request parameters ' \
436
436
  'and attaches them to transaction traces, traced errors, and ' \
437
- '<a href="https://docs.newrelic.com/attribute-dictionary?attribute_name=&events_tids%5B%5D=8241">'\
438
- '<code>TransactionError</code> events.' \
437
+ '[`TransactionError` events](/attribute-dictionary?attribute_name=&events_tids%5B%5D=8241)'\
439
438
  "\n" \
440
439
  '<div class="callout-warning">' \
441
440
  "\n" \
442
- '<p>When using the <code>capture_params</code> setting, the Ruby agent will not attempt ' \
441
+ 'When using the `capture_params` setting, the Ruby agent will not attempt ' \
443
442
  'to filter secret information. <b>Recommendation:</b> To filter secret information from ' \
444
- 'request parameters, use the <a href="/docs/agents/ruby-agent/attributes/enable-disable-attributes-ruby">' \
445
- '<code>attributes.include</code> setting</a> instead. For more information, see the ' \
443
+ 'request parameters, use the [`attributes.include` setting](/docs/agents/ruby-agent/attributes/enable-disable-attributes-ruby) ' \
444
+ 'instead. For more information, see the ' \
446
445
  '<a href="/docs/agents/ruby-agent/attributes/ruby-attribute-examples#ex_req_params">' \
447
446
  'Ruby attribute examples</a>.' \
448
- "</p>\n" \
447
+ "\n" \
449
448
  '</div>'
450
449
  },
451
450
  :config_path => {
@@ -481,21 +480,21 @@ module NewRelic
481
480
  :public => true,
482
481
  :type => String,
483
482
  :allowed_from_server => false,
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>.'
483
+ :description => 'Specify a list of constants that should prevent the agent from starting automatically. Separate individual constants with a comma `,`. For example, `Rails::Console,UninstrumentedBackgroundJob`.'
485
484
  },
486
485
  :'autostart.denylisted_executables' => {
487
486
  :default => 'irb,rspec',
488
487
  :public => true,
489
488
  :type => String,
490
489
  :allowed_from_server => false,
491
- :description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, <code>rake,my_ruby_script.rb</code>.'
490
+ :description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, `rake,my_ruby_script.rb`.'
492
491
  },
493
492
  :'autostart.denylisted_rake_tasks' => {
494
493
  :default => AUTOSTART_DENYLISTED_RAKE_TASKS,
495
494
  :public => true,
496
495
  :type => String,
497
496
  :allowed_from_server => false,
498
- :description => 'Defines a comma-delimited list of Rake tasks that the agent should not instrument. For example, <code>assets:precompile,db:migrate</code>.'
497
+ :description => 'Defines a comma-delimited list of Rake tasks that the agent should not instrument. For example, `assets:precompile,db:migrate`.'
499
498
  },
500
499
 
501
500
  :disable_rake => {
@@ -504,7 +503,7 @@ module NewRelic
504
503
  :type => Boolean,
505
504
  :allowed_from_server => false,
506
505
  :deprecated => true,
507
- :description => deprecated_description(:'instrumentation.rake', 'If <code>true</code>, disables Rake instrumentation.')
506
+ :description => deprecated_description(:'instrumentation.rake', 'If `true`, disables Rake instrumentation.')
508
507
  },
509
508
  :disable_rake_instrumentation => {
510
509
  :default => false,
@@ -535,14 +534,14 @@ module NewRelic
535
534
  :type => Float,
536
535
  :allowed_from_server => true,
537
536
  :deprecated => true,
538
- :description => 'Deprecated. For agent versions 3.5.0 or higher, <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/apdex/changing-your-apdex-settings">set your Apdex T via the New Relic UI</a>.'
537
+ :description => 'Deprecated. For agent versions 3.5.0 or higher, [set your Apdex T via the New Relic UI](/docs/apm/new-relic-apm/apdex/changing-your-apdex-settings).'
539
538
  },
540
539
  :'strip_exception_messages.enabled' => {
541
540
  :default => value_of(:high_security),
542
541
  :public => true,
543
542
  :type => Boolean,
544
543
  :allowed_from_server => false,
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>.'
544
+ :description => 'If true, the agent strips messages from all exceptions except those in the [allowlist](#strip_exception_messages-allowlist). Enabled automatically in [high security mode](/docs/accounts-partnerships/accounts/security/high-security).'
546
545
  },
547
546
  :'strip_exception_messages.allowed_classes' => {
548
547
  :default => '',
@@ -550,7 +549,7 @@ module NewRelic
550
549
  :type => String,
551
550
  :allowed_from_server => false,
552
551
  :transform => DefaultSource.method(:convert_to_constant_list),
553
- :description => 'Specify a list of exceptions you do not want the agent to strip when <a href="#strip_exception_messages-enabled">strip_exception_messages</a> is <code>true</code>. Separate exceptions with a comma. For example, <code>"ImportantException,PreserveMessageException"</code>.'
552
+ :description => 'Specify a list of exceptions you do not want the agent to strip when [strip_exception_messages](#strip_exception_messages-enabled) is `true`. Separate exceptions with a comma. For example, `"ImportantException,PreserveMessageException"`.'
554
553
  },
555
554
  :host => {
556
555
  :default => DefaultSource.host,
@@ -585,14 +584,14 @@ module NewRelic
585
584
  :public => true,
586
585
  :type => Boolean,
587
586
  :allowed_from_server => false,
588
- :description => 'When set to <code>true</code>, forces a synchronous connection to the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a> during application startup. For very short-lived processes, this helps ensure the New Relic agent has time to report.'
587
+ :description => 'When set to `true`, forces a synchronous connection to the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector) during application startup. For very short-lived processes, this helps ensure the New Relic agent has time to report.'
589
588
  },
590
589
  :send_data_on_exit => {
591
590
  :default => true,
592
591
  :public => true,
593
592
  :type => Boolean,
594
593
  :allowed_from_server => false,
595
- :description => 'If <code>true</code>, enables the exit handler that sends data to the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a> before shutting down.'
594
+ :description => 'If `true`, enables the exit handler that sends data to the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector) before shutting down.'
596
595
  },
597
596
  :max_payload_size_in_bytes => {
598
597
  :default => 1000000,
@@ -696,11 +695,11 @@ module NewRelic
696
695
  :type => Boolean,
697
696
  :allowed_from_server => false,
698
697
  :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. ' \
698
+ 'before shutting down to be installed regardless of detecting scenarios where it generally should not be. ' \
700
699
  '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.'
700
+ 'and the agent is detecting the Sinatra app and skipping the `at_exit` handler as a result. Sinatra classically ' \
701
+ 'runs the entire application in an `at_exit` block and would otherwise misbehave if the Agent\'s `at_exit` handler ' \
702
+ 'was also installed in those circumstances. Note: `send_data_on_exit` should also be set to `true` in tandem with this setting.'
704
703
  },
705
704
  :force_reconnect => {
706
705
  :default => false,
@@ -735,7 +734,7 @@ module NewRelic
735
734
  :public => true,
736
735
  :type => Boolean,
737
736
  :allowed_from_server => false,
738
- :description => 'If <code>true</code>, enables an audit log which logs communications with the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>.'
737
+ :description => 'If `true`, enables an audit log which logs communications with the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector).'
739
738
  },
740
739
  :'audit_log.path' => {
741
740
  :default => DefaultSource.audit_log_path,
@@ -757,7 +756,7 @@ module NewRelic
757
756
  :public => true,
758
757
  :type => Boolean,
759
758
  :allowed_from_server => false,
760
- :description => 'If <code>true</code>, disables the collection of sampler metrics. Sampler metrics are metrics that are not event-based (such as CPU time or memory usage).'
759
+ :description => 'If `true`, disables the collection of sampler metrics. Sampler metrics are metrics that are not event-based (such as CPU time or memory usage).'
761
760
  },
762
761
  :disable_resque => {
763
762
  :default => false,
@@ -765,14 +764,14 @@ module NewRelic
765
764
  :type => Boolean,
766
765
  :deprecated => true,
767
766
  :allowed_from_server => false,
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>.')
767
+ :description => deprecated_description(:'instrumentation.resque', 'If `true`, disables [Resque instrumentation](/docs/agents/ruby-agent/background-jobs/resque-instrumentation).')
769
768
  },
770
769
  :disable_sidekiq => {
771
770
  :default => false,
772
771
  :public => true,
773
772
  :type => Boolean,
774
773
  :allowed_from_server => false,
775
- :description => 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/sidekiq-instrumentation">Sidekiq instrumentation</a>.'
774
+ :description => 'If `true`, disables [Sidekiq instrumentation](/docs/agents/ruby-agent/background-jobs/sidekiq-instrumentation).'
776
775
  },
777
776
  :disable_dj => {
778
777
  :default => false,
@@ -780,29 +779,30 @@ module NewRelic
780
779
  :deprecated => true,
781
780
  :type => Boolean,
782
781
  :allowed_from_server => false,
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>.'
782
+ :description => deprecated_description(:'instrumentation.delayed_job', 'If `true`, disables [Delayed::Job instrumentation](/docs/agents/ruby-agent/background-jobs/delayedjob).'
784
783
  )
785
784
  },
786
785
  :disable_sinatra => {
787
786
  :default => false,
788
787
  :public => true,
789
788
  :type => Boolean,
789
+ :deprecated => true,
790
790
  :allowed_from_server => false,
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>.' )
791
+ :description => deprecated_description(:'instrumentation.sinatra', 'If `true` , disables [Sinatra instrumentation](/docs/agents/ruby-agent/frameworks/sinatra-support).' )
792
792
  },
793
793
  :disable_sinatra_auto_middleware => {
794
794
  :default => false,
795
795
  :public => true,
796
796
  :type => Boolean,
797
797
  :allowed_from_server => false,
798
- :description => 'If <code>true</code>, disables agent middleware for Sinatra. This middleware is responsible for advanced feature support such as <a href="https://docs.newrelic.com/docs/apm/transactions/cross-application-traces/cross-application-tracing">cross application tracing</a>, <a href="https://docs.newrelic.com/docs/browser/new-relic-browser/getting-started/new-relic-browser">page load timing</a>, and <a href="https://docs.newrelic.com/docs/apm/applications-menu/events/view-apm-error-analytics">error collection</a>.'
798
+ :description => 'If `true`, disables agent middleware for Sinatra. This middleware is responsible for advanced feature support such as [cross application tracing](/docs/apm/transactions/cross-application-traces/cross-application-tracing), [page load timing](/docs/browser/new-relic-browser/getting-started/new-relic-browser), and [error collection](/docs/apm/applications-menu/events/view-apm-error-analytics).'
799
799
  },
800
800
  :disable_view_instrumentation => {
801
801
  :default => false,
802
802
  :public => true,
803
803
  :type => Boolean,
804
804
  :allowed_from_server => false,
805
- :description => 'If <code>true</code>, disables view instrumentation.'
805
+ :description => 'If `true`, disables view instrumentation.'
806
806
  },
807
807
  :disable_harvest_thread => {
808
808
  :default => false,
@@ -823,14 +823,14 @@ module NewRelic
823
823
  :public => true,
824
824
  :type => Boolean,
825
825
  :allowed_from_server => false,
826
- :description => 'If <code>true</code>, disables active record instrumentation.'
826
+ :description => 'If `true`, disables active record instrumentation.'
827
827
  },
828
828
  :prepend_active_record_instrumentation => {
829
829
  :default => false,
830
830
  :public => true,
831
831
  :type => Boolean,
832
832
  :allowed_from_server => false,
833
- :description => 'If <code>true</code>, uses Module.prepend rather than alias_method for ActiveRecord instrumentation.'
833
+ :description => 'If `true`, uses `Module#prepend` rather than `alias_method` for ActiveRecord instrumentation.'
834
834
  },
835
835
  :prepend_net_instrumentation => {
836
836
  :default => true,
@@ -839,7 +839,7 @@ module NewRelic
839
839
  :allowed_from_server => false,
840
840
  :deprecated => true,
841
841
  :description => deprecated_description(:'instrumentation.net_http',
842
- 'If <code>true</code>, uses Module.prepend rather than alias_method for Net::HTTP instrumentation.'
842
+ 'If `true`, uses `Module#prepend` rather than alias_method for Net::HTTP instrumentation.'
843
843
  )
844
844
  },
845
845
  :'instrumentation.net_http' => {
@@ -945,7 +945,7 @@ module NewRelic
945
945
  :dynamic_name => true,
946
946
  :allowed_from_server => false,
947
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 " \
948
+ "`to_app` method in Rack::Builder to find gems to instrument during " \
949
949
  "application startup. May be one of [auto|prepend|chain|disabled]."
950
950
  },
951
951
  :'instrumentation.rack_urlmap' => {
@@ -963,7 +963,7 @@ module NewRelic
963
963
  :dynamic_name => true,
964
964
  :allowed_from_server => false,
965
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 " \
966
+ "`to_app` method in Puma::Rack::Builder to find gems to instrument during " \
967
967
  "application startup. May be one of [auto|prepend|chain|disabled]."
968
968
  },
969
969
  :'instrumentation.puma_rack_urlmap' => {
@@ -1003,7 +1003,7 @@ module NewRelic
1003
1003
  :public => true,
1004
1004
  :type => Boolean,
1005
1005
  :allowed_from_server => false,
1006
- :description => 'If <code>true</code>, disables DataMapper instrumentation.'
1006
+ :description => 'If `true`, disables DataMapper instrumentation.'
1007
1007
  },
1008
1008
  :disable_activejob => {
1009
1009
  :default => false,
@@ -1011,7 +1011,7 @@ module NewRelic
1011
1011
  :type => Boolean,
1012
1012
  :dynamic_name => true,
1013
1013
  :allowed_from_server => false,
1014
- :description => 'If <code>true</code>, disables ActiveJob instrumentation.'
1014
+ :description => 'If `true`, disables ActiveJob instrumentation.'
1015
1015
  },
1016
1016
  :disable_action_cable_instrumentation => {
1017
1017
  :default => false,
@@ -1019,7 +1019,7 @@ module NewRelic
1019
1019
  :type => Boolean,
1020
1020
  :dynamic_name => true,
1021
1021
  :allowed_from_server => false,
1022
- :description => 'If <code>true</code>, disables Action Cable instrumentation.'
1022
+ :description => 'If `true`, disables Action Cable instrumentation.'
1023
1023
  },
1024
1024
  :disable_active_storage => {
1025
1025
  :default => false,
@@ -1027,7 +1027,7 @@ module NewRelic
1027
1027
  :type => Boolean,
1028
1028
  :dynamic_name => true,
1029
1029
  :allowed_from_server => false,
1030
- :description => 'If <code>true</code>, disables ActiveStorage instrumentation.'
1030
+ :description => 'If `true`, disables ActiveStorage instrumentation.'
1031
1031
  },
1032
1032
  :disable_memcached => {
1033
1033
  :default => value_of(:disable_memcache_instrumentation),
@@ -1035,7 +1035,7 @@ module NewRelic
1035
1035
  :type => Boolean,
1036
1036
  :deprecated => true,
1037
1037
  :allowed_from_server => false,
1038
- :description => deprecated_description(:'instrumentation.memcached', 'If <code>true</code>, disables instrumentation for the memcached gem.')
1038
+ :description => deprecated_description(:'instrumentation.memcached', 'If `true`, disables instrumentation for the memcached gem.')
1039
1039
  },
1040
1040
  :disable_memcache_client => {
1041
1041
  :default => value_of(:disable_memcache_instrumentation),
@@ -1043,7 +1043,7 @@ module NewRelic
1043
1043
  :type => Boolean,
1044
1044
  :deprecated => true,
1045
1045
  :allowed_from_server => false,
1046
- :description => deprecated_description(:'instrumentation.memcache-client', 'If <code>true</code>, disables instrumentation for the memcache-client gem.')
1046
+ :description => deprecated_description(:'instrumentation.memcache-client', 'If `true`, disables instrumentation for the memcache-client gem.')
1047
1047
  },
1048
1048
  :disable_dalli => {
1049
1049
  :default => value_of(:disable_memcache_instrumentation),
@@ -1051,7 +1051,7 @@ module NewRelic
1051
1051
  :type => Boolean,
1052
1052
  :deprecated => true,
1053
1053
  :allowed_from_server => false,
1054
- :description => deprecated_description(:'instrumentation.memcache', 'If <code>true</code>, disables instrumentation for the dalli gem.')
1054
+ :description => deprecated_description(:'instrumentation.memcache', 'If `true`, disables instrumentation for the dalli gem.')
1055
1055
  },
1056
1056
  :disable_dalli_cas_client => {
1057
1057
  :default => value_of(:disable_memcache_instrumentation),
@@ -1059,7 +1059,7 @@ module NewRelic
1059
1059
  :type => Boolean,
1060
1060
  :deprecated => true,
1061
1061
  :allowed_from_server => false,
1062
- :description => deprecated_description(:'instrumentation.memcache', "If <code>true</code>, disables instrumentation for the dalli gem\'s additional CAS client support.")
1062
+ :description => deprecated_description(:'instrumentation.memcache', "If `true`, disables instrumentation for the dalli gem\'s additional CAS client support.")
1063
1063
  },
1064
1064
  :disable_memcache_instrumentation => {
1065
1065
  :default => false,
@@ -1067,14 +1067,14 @@ module NewRelic
1067
1067
  :type => Boolean,
1068
1068
  :deprecated => true,
1069
1069
  :allowed_from_server => false,
1070
- :description => deprecated_description(:'instrumentation.memcache', 'If <code>true</code>, disables memcache instrumentation.')
1070
+ :description => deprecated_description(:'instrumentation.memcache', 'If `true`, disables memcache instrumentation.')
1071
1071
  },
1072
1072
  :disable_gc_profiler => {
1073
1073
  :default => false,
1074
1074
  :public => true,
1075
1075
  :type => Boolean,
1076
1076
  :allowed_from_server => false,
1077
- :description => 'If <code>true</code>, disables the use of GC::Profiler to measure time spent in garbage collection'
1077
+ :description => 'If `true`, disables the use of GC::Profiler to measure time spent in garbage collection'
1078
1078
  },
1079
1079
  :'sidekiq.capture_params' => {
1080
1080
  :default => false,
@@ -1083,7 +1083,7 @@ module NewRelic
1083
1083
  :allowed_from_server => false,
1084
1084
  :dynamic_name => true,
1085
1085
  :deprecated => true,
1086
- :description => 'If <code>true</code>, enables the capture of job arguments for transaction traces and traced errors in Sidekiq.'
1086
+ :description => 'If `true`, enables the capture of job arguments for transaction traces and traced errors in Sidekiq.'
1087
1087
  },
1088
1088
  :'resque.capture_params' => {
1089
1089
  :default => false,
@@ -1092,7 +1092,7 @@ module NewRelic
1092
1092
  :allowed_from_server => false,
1093
1093
  :dynamic_name => true,
1094
1094
  :deprecated => true,
1095
- :description => 'If <code>true</code>, enables the capture of job arguments for transaction traces and traced errors in Resque.'
1095
+ :description => 'If `true`, enables the capture of job arguments for transaction traces and traced errors in Resque.'
1096
1096
  },
1097
1097
  :'resque.use_ruby_dns' => {
1098
1098
  :default => true,
@@ -1113,37 +1113,37 @@ module NewRelic
1113
1113
  :public => true,
1114
1114
  :type => Boolean,
1115
1115
  :allowed_from_server => true,
1116
- :description => 'If <code>true</code>, enables collection of <a href="https://docs.newrelic.com/docs/apm/traces/transaction-traces/transaction-traces">transaction traces</a>.'
1116
+ :description => 'If `true`, enables collection of [transaction traces](/docs/apm/traces/transaction-traces/transaction-traces).'
1117
1117
  },
1118
1118
  :'transaction_tracer.transaction_threshold' => {
1119
1119
  :default => DefaultSource.transaction_tracer_transaction_threshold,
1120
1120
  :public => true,
1121
1121
  :type => Float,
1122
1122
  :allowed_from_server => true,
1123
- :description => 'Specify a threshold in seconds. Transactions with a duration longer than this threshold are eligible for transaction traces. Specify a float value or the string <code><a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#apdex_f">apdex_f</a></code>.'
1123
+ :description => 'Specify a threshold in seconds. Transactions with a duration longer than this threshold are eligible for transaction traces. Specify a float value or the string `apdex_f`.'
1124
1124
  },
1125
1125
  :'transaction_tracer.record_sql' => {
1126
1126
  :default => 'obfuscated',
1127
1127
  :public => true,
1128
1128
  :type => String,
1129
1129
  :allowed_from_server => true,
1130
- :description => 'Obfuscation level for SQL queries reported in transaction trace nodes.</p>
1130
+ :description => 'Obfuscation level for SQL queries reported in transaction trace nodes.
1131
1131
 
1132
- <p>By default, this is set to <code>obfuscated</code>, which strips out the numeric and string literals.</p>
1132
+ By default, this is set to `obfuscated`, which strips out the numeric and string literals.
1133
1133
 
1134
1134
  <ul>
1135
- <li>If you do not want the agent to capture query information, set this to <code>none</code>.</li>
1136
- <li>If you want the agent to capture all query information in its original form, set this to <code>raw</code>.</li>
1137
- <li>When you enable <a href="/docs/agents/manage-apm-agents/configuration/high-security-mode">high security mode</a>, this is automatically set to <code>obfuscated</code>.</li>
1135
+ <li>If you do not want the agent to capture query information, set this to `none`.</li>
1136
+ <li>If you want the agent to capture all query information in its original form, set this to `raw`.</li>
1137
+ <li>When you enable [high security mode](/docs/agents/manage-apm-agents/configuration/high-security-mode), this is automatically set to `obfuscated`.</li>
1138
1138
  </ul>
1139
- <p>' # Doc generator will wrap this in <p>...</p>
1139
+ '
1140
1140
  },
1141
1141
  :'transaction_tracer.record_redis_arguments' => {
1142
1142
  :default => false,
1143
1143
  :public => true,
1144
1144
  :type => Boolean,
1145
1145
  :allowed_from_server => false,
1146
- :description => 'If <code>true</code>, the agent records Redis command arguments in transaction traces.'
1146
+ :description => 'If `true`, the agent records Redis command arguments in transaction traces.'
1147
1147
  },
1148
1148
  :'transaction_tracer.capture_attributes' => {
1149
1149
  :default => true,
@@ -1151,21 +1151,21 @@ module NewRelic
1151
1151
  :type => Boolean,
1152
1152
  :deprecated => true,
1153
1153
  :allowed_from_server => false,
1154
- :description => 'Deprecated; use <a href="#transaction_tracer-attributes-enabled"><code>transaction_tracer.attributes.enabled</code></a> instead.'
1154
+ :description => 'Deprecated; use [`transaction_tracer.attributes.enabled`](#transaction_tracer-attributes-enabled) instead.'
1155
1155
  },
1156
1156
  :'transaction_tracer.explain_threshold' => {
1157
1157
  :default => 0.5,
1158
1158
  :public => true,
1159
1159
  :type => Float,
1160
1160
  :allowed_from_server => true,
1161
- :description => 'Threshold (in seconds) above which the agent will collect explain plans. Relevant only when <code><a href="#transaction_tracer.explain_enabled">explain_enabled</a></code> is true.'
1161
+ :description => 'Threshold (in seconds) above which the agent will collect explain plans. Relevant only when [`explain_enabled`](#transaction_tracer.explain_enabled) is true.'
1162
1162
  },
1163
1163
  :'transaction_tracer.explain_enabled' => {
1164
1164
  :default => true,
1165
1165
  :public => true,
1166
1166
  :type => Boolean,
1167
1167
  :allowed_from_server => true,
1168
- :description => 'If <code>true</code>, enables the collection of explain plans in transaction traces. This setting will also apply to explain plans in slow SQL traces if <a href="#slow_sql-explain_enabled"><code>slow_sql.explain_enabled</code></a> is not set separately.'
1168
+ :description => 'If `true`, enables the collection of explain plans in transaction traces. This setting will also apply to explain plans in slow SQL traces if [`slow_sql.explain_enabled`](#slow_sql-explain_enabled) is not set separately.'
1169
1169
  },
1170
1170
  :'transaction_tracer.stack_trace_threshold' => {
1171
1171
  :default => 0.5,
@@ -1186,7 +1186,7 @@ module NewRelic
1186
1186
  :public => true,
1187
1187
  :type => Boolean,
1188
1188
  :allowed_from_server => false,
1189
- :description => 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/sequel-instrumentation">Sequel instrumentation</a>.'
1189
+ :description => 'If `true`, disables [Sequel instrumentation](/docs/agents/ruby-agent/frameworks/sequel-instrumentation).'
1190
1190
  },
1191
1191
  :disable_database_instrumentation => {
1192
1192
  :default => false,
@@ -1194,7 +1194,7 @@ module NewRelic
1194
1194
  :type => Boolean,
1195
1195
  :allowed_from_server => false,
1196
1196
  :deprecated => true,
1197
- :description => 'Deprecated; use <a href="#disable_sequel_instrumentation"><code>disable_sequel_instrumentation</code></a> instead.'
1197
+ :description => 'Deprecated; use [`disable_sequel_instrumentation`](#disable_sequel_instrumentation) instead.'
1198
1198
  },
1199
1199
  :disable_mongo => {
1200
1200
  :default => false,
@@ -1203,7 +1203,7 @@ module NewRelic
1203
1203
  :allowed_from_server => false,
1204
1204
  :dynamic_name => true,
1205
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>.')
1206
+ :description => deprecated_description(:'instrumentation.mongo', 'If `true`, the agent won\'t install [instrumentation for the Mongo gem](/docs/agents/ruby-agent/frameworks/mongo-instrumentation).')
1207
1207
  },
1208
1208
  :disable_redis => {
1209
1209
  :default => false,
@@ -1211,7 +1211,7 @@ module NewRelic
1211
1211
  :type => Boolean,
1212
1212
  :deprecated => true,
1213
1213
  :allowed_from_server => false,
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>.')
1214
+ :description => deprecated_description(:'instrumentation.redis', 'If `true`, the agent won\'t install [instrumentation for Redis](/docs/agents/ruby-agent/frameworks/redis-instrumentation).')
1215
1215
  },
1216
1216
  :disable_redis_instrumentation => {
1217
1217
  :default => false,
@@ -1226,35 +1226,35 @@ module NewRelic
1226
1226
  :public => true,
1227
1227
  :type => Boolean,
1228
1228
  :allowed_from_server => true,
1229
- :description => 'If <code>true</code>, the agent will collect metadata about messages and attach them as segment parameters.'
1229
+ :description => 'If `true`, the agent will collect metadata about messages and attach them as segment parameters.'
1230
1230
  },
1231
1231
  :'slow_sql.enabled' => {
1232
1232
  :default => value_of(:'transaction_tracer.enabled'),
1233
1233
  :public => true,
1234
1234
  :type => Boolean,
1235
1235
  :allowed_from_server => true,
1236
- :description => 'If <code>true</code>, the agent collects <a href="https://docs.newrelic.com/docs/apm/applications-menu/monitoring/viewing-slow-query-details">slow SQL queries</a>.'
1236
+ :description => 'If `true`, the agent collects [slow SQL queries](/docs/apm/applications-menu/monitoring/viewing-slow-query-details).'
1237
1237
  },
1238
1238
  :'slow_sql.explain_threshold' => {
1239
1239
  :default => value_of(:'transaction_tracer.explain_threshold'),
1240
1240
  :public => true,
1241
1241
  :type => Float,
1242
1242
  :allowed_from_server => true,
1243
- :description => 'Specify a threshold in seconds. The agent collects <a href="https://docs.newrelic.com/docs/apm/applications-menu/monitoring/viewing-slow-query-details">slow SQL queries</a> and explain plans that exceed this threshold.'
1243
+ :description => 'Specify a threshold in seconds. The agent collects [slow SQL queries](/docs/apm/applications-menu/monitoring/viewing-slow-query-details) and explain plans that exceed this threshold.'
1244
1244
  },
1245
1245
  :'slow_sql.explain_enabled' => {
1246
1246
  :default => value_of(:'transaction_tracer.explain_enabled'),
1247
1247
  :public => true,
1248
1248
  :type => Boolean,
1249
1249
  :allowed_from_server => true,
1250
- :description => 'If <code>true</code>, the agent collects explain plans in slow SQL queries. If this setting is omitted, the <a href="#transaction_tracer-explain_enabled"><code>transaction_tracer.explain_enabled</code></a> setting will be applied as the default setting for explain plans in slow SQL as well.'
1250
+ :description => 'If `true`, the agent collects explain plans in slow SQL queries. If this setting is omitted, the [`transaction_tracer.explain_enabled`](#transaction_tracer-explain_enabled) setting will be applied as the default setting for explain plans in slow SQL as well.'
1251
1251
  },
1252
1252
  :'slow_sql.record_sql' => {
1253
1253
  :default => value_of(:'transaction_tracer.record_sql'),
1254
1254
  :public => true,
1255
1255
  :type => String,
1256
1256
  :allowed_from_server => true,
1257
- :description => 'Defines an obfuscation level for slow SQL queries. Valid options are <code>obfuscated</code>, <code>raw</code>, or <code>none</code>).'
1257
+ :description => 'Defines an obfuscation level for slow SQL queries. Valid options are `obfuscated`, `raw`, or `none`).'
1258
1258
  },
1259
1259
  :'slow_sql.use_longer_sql_id' => {
1260
1260
  :default => false,
@@ -1268,21 +1268,21 @@ module NewRelic
1268
1268
  :public => true,
1269
1269
  :type => Boolean,
1270
1270
  :allowed_from_server => true,
1271
- :description => 'If <code>true</code>, the agent captures Mongo queries in transaction traces.'
1271
+ :description => 'If `true`, the agent captures Mongo queries in transaction traces.'
1272
1272
  },
1273
1273
  :'mongo.obfuscate_queries' => {
1274
1274
  :default => true,
1275
1275
  :public => true,
1276
1276
  :type => Boolean,
1277
1277
  :allowed_from_server => true,
1278
- :description => 'If <code>true</code>, the agent obfuscates Mongo queries in transaction traces.'
1278
+ :description => 'If `true`, the agent obfuscates Mongo queries in transaction traces.'
1279
1279
  },
1280
1280
  :'error_collector.enabled' => {
1281
1281
  :default => true,
1282
1282
  :public => true,
1283
1283
  :type => Boolean,
1284
1284
  :allowed_from_server => true,
1285
- :description => 'If <code>true</code>, the agent captures traced errors and error count metrics.'
1285
+ :description => 'If `true`, the agent captures traced errors and error count metrics.'
1286
1286
  },
1287
1287
  :'error_collector.capture_attributes' => {
1288
1288
  :default => true,
@@ -1290,14 +1290,63 @@ module NewRelic
1290
1290
  :type => Boolean,
1291
1291
  :deprecated => true,
1292
1292
  :allowed_from_server => false,
1293
- :description => 'Deprecated; use <a href="#error_collector-attributes-enabled"><code>error_collector.attributes.enabled</code></a> instead.'
1293
+ :description => 'Deprecated; use [`error_collector.attributes.enabled`](#error_collector-attributes-enabled) instead.'
1294
1294
  },
1295
1295
  :'error_collector.ignore_errors' => {
1296
1296
  :default => 'ActionController::RoutingError,Sinatra::NotFound',
1297
1297
  :public => true,
1298
1298
  :type => String,
1299
1299
  :allowed_from_server => true,
1300
- :description => 'Specify a comma-delimited list of error classes that the agent should ignore.'
1300
+ :dynamic_name => true,
1301
+ :description => 'DEPRECATED; use `error_collector.ignore_classes` instead. Specify a comma-delimited list of error classes that the agent should ignore.'
1302
+ },
1303
+ :'error_collector.ignore_classes' => {
1304
+ :default => [],
1305
+ :public => true,
1306
+ :type => Array,
1307
+ :allowed_from_server => true,
1308
+ :dynamic_name => true,
1309
+ :description => 'A list of error classes that the agent should ignore. *Note: this setting cannot be set via environment variable.*'
1310
+ },
1311
+ :'error_collector.ignore_messages' => {
1312
+ :default => {},
1313
+ :public => true,
1314
+ :type => Hash,
1315
+ :allowed_from_server => true,
1316
+ :dynamic_name => true,
1317
+ :description => 'A map of error classes to a list of messages. When an error of one of the classes specified here occurs, if its error message contains one of the strings corresponding to it here, that error will be ignored. *Note: this setting cannot be set via environment variable.*'
1318
+ },
1319
+ :'error_collector.ignore_status_codes' => {
1320
+ :default => '',
1321
+ :public => true,
1322
+ :type => String,
1323
+ :allowed_from_server => true,
1324
+ :dynamic_name => true,
1325
+ :description => 'A comma separated list of status codes, possibly including ranges. Errors associated with these status codes, where applicable, will be ignored.'
1326
+ },
1327
+ :'error_collector.expected_classes' => {
1328
+ :default => [],
1329
+ :public => true,
1330
+ :type => Array,
1331
+ :allowed_from_server => true,
1332
+ :dynamic_name => true,
1333
+ :description => 'A list of error classes that the agent should treat as expected. *Note: this setting cannot be set via environment variable.*'
1334
+ },
1335
+ :'error_collector.expected_messages' => {
1336
+ :default => {},
1337
+ :public => true,
1338
+ :type => Hash,
1339
+ :allowed_from_server => true,
1340
+ :dynamic_name => true,
1341
+ :description => 'A map of error classes to a list of messages. When an error of one of the classes specified here occurs, if its error message contains one of the strings corresponding to it here, that error will be treated as expected. *Note: this setting cannot be set via environment variable.*'
1342
+ },
1343
+ :'error_collector.expected_status_codes' => {
1344
+ :default => '',
1345
+ :public => true,
1346
+ :type => String,
1347
+ :allowed_from_server => true,
1348
+ :dynamic_name => true,
1349
+ :description => 'A comma separated list of status codes, possibly including ranges. Errors associated with these status codes, where applicable, will be treated as expected.'
1301
1350
  },
1302
1351
  :'error_collector.max_backtrace_frames' => {
1303
1352
  :default => 50,
@@ -1312,14 +1361,14 @@ module NewRelic
1312
1361
  :type => Boolean,
1313
1362
  :allowed_from_server => true,
1314
1363
  :dynamic_name => true,
1315
- :description => 'If <code>true</code>, the agent collects <a href="https://docs.newrelic.com/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights">TransactionError events</a>.'
1364
+ :description => 'If `true`, the agent collects [TransactionError events](/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights).'
1316
1365
  },
1317
1366
  :'error_collector.max_event_samples_stored' => {
1318
1367
  :default => 100,
1319
1368
  :public => true,
1320
1369
  :type => Integer,
1321
1370
  :allowed_from_server => true,
1322
- :description => 'Defines the maximum number of <a href="https://docs.newrelic.com/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights">TransactionError events</a> sent to Insights per harvest cycle.'
1371
+ :description => 'Defines the maximum number of [TransactionError events](/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights) sent to Insights per harvest cycle.'
1323
1372
  },
1324
1373
  :'rum.enabled' => {
1325
1374
  :default => true,
@@ -1368,7 +1417,7 @@ module NewRelic
1368
1417
  :public => true,
1369
1418
  :type => Boolean,
1370
1419
  :allowed_from_server => true,
1371
- :description => 'If <code>true</code>, enables <a href="https://docs.newrelic.com/docs/browser/new-relic-browser/installation-configuration/adding-apps-new-relic-browser#select-apm-app">auto-injection</a> of the JavaScript header for page load timing (sometimes referred to as real user monitoring or RUM).'
1420
+ :description => 'If `true`, enables [auto-injection](/docs/browser/new-relic-browser/installation-configuration/adding-apps-new-relic-browser#select-apm-app) of the JavaScript header for page load timing (sometimes referred to as real user monitoring or RUM).'
1372
1421
  },
1373
1422
  :'browser_monitoring.capture_attributes' => {
1374
1423
  :default => false,
@@ -1376,7 +1425,7 @@ module NewRelic
1376
1425
  :type => Boolean,
1377
1426
  :deprecated => true,
1378
1427
  :allowed_from_server => false,
1379
- :description => 'Deprecated; use <a href="#browser_monitoring-attributes-enabled"><code>browser_monitoring.attributes.enabled</code></a> instead.'
1428
+ :description => 'Deprecated; use [`browser_monitoring.attributes.enabled`](#browser_monitoring-attributes-enabled) instead.'
1380
1429
  },
1381
1430
  :'browser_monitoring.loader' => {
1382
1431
  :default => DefaultSource.browser_monitoring_loader,
@@ -1390,7 +1439,7 @@ module NewRelic
1390
1439
  :public => false,
1391
1440
  :type => String,
1392
1441
  :allowed_from_server => true,
1393
- :description => 'Version of JavaScript agent loader (returned from the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>.)'
1442
+ :description => 'Version of JavaScript agent loader (returned from the New Relic [collector](/docs/apm/new-relic-apm/getting-started/glossary#collector).)'
1394
1443
  },
1395
1444
  :'browser_monitoring.debug' => {
1396
1445
  :default => false,
@@ -1434,7 +1483,7 @@ module NewRelic
1434
1483
  :public => true,
1435
1484
  :type => Boolean,
1436
1485
  :allowed_from_server => true,
1437
- :description => 'If <code>true</code>, enables <a href="https://docs.newrelic.com/docs/apm/transactions/cross-application-traces/cross-application-tracing">cross-application tracing</a>.'
1486
+ :description => 'If `true`, enables [cross-application tracing](/docs/apm/transactions/cross-application-traces/cross-application-tracing).'
1438
1487
  },
1439
1488
  :cross_application_tracing => {
1440
1489
  :default => nil,
@@ -1464,7 +1513,7 @@ module NewRelic
1464
1513
  :public => true,
1465
1514
  :type => Boolean,
1466
1515
  :allowed_from_server => true,
1467
- :description => 'If <code>true</code>, enables use of the <a href="https://docs.newrelic.com/docs/apm/applications-menu/events/thread-profiler-tool">thread profiler</a>.'
1516
+ :description => 'If `true`, enables use of the [thread profiler](/docs/apm/applications-menu/events/thread-profiler-tool).'
1468
1517
  },
1469
1518
  :'thread_profiler.max_profile_overhead' => {
1470
1519
  :default => 0.05,
@@ -1478,14 +1527,14 @@ module NewRelic
1478
1527
  :public => true,
1479
1528
  :type => String,
1480
1529
  :allowed_from_server => false,
1481
- :description => 'Specifies a marshaller for transmitting data to the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>. Currently <code>json</code> is the only valid value for this setting.'
1530
+ :description => 'Specifies a marshaller for transmitting data to the New Relic [collector](/docs/apm/new-relic-apm/getting-started/glossary#collector). Currently `json` is the only valid value for this setting.'
1482
1531
  },
1483
1532
  :'analytics_events.enabled' => {
1484
1533
  :default => true,
1485
1534
  :public => true,
1486
1535
  :type => Boolean,
1487
1536
  :allowed_from_server => true,
1488
- :description => 'If <code>true</code>, enables analytics event sampling.'
1537
+ :description => 'If `true`, enables analytics event sampling.'
1489
1538
  },
1490
1539
  :'analytics_events.max_samples_stored' => {
1491
1540
  :default => 1200,
@@ -1500,7 +1549,7 @@ module NewRelic
1500
1549
  :type => Boolean,
1501
1550
  :deprecated => true,
1502
1551
  :allowed_from_server => false,
1503
- :description => 'Deprecated; use <a href="#transaction_events-attributes-enabled"><code>transaction_events.attributes.enabled</code></a> instead.'
1552
+ :description => 'Deprecated; use [`transaction_events.attributes.enabled`](#transaction_events-attributes-enabled) instead.'
1504
1553
  },
1505
1554
  :restart_thread_in_children => {
1506
1555
  :default => true,
@@ -1529,7 +1578,7 @@ module NewRelic
1529
1578
  :type => Boolean,
1530
1579
  :dynamic_name => true,
1531
1580
  :allowed_from_server => false,
1532
- :description => 'If <code>true</code>, the agent won\'t <a href="https://docs.newrelic.com/docs/agents/ruby-agent/features/ruby-vm-measurements">sample performance measurements from the Ruby VM</a>.'
1581
+ :description => 'If `true`, the agent won\'t [sample performance measurements from the Ruby VM](/docs/agents/ruby-agent/features/ruby-vm-measurements).'
1533
1582
  },
1534
1583
  :disable_memory_sampler => {
1535
1584
  :default => false,
@@ -1537,7 +1586,7 @@ module NewRelic
1537
1586
  :type => Boolean,
1538
1587
  :dynamic_name => true,
1539
1588
  :allowed_from_server => false,
1540
- :description => 'If <code>true</code>, the agent won\'t sample the memory usage of the host process.'
1589
+ :description => 'If `true`, the agent won\'t sample the memory usage of the host process.'
1541
1590
  },
1542
1591
  :disable_cpu_sampler => {
1543
1592
  :default => false,
@@ -1545,7 +1594,7 @@ module NewRelic
1545
1594
  :type => Boolean,
1546
1595
  :dynamic_name => true,
1547
1596
  :allowed_from_server => false,
1548
- :description => 'If <code>true</code>, the agent won\'t sample the CPU usage of the host process.'
1597
+ :description => 'If `true`, the agent won\'t sample the CPU usage of the host process.'
1549
1598
  },
1550
1599
  :disable_delayed_job_sampler => {
1551
1600
  :default => false,
@@ -1553,7 +1602,7 @@ module NewRelic
1553
1602
  :type => Boolean,
1554
1603
  :dynamic_name => true,
1555
1604
  :allowed_from_server => false,
1556
- :description => 'If <code>true</code>, the agent won\'t measure the depth of Delayed Job queues.'
1605
+ :description => 'If `true`, the agent won\'t measure the depth of Delayed Job queues.'
1557
1606
  },
1558
1607
  :disable_active_record_notifications => {
1559
1608
  :default => false,
@@ -1561,7 +1610,7 @@ module NewRelic
1561
1610
  :type => Boolean,
1562
1611
  :dynamic_name => true,
1563
1612
  :allowed_from_server => false,
1564
- :description => 'If <code>true</code>, disables instrumentation for ActiveRecord 4, 5, and 6.'
1613
+ :description => 'If `true`, disables instrumentation for ActiveRecord 4, 5, and 6.'
1565
1614
  },
1566
1615
  :disable_bunny => {
1567
1616
  :default => false,
@@ -1570,7 +1619,7 @@ module NewRelic
1570
1619
  :deprecated => true,
1571
1620
  :dynamic_name => true,
1572
1621
  :allowed_from_server => false,
1573
- :description => deprecated_description(:'instrumentation.bunny', 'If <code>true</code>, disables instrumentation for the bunny gem.')
1622
+ :description => deprecated_description(:'instrumentation.bunny', 'If `true`, disables instrumentation for the bunny gem.')
1574
1623
  },
1575
1624
  :disable_curb => {
1576
1625
  :default => false,
@@ -1579,7 +1628,7 @@ module NewRelic
1579
1628
  :deprecated => true,
1580
1629
  :dynamic_name => true,
1581
1630
  :allowed_from_server => false,
1582
- :description => deprecated_description(:'instrumentation.curb', 'If <code>true</code>, disables instrumentation for the curb gem.' )
1631
+ :description => deprecated_description(:'instrumentation.curb', 'If `true`, disables instrumentation for the curb gem.' )
1583
1632
  },
1584
1633
  :disable_excon => {
1585
1634
  :default => false,
@@ -1588,7 +1637,7 @@ module NewRelic
1588
1637
  :dynamic_name => true,
1589
1638
  :deprecated => true,
1590
1639
  :allowed_from_server => false,
1591
- :description => deprecated_description(:'instrumentation.excon', 'If <code>true</code>, disables instrumentation for the excon gem.')
1640
+ :description => deprecated_description(:'instrumentation.excon', 'If `true`, disables instrumentation for the excon gem.')
1592
1641
  },
1593
1642
  :'instrumentation.excon' => {
1594
1643
  :default => instrumentation_value_of(:disable_excon),
@@ -1605,7 +1654,7 @@ module NewRelic
1605
1654
  :dynamic_name => true,
1606
1655
  :deprecated => true,
1607
1656
  :allowed_from_server => false,
1608
- :description => deprecated_description(:'instrumentation.httpclient', 'If <code>true</code>, disables instrumentation for the httpclient gem.')
1657
+ :description => deprecated_description(:'instrumentation.httpclient', 'If `true`, disables instrumentation for the httpclient gem.')
1609
1658
  },
1610
1659
  :disable_net_http => {
1611
1660
  :default => false,
@@ -1615,7 +1664,7 @@ module NewRelic
1615
1664
  :allowed_from_server => false,
1616
1665
  :deprecated => true,
1617
1666
  :description => deprecated_description(:'instrumentation.net_http',
1618
- 'If <code>true</code>, disables instrumentation for Net::HTTP.'
1667
+ 'If `true`, disables instrumentation for Net::HTTP.'
1619
1668
  )
1620
1669
  },
1621
1670
  :disable_rack => {
@@ -1625,7 +1674,7 @@ module NewRelic
1625
1674
  :dynamic_name => true,
1626
1675
  :allowed_from_server => false,
1627
1676
  :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.')
1677
+ :description => deprecated_description(:'instrumentation.rack', 'If `true`, prevents the agent from hooking into the `to_app` method in Rack::Builder to find gems to instrument during application startup.')
1629
1678
  },
1630
1679
  :disable_rack_urlmap => {
1631
1680
  :default => false,
@@ -1634,7 +1683,7 @@ module NewRelic
1634
1683
  :dynamic_name => true,
1635
1684
  :allowed_from_server => false,
1636
1685
  :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.')
1686
+ :description => deprecated_description(:'instrumentation.rack_urlmap', 'If `true`, prevents the agent from hooking into Rack::URLMap to install middleware tracing.')
1638
1687
  },
1639
1688
  :disable_puma_rack => {
1640
1689
  :default => value_of(:disable_rack),
@@ -1643,7 +1692,7 @@ module NewRelic
1643
1692
  :dynamic_name => true,
1644
1693
  :allowed_from_server => false,
1645
1694
  :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.')
1695
+ :description => deprecated_description(:'instrumentation.puma_rack', 'If `true`, prevents the agent from hooking into the `to_app` method in Puma::Rack::Builder to find gems to instrument during application startup.')
1647
1696
  },
1648
1697
  :disable_puma_rack_urlmap => {
1649
1698
  :default => value_of(:disable_rack_urlmap),
@@ -1652,7 +1701,7 @@ module NewRelic
1652
1701
  :dynamic_name => true,
1653
1702
  :allowed_from_server => false,
1654
1703
  :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.')
1704
+ :description => deprecated_description(:'instrumentation.puma_rack_urlmap', 'If `true`, prevents the agent from hooking into Puma::Rack::URLMap to install middleware tracing.')
1656
1705
  },
1657
1706
  :disable_typhoeus => {
1658
1707
  :default => false,
@@ -1661,7 +1710,7 @@ module NewRelic
1661
1710
  :dynamic_name => true,
1662
1711
  :deprecated => true,
1663
1712
  :allowed_from_server => false,
1664
- :description => deprecated_description(:'instrumentation.typhoeus', 'If <code>true</code>, the agent won\'t install instrumentation for the typhoeus gem.' )
1713
+ :description => deprecated_description(:'instrumentation.typhoeus', 'If `true`, the agent won\'t install instrumentation for the typhoeus gem.' )
1665
1714
  },
1666
1715
  :disable_httprb => {
1667
1716
  :default => false,
@@ -1670,14 +1719,14 @@ module NewRelic
1670
1719
  :dynamic_name => true,
1671
1720
  :deprecated => true,
1672
1721
  :allowed_from_server => false,
1673
- :description => deprecated_description(:'instrumentation.httprb', 'If <code>true</code>, the agent won\'t install instrumentation for the http.rb gem.' )
1722
+ :description => deprecated_description(:'instrumentation.httprb', 'If `true`, the agent won\'t install instrumentation for the http.rb gem.' )
1674
1723
  },
1675
1724
  :disable_middleware_instrumentation => {
1676
1725
  :default => false,
1677
1726
  :public => true,
1678
1727
  :type => Boolean,
1679
1728
  :allowed_from_server => false,
1680
- :description => 'If <code>true</code>, the agent won\'t wrap third-party middlewares in instrumentation (regardless of whether they are installed via Rack::Builder or Rails).'
1729
+ :description => 'If `true`, the agent won\'t wrap third-party middlewares in instrumentation (regardless of whether they are installed via Rack::Builder or Rails).'
1681
1730
  },
1682
1731
  :disable_rails_middleware => {
1683
1732
  :default => false,
@@ -1691,7 +1740,7 @@ module NewRelic
1691
1740
  :public => true,
1692
1741
  :type => Boolean,
1693
1742
  :allowed_from_server => false,
1694
- :description => 'If <code>true</code>, the agent uses Heroku dyno names as the hostname.'
1743
+ :description => 'If `true`, the agent uses Heroku dyno names as the hostname.'
1695
1744
  },
1696
1745
  :'heroku.dyno_name_prefixes_to_shorten' => {
1697
1746
  :default => ['scheduler', 'run'],
@@ -1706,14 +1755,14 @@ module NewRelic
1706
1755
  :public => true,
1707
1756
  :type => String,
1708
1757
  :allowed_from_server => false,
1709
- :description => 'Specify a custom host name for <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/maintenance/add-rename-remove-hosts#display_name">display in the New Relic UI</a>.'
1758
+ :description => 'Specify a custom host name for [display in the New Relic UI](/docs/apm/new-relic-apm/maintenance/add-rename-remove-hosts#display_name).'
1710
1759
  },
1711
1760
  :labels => {
1712
1761
  :default => '',
1713
1762
  :public => true,
1714
1763
  :type => String,
1715
1764
  :allowed_from_server => false,
1716
- :description => 'A dictionary of <a href="/docs/data-analysis/user-interface-functions/labels-categories-organize-your-apps-servers">label names</a> and values that will be applied to the data sent from this agent. May also be expressed as a semicolon-delimited <code>;</code> string of colon-separated <code>:</code> pairs. For example, <code><var>Server</var>:<var>One</var>;<var>Data Center</var>:<var>Primary</var></code>.'
1765
+ :description => 'A dictionary of [label names](/docs/data-analysis/user-interface-functions/labels-categories-organize-your-apps-servers) and values that will be applied to the data sent from this agent. May also be expressed as a semicolon-delimited `;` string of colon-separated `:` pairs. For example, `<var>Server</var>:<var>One</var>;<var>Data Center</var>:<var>Primary</var>`.'
1717
1766
  },
1718
1767
  :aggressive_keepalive => {
1719
1768
  :default => true,
@@ -1764,7 +1813,7 @@ module NewRelic
1764
1813
  :public => true,
1765
1814
  :type => Boolean,
1766
1815
  :allowed_from_server => true,
1767
- :description => 'If <code>true</code>, the agent captures <a href="/docs/insights/new-relic-insights/adding-querying-data/inserting-custom-events-new-relic-apm-agents">New Relic Insights custom events</a>.'
1816
+ :description => 'If `true`, the agent captures [New Relic Insights custom events](/docs/insights/new-relic-insights/adding-querying-data/inserting-custom-events-new-relic-apm-agents).'
1768
1817
  },
1769
1818
  :'custom_insights_events.max_samples_stored' => {
1770
1819
  :default => 1000,
@@ -1781,7 +1830,7 @@ module NewRelic
1781
1830
  :allowed_from_server => false,
1782
1831
  :deprecated => true,
1783
1832
  :description => deprecated_description(:'instrumentation.grape',
1784
- 'If <code>true</code>, the agent won\'t install Grape instrumentation.'
1833
+ 'If `true`, the agent won\'t install Grape instrumentation.'
1785
1834
  )
1786
1835
  },
1787
1836
  :disable_grape => {
@@ -1791,7 +1840,7 @@ module NewRelic
1791
1840
  :allowed_from_server => false,
1792
1841
  :deprecated => true,
1793
1842
  :description => deprecated_description(:'instrumentation.grape',
1794
- 'If <code>true</code>, the agent won\'t install Grape instrumentation.'
1843
+ 'If `true`, the agent won\'t install Grape instrumentation.'
1795
1844
  )
1796
1845
  },
1797
1846
  :'instrumentation.grape' => {
@@ -1807,49 +1856,49 @@ module NewRelic
1807
1856
  :public => true,
1808
1857
  :type => Boolean,
1809
1858
  :allowed_from_server => false,
1810
- :description => 'If <code>true</code>, enables capture of attributes for all destinations.'
1859
+ :description => 'If `true`, enables capture of attributes for all destinations.'
1811
1860
  },
1812
1861
  :'transaction_tracer.attributes.enabled' => {
1813
1862
  :default => value_of(:'transaction_tracer.capture_attributes'),
1814
1863
  :public => true,
1815
1864
  :type => Boolean,
1816
1865
  :allowed_from_server => false,
1817
- :description => 'If <code>true</code>, the agent captures attributes from transaction traces.'
1866
+ :description => 'If `true`, the agent captures attributes from transaction traces.'
1818
1867
  },
1819
1868
  :'transaction_events.attributes.enabled' => {
1820
1869
  :default => value_of(:'analytics_events.capture_attributes'),
1821
1870
  :public => true,
1822
1871
  :type => Boolean,
1823
1872
  :allowed_from_server => false,
1824
- :description => 'If <code>true</code>, the agent captures attributes from transaction events.'
1873
+ :description => 'If `true`, the agent captures attributes from transaction events.'
1825
1874
  },
1826
1875
  :'error_collector.attributes.enabled' => {
1827
1876
  :default => value_of(:'error_collector.capture_attributes'),
1828
1877
  :public => true,
1829
1878
  :type => Boolean,
1830
1879
  :allowed_from_server => false,
1831
- :description => 'If <code>true</code>, the agent captures attributes from error collection.'
1880
+ :description => 'If `true`, the agent captures attributes from error collection.'
1832
1881
  },
1833
1882
  :'browser_monitoring.attributes.enabled' => {
1834
1883
  :default => value_of(:'browser_monitoring.capture_attributes'),
1835
1884
  :public => true,
1836
1885
  :type => Boolean,
1837
1886
  :allowed_from_server => false,
1838
- :description => 'If <code>true</code>, the agent captures attributes from browser monitoring.'
1887
+ :description => 'If `true`, the agent captures attributes from browser monitoring.'
1839
1888
  },
1840
1889
  :'span_events.attributes.enabled' => {
1841
1890
  :default => true,
1842
1891
  :public => true,
1843
1892
  :type => Boolean,
1844
1893
  :allowed_from_server => false,
1845
- :description => 'If <code>true</code>, the agent captures attributes on span events.'
1894
+ :description => 'If `true`, the agent captures attributes on span events.'
1846
1895
  },
1847
1896
  :'transaction_segments.attributes.enabled' => {
1848
1897
  :default => true,
1849
1898
  :public => true,
1850
1899
  :type => Boolean,
1851
1900
  :allowed_from_server => false,
1852
- :description => 'If <code>true</code>, the agent captures attributes on transaction segments.'
1901
+ :description => 'If `true`, the agent captures attributes on transaction segments.'
1853
1902
  },
1854
1903
  :'attributes.exclude' => {
1855
1904
  :default => [],
@@ -1857,7 +1906,7 @@ module NewRelic
1857
1906
  :type => Array,
1858
1907
  :allowed_from_server => false,
1859
1908
  :transform => DefaultSource.method(:convert_to_list),
1860
- :description => 'Prefix of attributes to exclude from all destinations. Allows <code>*</code> as wildcard at end.'
1909
+ :description => 'Prefix of attributes to exclude from all destinations. Allows `*` as wildcard at end.'
1861
1910
  },
1862
1911
  :'transaction_tracer.attributes.exclude' => {
1863
1912
  :default => [],
@@ -1865,7 +1914,7 @@ module NewRelic
1865
1914
  :type => Array,
1866
1915
  :allowed_from_server => false,
1867
1916
  :transform => DefaultSource.method(:convert_to_list),
1868
- :description => 'Prefix of attributes to exclude from transaction traces. Allows <code>*</code> as wildcard at end.'
1917
+ :description => 'Prefix of attributes to exclude from transaction traces. Allows `*` as wildcard at end.'
1869
1918
  },
1870
1919
  :'transaction_events.attributes.exclude' => {
1871
1920
  :default => [],
@@ -1873,7 +1922,7 @@ module NewRelic
1873
1922
  :type => Array,
1874
1923
  :allowed_from_server => false,
1875
1924
  :transform => DefaultSource.method(:convert_to_list),
1876
- :description => 'Prefix of attributes to exclude from transaction events. Allows <code>*</code> as wildcard at end.'
1925
+ :description => 'Prefix of attributes to exclude from transaction events. Allows `*` as wildcard at end.'
1877
1926
  },
1878
1927
  :'error_collector.attributes.exclude' => {
1879
1928
  :default => [],
@@ -1881,7 +1930,7 @@ module NewRelic
1881
1930
  :type => Array,
1882
1931
  :allowed_from_server => false,
1883
1932
  :transform => DefaultSource.method(:convert_to_list),
1884
- :description => 'Prefix of attributes to exclude from error collection. Allows <code>*</code> as wildcard at end.'
1933
+ :description => 'Prefix of attributes to exclude from error collection. Allows `*` as wildcard at end.'
1885
1934
  },
1886
1935
  :'browser_monitoring.attributes.exclude' => {
1887
1936
  :default => [],
@@ -1889,7 +1938,7 @@ module NewRelic
1889
1938
  :type => Array,
1890
1939
  :allowed_from_server => false,
1891
1940
  :transform => DefaultSource.method(:convert_to_list),
1892
- :description => 'Prefix of attributes to exclude from browser monitoring. Allows <code>*</code> as wildcard at end.'
1941
+ :description => 'Prefix of attributes to exclude from browser monitoring. Allows `*` as wildcard at end.'
1893
1942
  },
1894
1943
  :'span_events.attributes.exclude' => {
1895
1944
  :default => [],
@@ -1897,7 +1946,7 @@ module NewRelic
1897
1946
  :type => Array,
1898
1947
  :allowed_from_server => false,
1899
1948
  :transform => DefaultSource.method(:convert_to_list),
1900
- :description => 'Prefix of attributes to exclude from span events. Allows <code>*</code> as wildcard at end.'
1949
+ :description => 'Prefix of attributes to exclude from span events. Allows `*` as wildcard at end.'
1901
1950
  },
1902
1951
  :'transaction_segments.attributes.exclude' => {
1903
1952
  :default => [],
@@ -1905,7 +1954,7 @@ module NewRelic
1905
1954
  :type => Array,
1906
1955
  :allowed_from_server => false,
1907
1956
  :transform => DefaultSource.method(:convert_to_list),
1908
- :description => 'Prefix of attributes to exclude from transaction segments. Allows <code>*</code> as wildcard at end.'
1957
+ :description => 'Prefix of attributes to exclude from transaction segments. Allows `*` as wildcard at end.'
1909
1958
  },
1910
1959
  :'attributes.include' => {
1911
1960
  :default => [],
@@ -1913,7 +1962,7 @@ module NewRelic
1913
1962
  :type => Array,
1914
1963
  :allowed_from_server => false,
1915
1964
  :transform => DefaultSource.method(:convert_to_list),
1916
- :description => 'Prefix of attributes to include in all destinations. Allows <code>*</code> as wildcard at end.'
1965
+ :description => 'Prefix of attributes to include in all destinations. Allows `*` as wildcard at end.'
1917
1966
  },
1918
1967
  :'transaction_tracer.attributes.include' => {
1919
1968
  :default => [],
@@ -1921,7 +1970,7 @@ module NewRelic
1921
1970
  :type => Array,
1922
1971
  :allowed_from_server => false,
1923
1972
  :transform => DefaultSource.method(:convert_to_list),
1924
- :description => 'Prefix of attributes to include in transaction traces. Allows <code>*</code> as wildcard at end.'
1973
+ :description => 'Prefix of attributes to include in transaction traces. Allows `*` as wildcard at end.'
1925
1974
  },
1926
1975
  :'transaction_events.attributes.include' => {
1927
1976
  :default => [],
@@ -1929,7 +1978,7 @@ module NewRelic
1929
1978
  :type => Array,
1930
1979
  :allowed_from_server => false,
1931
1980
  :transform => DefaultSource.method(:convert_to_list),
1932
- :description => 'Prefix of attributes to include in transaction events. Allows <code>*</code> as wildcard at end.'
1981
+ :description => 'Prefix of attributes to include in transaction events. Allows `*` as wildcard at end.'
1933
1982
  },
1934
1983
  :'error_collector.attributes.include' => {
1935
1984
  :default => [],
@@ -1937,7 +1986,7 @@ module NewRelic
1937
1986
  :type => Array,
1938
1987
  :allowed_from_server => false,
1939
1988
  :transform => DefaultSource.method(:convert_to_list),
1940
- :description => 'Prefix of attributes to include in error collection. Allows <code>*</code> as wildcard at end.'
1989
+ :description => 'Prefix of attributes to include in error collection. Allows `*` as wildcard at end.'
1941
1990
  },
1942
1991
  :'browser_monitoring.attributes.include' => {
1943
1992
  :default => [],
@@ -1945,7 +1994,7 @@ module NewRelic
1945
1994
  :type => Array,
1946
1995
  :allowed_from_server => false,
1947
1996
  :transform => DefaultSource.method(:convert_to_list),
1948
- :description => 'Prefix of attributes to include in browser monitoring. Allows <code>*</code> as wildcard at end.'
1997
+ :description => 'Prefix of attributes to include in browser monitoring. Allows `*` as wildcard at end.'
1949
1998
  },
1950
1999
  :'span_events.attributes.include' => {
1951
2000
  :default => [],
@@ -1953,7 +2002,7 @@ module NewRelic
1953
2002
  :type => Array,
1954
2003
  :allowed_from_server => false,
1955
2004
  :transform => DefaultSource.method(:convert_to_list),
1956
- :description => 'Prefix of attributes to include on span events. Allows <code>*</code> as wildcard at end.'
2005
+ :description => 'Prefix of attributes to include on span events. Allows `*` as wildcard at end.'
1957
2006
  },
1958
2007
  :'transaction_segments.attributes.include' => {
1959
2008
  :default => [],
@@ -1961,14 +2010,14 @@ module NewRelic
1961
2010
  :type => Array,
1962
2011
  :allowed_from_server => false,
1963
2012
  :transform => DefaultSource.method(:convert_to_list),
1964
- :description => 'Prefix of attributes to include on transaction segments. Allows <code>*</code> as wildcard at end.'
2013
+ :description => 'Prefix of attributes to include on transaction segments. Allows `*` as wildcard at end.'
1965
2014
  },
1966
2015
  :'custom_attributes.enabled' => {
1967
2016
  :default => true,
1968
2017
  :public => true,
1969
2018
  :type => Boolean,
1970
2019
  :allowed_from_server => false,
1971
- :description => 'If <code>false</code>, custom attributes will not be sent on Insights events.'
2020
+ :description => 'If `false`, custom attributes will not be sent on Insights events.'
1972
2021
  },
1973
2022
  :'utilization.detect_aws' => {
1974
2023
  :default => true,
@@ -1976,7 +2025,7 @@ module NewRelic
1976
2025
  :type => Boolean,
1977
2026
  :allowed_from_server => false,
1978
2027
  :dynamic_name => true,
1979
- :description => 'If <code>true</code>, the agent automatically detects that it is running in an AWS environment.'
2028
+ :description => 'If `true`, the agent automatically detects that it is running in an AWS environment.'
1980
2029
  },
1981
2030
  :'utilization.detect_azure' => {
1982
2031
  :default => true,
@@ -1984,7 +2033,7 @@ module NewRelic
1984
2033
  :type => Boolean,
1985
2034
  :allowed_from_server => false,
1986
2035
  :dynamic_name => true,
1987
- :description => 'If <code>true</code>, the agent automatically detects that it is running in an Azure environment.'
2036
+ :description => 'If `true`, the agent automatically detects that it is running in an Azure environment.'
1988
2037
  },
1989
2038
  :'utilization.detect_gcp' => {
1990
2039
  :default => true,
@@ -1992,7 +2041,7 @@ module NewRelic
1992
2041
  :type => Boolean,
1993
2042
  :allowed_from_server => false,
1994
2043
  :dynamic_name => true,
1995
- :description => 'If <code>true</code>, the agent automatically detects that it is running in an Google Cloud Platform environment.'
2044
+ :description => 'If `true`, the agent automatically detects that it is running in an Google Cloud Platform environment.'
1996
2045
  },
1997
2046
  :'utilization.detect_pcf' => {
1998
2047
  :default => true,
@@ -2000,21 +2049,21 @@ module NewRelic
2000
2049
  :type => Boolean,
2001
2050
  :allowed_from_server => false,
2002
2051
  :dynamic_name => true,
2003
- :description => 'If <code>true</code>, the agent automatically detects that it is running in a Pivotal Cloud Foundry environment.'
2052
+ :description => 'If `true`, the agent automatically detects that it is running in a Pivotal Cloud Foundry environment.'
2004
2053
  },
2005
2054
  :'utilization.detect_docker' => {
2006
2055
  :default => true,
2007
2056
  :public => true,
2008
2057
  :type => Boolean,
2009
2058
  :allowed_from_server => false,
2010
- :description => 'If <code>true</code>, the agent automatically detects that it is running in Docker.'
2059
+ :description => 'If `true`, the agent automatically detects that it is running in Docker.'
2011
2060
  },
2012
2061
  :'utilization.detect_kubernetes' => {
2013
2062
  :default => true,
2014
2063
  :public => true,
2015
2064
  :type => Boolean,
2016
2065
  :allowed_from_server => false,
2017
- :description => 'If <code>true</code>, the agent automatically detects that it is running in Kubernetes.'
2066
+ :description => 'If `true`, the agent automatically detects that it is running in Kubernetes.'
2018
2067
  },
2019
2068
  :'utilization.billing_hostname' => {
2020
2069
  :default => nil,
@@ -2045,21 +2094,21 @@ module NewRelic
2045
2094
  :public => true,
2046
2095
  :type => Boolean,
2047
2096
  :allowed_from_server => false,
2048
- :description => 'If <code>false</code>, the agent will not report datastore instance metrics, nor add <code>host</code> or <code>port_path_or_id</code> parameters to transaction or slow sql traces.'
2097
+ :description => 'If `false`, the agent will not report datastore instance metrics, nor add `host` or `port_path_or_id` parameters to transaction or slow SQL traces.'
2049
2098
  },
2050
2099
  :'datastore_tracer.database_name_reporting.enabled' => {
2051
2100
  :default => true,
2052
2101
  :public => true,
2053
2102
  :type => Boolean,
2054
2103
  :allowed_from_server => false,
2055
- :description => 'If <code>false</code>, the agent will not add <code>database_name</code> parameter to transaction or slow sql traces.'
2104
+ :description => 'If `false`, the agent will not add `database_name` parameter to transaction or slow sql traces.'
2056
2105
  },
2057
2106
  :'clear_transaction_state_after_fork' => {
2058
2107
  :default => false,
2059
2108
  :public => true,
2060
2109
  :type => Boolean,
2061
2110
  :allowed_from_server => false,
2062
- :description => 'If <code>true</code>, the agent will clear <code>Tracer::State</code> in <code>Agent.drop_buffered_data</code>.'
2111
+ :description => 'If `true`, the agent will clear `Tracer::State` in `Agent.drop_buffered_data`.'
2063
2112
  },
2064
2113
  :account_id => {
2065
2114
  :default => nil,
@@ -2081,8 +2130,8 @@ module NewRelic
2081
2130
  :default => false,
2082
2131
  :public => true,
2083
2132
  :type => Boolean,
2084
- :allowed_from_server => false,
2085
- :description => 'Distributed tracing lets you see the path that a request takes through your distributed system. Enabling distributed tracing changes the behavior of some New Relic features, so carefully consult the <a href="https://docs.newrelic.com/docs/transition-guide-distributed-tracing">transition guide</a> before you enable this feature.'
2133
+ :allowed_from_server => true,
2134
+ :description => 'Distributed tracing lets you see the path that a request takes through your distributed system. Enabling distributed tracing changes the behavior of some New Relic features, so carefully consult the [transition guide](/docs/transition-guide-distributed-tracing) before you enable this feature.'
2086
2135
  },
2087
2136
  :trusted_account_key => {
2088
2137
  :default => nil,
@@ -2111,7 +2160,7 @@ module NewRelic
2111
2160
  :public => true,
2112
2161
  :type => Boolean,
2113
2162
  :allowed_from_server => true,
2114
- :description => 'If <code>true</code>, enables span event sampling.'
2163
+ :description => 'If `true`, enables span event sampling.'
2115
2164
  },
2116
2165
  :'span_events.queue_size' => {
2117
2166
  :default => 10_000,