newrelic_rpm 6.15.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/CHANGELOG.md +260 -22
  4. data/CONTRIBUTING.md +13 -2
  5. data/README.md +4 -2
  6. data/lib/new_relic/agent/adaptive_sampler.rb +2 -2
  7. data/lib/new_relic/agent/agent.rb +8 -7
  8. data/lib/new_relic/agent/autostart.rb +1 -2
  9. data/lib/new_relic/agent/commands/thread_profiler_session.rb +7 -3
  10. data/lib/new_relic/agent/configuration/default_source.rb +456 -233
  11. data/lib/new_relic/agent/configuration/event_harvest_config.rb +28 -12
  12. data/lib/new_relic/agent/configuration/manager.rb +3 -4
  13. data/lib/new_relic/agent/configuration/server_source.rb +3 -2
  14. data/lib/new_relic/agent/configuration/yaml_source.rb +22 -1
  15. data/lib/new_relic/agent/connect/request_builder.rb +4 -2
  16. data/lib/new_relic/agent/custom_event_aggregator.rb +2 -1
  17. data/lib/new_relic/agent/database.rb +5 -2
  18. data/lib/new_relic/agent/datastores/mongo.rb +5 -10
  19. data/lib/new_relic/agent/datastores/redis.rb +0 -4
  20. data/lib/new_relic/agent/datastores.rb +7 -7
  21. data/lib/new_relic/agent/distributed_tracing/cross_app_payload.rb +5 -5
  22. data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +10 -6
  23. data/lib/new_relic/agent/distributed_tracing/distributed_trace_attributes.rb +0 -1
  24. data/lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb +1 -1
  25. data/lib/new_relic/agent/distributed_tracing/trace_context_payload.rb +1 -1
  26. data/lib/new_relic/agent/distributed_tracing.rb +0 -66
  27. data/lib/new_relic/agent/error_collector.rb +52 -37
  28. data/lib/new_relic/agent/error_filter.rb +167 -0
  29. data/lib/new_relic/agent/event_loop.rb +6 -6
  30. data/lib/new_relic/agent/external.rb +0 -32
  31. data/lib/new_relic/agent/http_clients/abstract.rb +2 -2
  32. data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +1 -1
  33. data/lib/new_relic/agent/instrumentation/active_merchant.rb +3 -3
  34. data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +0 -16
  35. data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +1 -3
  36. data/lib/new_relic/agent/instrumentation/bunny/chain.rb +45 -0
  37. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +152 -0
  38. data/lib/new_relic/agent/instrumentation/bunny/prepend.rb +35 -0
  39. data/lib/new_relic/agent/instrumentation/bunny.rb +10 -152
  40. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +2 -1
  41. data/lib/new_relic/agent/instrumentation/curb/chain.rb +93 -0
  42. data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +222 -0
  43. data/lib/new_relic/agent/instrumentation/curb/prepend.rb +63 -0
  44. data/lib/new_relic/agent/instrumentation/curb.rb +9 -241
  45. data/lib/new_relic/agent/instrumentation/delayed_job/chain.rb +38 -0
  46. data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +53 -0
  47. data/lib/new_relic/agent/instrumentation/delayed_job/prepend.rb +34 -0
  48. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +8 -50
  49. data/lib/new_relic/agent/instrumentation/excon.rb +4 -22
  50. data/lib/new_relic/agent/instrumentation/grape/chain.rb +25 -0
  51. data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +100 -0
  52. data/lib/new_relic/agent/instrumentation/grape/prepend.rb +17 -0
  53. data/lib/new_relic/agent/instrumentation/grape.rb +13 -113
  54. data/lib/new_relic/agent/instrumentation/httpclient/chain.rb +25 -0
  55. data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +38 -0
  56. data/lib/new_relic/agent/instrumentation/httpclient/prepend.rb +17 -0
  57. data/lib/new_relic/agent/instrumentation/httpclient.rb +8 -30
  58. data/lib/new_relic/agent/instrumentation/httprb/chain.rb +22 -0
  59. data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +30 -0
  60. data/lib/new_relic/agent/instrumentation/httprb/prepend.rb +15 -0
  61. data/lib/new_relic/agent/instrumentation/httprb.rb +29 -0
  62. data/lib/new_relic/agent/instrumentation/memcache/chain.rb +16 -0
  63. data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +38 -121
  64. data/lib/new_relic/agent/instrumentation/memcache/helper.rb +56 -0
  65. data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +88 -0
  66. data/lib/new_relic/agent/instrumentation/memcache/prepend.rb +88 -0
  67. data/lib/new_relic/agent/instrumentation/memcache.rb +54 -69
  68. data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +2 -0
  69. data/lib/new_relic/agent/instrumentation/mongo.rb +3 -134
  70. data/lib/new_relic/agent/instrumentation/net_http/chain.rb +25 -0
  71. data/lib/new_relic/agent/instrumentation/{net_prepend.rb → net_http/instrumentation.rb} +3 -3
  72. data/lib/new_relic/agent/instrumentation/net_http/prepend.rb +21 -0
  73. data/lib/new_relic/agent/instrumentation/net_http.rb +44 -0
  74. data/lib/new_relic/agent/instrumentation/padrino/chain.rb +34 -0
  75. data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +27 -0
  76. data/lib/new_relic/agent/instrumentation/padrino/prepend.rb +20 -0
  77. data/lib/new_relic/agent/instrumentation/padrino.rb +18 -53
  78. data/lib/new_relic/agent/instrumentation/queue_time.rb +4 -4
  79. data/lib/new_relic/agent/instrumentation/rack/chain.rb +58 -0
  80. data/lib/new_relic/agent/instrumentation/rack/helpers.rb +32 -0
  81. data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +73 -0
  82. data/lib/new_relic/agent/instrumentation/rack/prepend.rb +37 -0
  83. data/lib/new_relic/agent/instrumentation/rack.rb +29 -139
  84. data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +5 -5
  85. data/lib/new_relic/agent/instrumentation/rails/action_web_service.rb +1 -1
  86. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +5 -41
  87. data/lib/new_relic/agent/instrumentation/rake/chain.rb +25 -0
  88. data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +144 -0
  89. data/lib/new_relic/agent/instrumentation/rake/prepend.rb +14 -0
  90. data/lib/new_relic/agent/instrumentation/rake.rb +13 -154
  91. data/lib/new_relic/agent/instrumentation/redis/chain.rb +34 -0
  92. data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +65 -0
  93. data/lib/new_relic/agent/instrumentation/redis/prepend.rb +24 -0
  94. data/lib/new_relic/agent/instrumentation/redis.rb +12 -107
  95. data/lib/new_relic/agent/instrumentation/resque/chain.rb +22 -0
  96. data/lib/new_relic/agent/instrumentation/resque/helper.rb +19 -0
  97. data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +35 -0
  98. data/lib/new_relic/agent/instrumentation/resque/prepend.rb +16 -0
  99. data/lib/new_relic/agent/instrumentation/resque.rb +21 -32
  100. data/lib/new_relic/agent/instrumentation/sidekiq.rb +6 -1
  101. data/lib/new_relic/agent/instrumentation/sinatra/chain.rb +55 -0
  102. data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +29 -34
  103. data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +124 -0
  104. data/lib/new_relic/agent/instrumentation/sinatra/prepend.rb +33 -0
  105. data/lib/new_relic/agent/instrumentation/sinatra.rb +20 -158
  106. data/lib/new_relic/agent/instrumentation/typhoeus/chain.rb +22 -0
  107. data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +82 -0
  108. data/lib/new_relic/agent/instrumentation/typhoeus/prepend.rb +14 -0
  109. data/lib/new_relic/agent/instrumentation/typhoeus.rb +10 -89
  110. data/lib/new_relic/agent/javascript_instrumentor.rb +15 -10
  111. data/lib/new_relic/agent/messaging.rb +10 -24
  112. data/lib/new_relic/agent/method_tracer.rb +132 -138
  113. data/lib/new_relic/agent/monitors/cross_app_monitor.rb +6 -1
  114. data/lib/new_relic/agent/new_relic_service.rb +24 -22
  115. data/lib/new_relic/agent/pipe_channel_manager.rb +10 -6
  116. data/lib/new_relic/agent/pipe_service.rb +1 -1
  117. data/lib/new_relic/agent/samplers/cpu_sampler.rb +1 -1
  118. data/lib/new_relic/agent/span_event_aggregator.rb +2 -2
  119. data/lib/new_relic/agent/sql_sampler.rb +4 -4
  120. data/lib/new_relic/agent/stats_engine/stats_hash.rb +1 -1
  121. data/lib/new_relic/agent/stats_engine.rb +1 -1
  122. data/lib/new_relic/agent/supported_versions.rb +1 -1
  123. data/lib/new_relic/agent/threading/backtrace_service.rb +4 -5
  124. data/lib/new_relic/agent/threading/thread_profile.rb +1 -1
  125. data/lib/new_relic/agent/tracer.rb +15 -37
  126. data/lib/new_relic/agent/transaction/abstract_segment.rb +3 -3
  127. data/lib/new_relic/agent/transaction/message_broker_segment.rb +5 -11
  128. data/lib/new_relic/agent/transaction.rb +8 -32
  129. data/lib/new_relic/agent/transaction_time_aggregator.rb +5 -5
  130. data/lib/new_relic/agent/vm/snapshot.rb +1 -1
  131. data/lib/new_relic/agent/worker_loop.rb +5 -5
  132. data/lib/new_relic/agent.rb +10 -13
  133. data/lib/new_relic/cli/commands/deployments.rb +2 -2
  134. data/lib/new_relic/constants.rb +0 -4
  135. data/lib/new_relic/control/frameworks/rails.rb +11 -9
  136. data/lib/new_relic/control/instance_methods.rb +1 -0
  137. data/lib/new_relic/dependency_detection.rb +116 -10
  138. data/lib/new_relic/noticed_error.rb +5 -9
  139. data/lib/new_relic/supportability_helper.rb +1 -2
  140. data/lib/new_relic/version.rb +2 -2
  141. data/lib/newrelic_rpm.rb +10 -34
  142. data/lib/tasks/all.rb +1 -1
  143. data/lib/tasks/config.html.erb +14 -25
  144. data/lib/tasks/config.rake +8 -7
  145. data/newrelic.yml +593 -3
  146. data/newrelic_rpm.gemspec +1 -1
  147. data/test/agent_helper.rb +27 -2
  148. metadata +56 -14
  149. data/cert/cacert.pem +0 -1177
  150. data/lib/new_relic/agent/datastores/mongo/statement_formatter.rb +0 -53
  151. data/lib/new_relic/agent/instrumentation/excon/connection.rb +0 -49
  152. data/lib/new_relic/agent/instrumentation/http.rb +0 -49
  153. data/lib/new_relic/agent/instrumentation/merb/controller.rb +0 -44
  154. data/lib/new_relic/agent/instrumentation/merb/errors.rb +0 -33
  155. data/lib/new_relic/agent/instrumentation/net.rb +0 -70
  156. data/lib/new_relic/control/frameworks/merb.rb +0 -29
@@ -15,6 +15,37 @@ 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
+ # Marks the config option as deprecated in the documentation once generated.
43
+ # Does not appear in logs.
44
+ def self.deprecated_description new_setting, description
45
+ link_ref = new_setting.to_s.gsub(".", "-")
46
+ %{Please see: [#{new_setting}](docs/agents/ruby-agent/configuration/ruby-agent-configuration##{link_ref}). \n\n#{description}}
47
+ end
48
+
18
49
  class Boolean
19
50
  def self.===(o)
20
51
  TrueClass === o or FalseClass === o
@@ -91,7 +122,6 @@ module NewRelic
91
122
  Proc.new {
92
123
  case
93
124
  when defined?(::NewRelic::TEST) then :test
94
- when defined?(::Merb) && defined?(::Merb::Plugins) then :merb
95
125
  when defined?(::Rails::VERSION)
96
126
  case Rails::VERSION::MAJOR
97
127
  when 0..2
@@ -101,7 +131,8 @@ module NewRelic
101
131
  when 4..6
102
132
  :rails_notifications
103
133
  else
104
- ::NewRelic::Agent.logger.error "Detected unsupported Rails version #{Rails::VERSION::STRING}"
134
+ ::NewRelic::Agent.logger.warn "Detected untested Rails version #{Rails::VERSION::STRING}"
135
+ :rails_notifications
105
136
  end
106
137
  when defined?(::Sinatra) && defined?(::Sinatra::Base) then :sinatra
107
138
  when defined?(::NewRelic::IA) then :external
@@ -295,14 +326,14 @@ module NewRelic
295
326
  :public => true,
296
327
  :type => String,
297
328
  :allowed_from_server => false,
298
- :description => 'Your New Relic <a href="https://docs.newrelic.com/docs/accounts-partnerships/accounts/account-setup/license-key">license key</a>.'
329
+ :description => 'Your New Relic [license key](/docs/accounts-partnerships/accounts/account-setup/license-key).'
299
330
  },
300
331
  :agent_enabled => {
301
332
  :default => DefaultSource.agent_enabled,
302
333
  :public => true,
303
334
  :type => Boolean,
304
335
  :allowed_from_server => false,
305
- :description => 'If <code>true</code>, allows the Ruby agent to run.'
336
+ :description => 'If `true`, allows the Ruby agent to run.'
306
337
  },
307
338
  :enabled => {
308
339
  :default => true,
@@ -318,7 +349,7 @@ module NewRelic
318
349
  :type => String,
319
350
  :allowed_from_server => false,
320
351
  :transform => DefaultSource.method(:convert_to_list_on_semicolon),
321
- :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>.'
352
+ :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`.'
322
353
  },
323
354
  :entity_guid => {
324
355
  :default => nil,
@@ -326,35 +357,35 @@ module NewRelic
326
357
  :public => true,
327
358
  :type => String,
328
359
  :allowed_from_server => true,
329
- :description => 'The <a href="https://docs.newrelic.com/attribute-dictionary/span/entityguid">Entity GUID</a> for the entity running this agent.'
360
+ :description => 'The [Entity GUID](/attribute-dictionary/span/entityguid) for the entity running this agent.'
330
361
  },
331
362
  :monitor_mode => {
332
363
  :default => value_of(:enabled),
333
364
  :public => true,
334
365
  :type => Boolean,
335
366
  :allowed_from_server => false,
336
- :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>.'
367
+ :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).'
337
368
  },
338
369
  :test_mode => {
339
370
  :default => false,
340
371
  :public => false,
341
372
  :type => Boolean,
342
373
  :allowed_from_server => false,
343
- :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.'
374
+ :description => 'Used in tests for agent to start up but not connect to collector. Formerly used `developer_mode` in test config for this purpose.'
344
375
  },
345
376
  :log_level => {
346
377
  :default => 'info',
347
378
  :public => true,
348
379
  :type => String,
349
380
  :allowed_from_server => false,
350
- :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>.'
381
+ :description => 'Sets the level of detail of log messages. Possible log levels, in increasing verbosity, are: `error`, `warn`, `info` or `debug`.'
351
382
  },
352
383
  :high_security => {
353
384
  :default => false,
354
385
  :public => true,
355
386
  :type => Boolean,
356
387
  :allowed_from_server => false,
357
- :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.'
388
+ :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.'
358
389
  },
359
390
  :security_policies_token => {
360
391
  :default => '',
@@ -369,7 +400,7 @@ module NewRelic
369
400
  :public => true,
370
401
  :type => String,
371
402
  :allowed_from_server => false,
372
- :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.'
403
+ :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.'
373
404
  },
374
405
  :proxy_port => {
375
406
  :default => 8080,
@@ -377,7 +408,7 @@ module NewRelic
377
408
  :public => true,
378
409
  :type => Integer,
379
410
  :allowed_from_server => false,
380
- :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.'
411
+ :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.'
381
412
  },
382
413
  :proxy_user => {
383
414
  :default => nil,
@@ -386,7 +417,7 @@ module NewRelic
386
417
  :type => String,
387
418
  :allowed_from_server => false,
388
419
  :exclude_from_reported_settings => true,
389
- :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.'
420
+ :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.'
390
421
  },
391
422
  :proxy_pass => {
392
423
  :default => nil,
@@ -395,27 +426,26 @@ module NewRelic
395
426
  :type => String,
396
427
  :allowed_from_server => false,
397
428
  :exclude_from_reported_settings => true,
398
- :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.'
429
+ :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.'
399
430
  },
400
431
  :capture_params => {
401
432
  :default => false,
402
433
  :public => true,
403
434
  :type => Boolean,
404
435
  :allowed_from_server => false,
405
- :description => 'When <code>true</code>, the agent captures HTTP request parameters ' \
436
+ :description => 'When `true`, the agent captures HTTP request parameters ' \
406
437
  'and attaches them to transaction traces, traced errors, and ' \
407
- '<a href="https://docs.newrelic.com/attribute-dictionary?attribute_name=&events_tids%5B%5D=8241">'\
408
- '<code>TransactionError</code> events.' \
438
+ '[`TransactionError` events](/attribute-dictionary?attribute_name=&events_tids%5B%5D=8241)'\
409
439
  "\n" \
410
440
  '<div class="callout-warning">' \
411
441
  "\n" \
412
- '<p>When using the <code>capture_params</code> setting, the Ruby agent will not attempt ' \
442
+ 'When using the `capture_params` setting, the Ruby agent will not attempt ' \
413
443
  'to filter secret information. <b>Recommendation:</b> To filter secret information from ' \
414
- 'request parameters, use the <a href="/docs/agents/ruby-agent/attributes/enable-disable-attributes-ruby">' \
415
- '<code>attributes.include</code> setting</a> instead. For more information, see the ' \
444
+ 'request parameters, use the [`attributes.include` setting](/docs/agents/ruby-agent/attributes/enable-disable-attributes-ruby) ' \
445
+ 'instead. For more information, see the ' \
416
446
  '<a href="/docs/agents/ruby-agent/attributes/ruby-attribute-examples#ex_req_params">' \
417
447
  'Ruby attribute examples</a>.' \
418
- "</p>\n" \
448
+ "\n" \
419
449
  '</div>'
420
450
  },
421
451
  :config_path => {
@@ -446,73 +476,43 @@ 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,
463
482
  :type => String,
464
483
  :allowed_from_server => false,
465
- :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
- },
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.'
484
+ :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`.'
477
485
  },
478
486
  :'autostart.denylisted_executables' => {
479
- :default => value_of(:'autostart.blacklisted_executables'),
480
- :public => true,
481
- :type => String,
482
- :allowed_from_server => false,
483
- :description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, <code>rake,my_ruby_script.rb</code>.'
484
- },
485
- :'autostart.blacklisted_rake_tasks' => {
486
- :default => AUTOSTART_DENYLISTED_RAKE_TASKS,
487
+ :default => 'irb,rspec',
487
488
  :public => true,
488
489
  :type => String,
489
490
  :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.'
491
+ :description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, `rake,my_ruby_script.rb`.'
495
492
  },
496
493
  :'autostart.denylisted_rake_tasks' => {
497
- :default => value_of(:'autostart.blacklisted_rake_tasks'),
494
+ :default => AUTOSTART_DENYLISTED_RAKE_TASKS,
498
495
  :public => true,
499
496
  :type => String,
500
497
  :allowed_from_server => false,
501
- :description => 'Defines a comma-delimited list of Rake tasks that the agent should not instrument. For example, <code>assets:precompile,db:migrate</code>.'
498
+ :description => 'Defines a comma-delimited list of Rake tasks that the agent should not instrument. For example, `assets:precompile,db:migrate`.'
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
- :description => 'If <code>true</code>, disables Rake instrumentation.'
506
+ :deprecated => true,
507
+ :description => deprecated_description(:'instrumentation.rake', 'If `true`, 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
- :description => 'Enable or disable Rake instrumentation. Preferred key is `disable_rake`'
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 => [],
@@ -535,27 +535,14 @@ module NewRelic
535
535
  :type => Float,
536
536
  :allowed_from_server => true,
537
537
  :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>.'
538
+ :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
539
  },
540
540
  :'strip_exception_messages.enabled' => {
541
541
  :default => value_of(:high_security),
542
542
  :public => true,
543
543
  :type => Boolean,
544
544
  :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>.'
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.'
545
+ :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).'
559
546
  },
560
547
  :'strip_exception_messages.allowed_classes' => {
561
548
  :default => '',
@@ -563,7 +550,7 @@ module NewRelic
563
550
  :type => String,
564
551
  :allowed_from_server => false,
565
552
  :transform => DefaultSource.method(:convert_to_constant_list),
566
- :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>.'
553
+ :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"`.'
567
554
  },
568
555
  :host => {
569
556
  :default => DefaultSource.host,
@@ -598,14 +585,14 @@ module NewRelic
598
585
  :public => true,
599
586
  :type => Boolean,
600
587
  :allowed_from_server => false,
601
- :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.'
588
+ :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.'
602
589
  },
603
590
  :send_data_on_exit => {
604
591
  :default => true,
605
592
  :public => true,
606
593
  :type => Boolean,
607
594
  :allowed_from_server => false,
608
- :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.'
595
+ :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.'
609
596
  },
610
597
  :max_payload_size_in_bytes => {
611
598
  :default => 1000000,
@@ -709,11 +696,11 @@ module NewRelic
709
696
  :type => Boolean,
710
697
  :allowed_from_server => false,
711
698
  :description => 'Forces the exit handler that sends all cached data to collector ' \
712
- 'before shuttng down to be installed regardless of detecting scenarios where it generally should not be. ' \
699
+ 'before shutting down to be installed regardless of detecting scenarios where it generally should not be. ' \
713
700
  'Known use-case for this option is where Sinatra is running as an embedded service within another framework ' \
714
- 'and the agent is detecting the Sinatra app and skipping the at_exit handler as a result. Sinatra classically ' \
715
- 'runs the entire application in an at_exit block and would otherwise misbehave if the Agent\'s at_exit handler ' \
716
- 'is also installed in those circumstances. Note: `send_data_on_exit` should also be set to `true` in tandem with this setting.'
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
+ 'was also installed in those circumstances. Note: `send_data_on_exit` should also be set to `true` in tandem with this setting.'
717
704
  },
718
705
  :force_reconnect => {
719
706
  :default => false,
@@ -748,7 +735,7 @@ module NewRelic
748
735
  :public => true,
749
736
  :type => Boolean,
750
737
  :allowed_from_server => false,
751
- :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>.'
738
+ :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).'
752
739
  },
753
740
  :'audit_log.path' => {
754
741
  :default => DefaultSource.audit_log_path,
@@ -770,49 +757,53 @@ module NewRelic
770
757
  :public => true,
771
758
  :type => Boolean,
772
759
  :allowed_from_server => false,
773
- :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).'
760
+ :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).'
774
761
  },
775
762
  :disable_resque => {
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 `true`, disables [Resque instrumentation](/docs/agents/ruby-agent/background-jobs/resque-instrumentation).')
781
769
  },
782
770
  :disable_sidekiq => {
783
771
  :default => false,
784
772
  :public => true,
785
773
  :type => Boolean,
786
774
  :allowed_from_server => false,
787
- :description => 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/sidekiq-instrumentation">Sidekiq instrumentation</a>.'
775
+ :description => 'If `true`, disables [Sidekiq instrumentation](/docs/agents/ruby-agent/background-jobs/sidekiq-instrumentation).'
788
776
  },
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 `true`, disables [Delayed::Job instrumentation](/docs/agents/ruby-agent/background-jobs/delayedjob).'
784
+ )
795
785
  },
796
786
  :disable_sinatra => {
797
787
  :default => false,
798
788
  :public => true,
799
789
  :type => Boolean,
790
+ :deprecated => true,
800
791
  :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>.'
792
+ :description => deprecated_description(:'instrumentation.sinatra', 'If `true` , disables [Sinatra instrumentation](/docs/agents/ruby-agent/frameworks/sinatra-support).' )
802
793
  },
803
794
  :disable_sinatra_auto_middleware => {
804
795
  :default => false,
805
796
  :public => true,
806
797
  :type => Boolean,
807
798
  :allowed_from_server => false,
808
- :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>.'
799
+ :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).'
809
800
  },
810
801
  :disable_view_instrumentation => {
811
802
  :default => false,
812
803
  :public => true,
813
804
  :type => Boolean,
814
805
  :allowed_from_server => false,
815
- :description => 'If <code>true</code>, disables view instrumentation.'
806
+ :description => 'If `true`, disables view instrumentation.'
816
807
  },
817
808
  :disable_harvest_thread => {
818
809
  :default => false,
@@ -833,28 +824,187 @@ module NewRelic
833
824
  :public => true,
834
825
  :type => Boolean,
835
826
  :allowed_from_server => false,
836
- :description => 'If <code>true</code>, disables active record instrumentation.'
827
+ :description => 'If `true`, disables active record instrumentation.'
837
828
  },
838
829
  :prepend_active_record_instrumentation => {
839
830
  :default => false,
840
831
  :public => true,
841
832
  :type => Boolean,
842
833
  :allowed_from_server => false,
843
- :description => 'If <code>true</code>, uses Module.prepend rather than alias_method for ActiveRecord instrumentation.'
834
+ :description => 'If `true`, uses `Module#prepend` rather than `alias_method` for ActiveRecord instrumentation.'
844
835
  },
845
836
  :prepend_net_instrumentation => {
846
- :default => false,
847
- :public => true,
837
+ :default => true,
838
+ :public => false,
848
839
  :type => Boolean,
849
840
  :allowed_from_server => false,
850
- :description => 'If <code>true</code>, uses Module.prepend rather than alias_method for Net::HTTP instrumentation.'
841
+ :deprecated => true,
842
+ :description => deprecated_description(:'instrumentation.net_http',
843
+ 'If `true`, uses `Module#prepend` rather than alias_method for Net::HTTP instrumentation.'
844
+ )
845
+ },
846
+ :'instrumentation.net_http' => {
847
+ :default => instrumentation_value_of(:disable_net_http, :prepend_net_instrumentation),
848
+ :public => true,
849
+ :type => String,
850
+ :dynamic_name => true,
851
+ :allowed_from_server => false,
852
+ :description => "Controls auto-instrumentation of Net::HTTP at start up. May be one of [auto|prepend|chain|disabled]."
853
+ },
854
+ :'instrumentation.typhoeus' => {
855
+ :default => instrumentation_value_of(:disable_typhoeus),
856
+ :public => true,
857
+ :type => String,
858
+ :dynamic_name => true,
859
+ :allowed_from_server => false,
860
+ :description => "Controls auto-instrumentation of Typhoeus at start up. May be one of [auto|prepend|chain|disabled]."
861
+ },
862
+ :'instrumentation.bunny' => {
863
+ :default => instrumentation_value_of(:disable_bunny),
864
+ :public => true,
865
+ :type => String,
866
+ :dynamic_name => true,
867
+ :allowed_from_server => false,
868
+ :description => 'Controls auto-instrumentation of bunny at start up. May be one of [auto|prepend|chain|disabled].'
869
+ },
870
+ :'instrumentation.httprb' => {
871
+ :default => instrumentation_value_of(:disable_httprb),
872
+ :public => true,
873
+ :type => String,
874
+ :dynamic_name => true,
875
+ :allowed_from_server => false,
876
+ :description => 'Controls auto-instrumentation of http.rb gem at start up. May be one of [auto|prepend|chain|disabled].'
877
+ },
878
+ :'instrumentation.resque' => {
879
+ :default => instrumentation_value_of(:disable_resque),
880
+ :public => true,
881
+ :type => String,
882
+ :dynamic_name => true,
883
+ :allowed_from_server => false,
884
+ :description => "Controls auto-instrumentation of resque at start up. May be one of [auto|prepend|chain|disabled]."
885
+ },
886
+ :'instrumentation.redis' => {
887
+ :default => instrumentation_value_of(:disable_redis),
888
+ :public => true,
889
+ :type => String,
890
+ :dynamic_name => true,
891
+ :allowed_from_server => false,
892
+ :description => "Controls auto-instrumentation of Redis at start up. May be one of [auto|prepend|chain|disabled]."
893
+ },
894
+ :'instrumentation.rake' => {
895
+ :default => instrumentation_value_of(:disable_rake),
896
+ :public => :true,
897
+ :type => String,
898
+ :dynamic_name => true,
899
+ :allowed_from_server => false,
900
+ :description => "Controls auto-instrumentation of rake at start up. May be one of [auto|prepend|chain|disabled]."
901
+ },
902
+ :'instrumentation.mongo' => {
903
+ :default => instrumentation_value_of(:disable_mongo),
904
+ :public => :true,
905
+ :type => String,
906
+ :dynamic_name => true,
907
+ :allowed_from_server => false,
908
+ :description => "Controls auto-instrumentation of Mongo at start up. May be one of [enabled|disabled]."
909
+ },
910
+ :'instrumentation.delayed_job' => {
911
+ :default => instrumentation_value_of(:disable_dj),
912
+ :public => true,
913
+ :type => String,
914
+ :dynamic_name => true,
915
+ :allowed_from_server => false,
916
+ :description => 'Controls auto-instrumentation of Delayed Job at start up. May be one of [auto|prepend|chain|disabled].'
917
+ },
918
+ :'instrumentation.httpclient' => {
919
+ :default => instrumentation_value_of(:disable_httpclient),
920
+ :public => true,
921
+ :type => String,
922
+ :dynamic_name => true,
923
+ :allowed_from_server => false,
924
+ :description => "Controls auto-instrumentation of HTTPClient at start up. May be one of [auto|prepend|chain|disabled]."
925
+ },
926
+ :'instrumentation.curb' => {
927
+ :default => instrumentation_value_of(:disable_curb),
928
+ :public => true,
929
+ :type => String,
930
+ :dynamic_name => true,
931
+ :allowed_from_server => false,
932
+ :description => 'Controls auto-instrumentation of Curb at start up. May be one of [auto|prepend|chain|disabled].'
933
+ },
934
+ :'instrumentation.sinatra' => {
935
+ :default => instrumentation_value_of(:disable_sinatra),
936
+ :public => :true,
937
+ :type => String,
938
+ :dynamic_name => true,
939
+ :allowed_from_server => false,
940
+ :description => "Controls auto-instrumentation of Sinatra at start up. May be one of [auto|prepend|chain|disabled]."
941
+ },
942
+ :'instrumentation.rack' => {
943
+ :default => instrumentation_value_of(:disable_rack),
944
+ :public => true,
945
+ :type => String,
946
+ :dynamic_name => true,
947
+ :allowed_from_server => false,
948
+ :description => "Controls auto-instrumentation of Rack. When enabled, the agent hooks into the " \
949
+ "`to_app` method in Rack::Builder to find gems to instrument during " \
950
+ "application startup. May be one of [auto|prepend|chain|disabled]."
951
+ },
952
+ :'instrumentation.rack_urlmap' => {
953
+ :default => instrumentation_value_of(:disable_rack_urlmap),
954
+ :public => true,
955
+ :type => String,
956
+ :dynamic_name => true,
957
+ :allowed_from_server => false,
958
+ :description => 'Controls auto-instrumentation of Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
959
+ },
960
+ :'instrumentation.puma_rack' => {
961
+ :default => instrumentation_value_of(:disable_puma_rack), # TODO: change to value_of(:'instrumentation.rack') when we remove :disable_puma_rack in 8.0)
962
+ :public => true,
963
+ :type => String,
964
+ :dynamic_name => true,
965
+ :allowed_from_server => false,
966
+ :description => "Controls auto-instrumentation of Puma::Rack. When enabled, the agent hooks into the " \
967
+ "`to_app` method in Puma::Rack::Builder to find gems to instrument during " \
968
+ "application startup. May be one of [auto|prepend|chain|disabled]."
969
+ },
970
+ :'instrumentation.puma_rack_urlmap' => {
971
+ :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)
972
+ :public => true,
973
+ :type => String,
974
+ :dynamic_name => true,
975
+ :allowed_from_server => false,
976
+ :description => 'Controls auto-instrumentation of Puma::Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
977
+ },
978
+ :'instrumentation.memcached' => {
979
+ :default => instrumentation_value_of(:disable_memcached),
980
+ :public => true,
981
+ :type => String,
982
+ :dynamic_name => true,
983
+ :allowed_from_server => false,
984
+ :description => 'Controls auto-instrumentation of memcached gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
985
+ },
986
+ :'instrumentation.memcache_client' => {
987
+ :default => instrumentation_value_of(:disable_memcache_client),
988
+ :public => true,
989
+ :type => String,
990
+ :dynamic_name => true,
991
+ :allowed_from_server => false,
992
+ :description => 'Controls auto-instrumentation of memcache-client gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
993
+ },
994
+ :'instrumentation.memcache' => {
995
+ :default => instrumentation_value_of(:disable_dalli),
996
+ :public => true,
997
+ :type => String,
998
+ :dynamic_name => true,
999
+ :allowed_from_server => false,
1000
+ :description => 'Controls auto-instrumentation of dalli gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
851
1001
  },
852
1002
  :disable_data_mapper => {
853
1003
  :default => false,
854
1004
  :public => true,
855
1005
  :type => Boolean,
856
1006
  :allowed_from_server => false,
857
- :description => 'If <code>true</code>, disables DataMapper instrumentation.'
1007
+ :description => 'If `true`, disables DataMapper instrumentation.'
858
1008
  },
859
1009
  :disable_activejob => {
860
1010
  :default => false,
@@ -862,7 +1012,7 @@ module NewRelic
862
1012
  :type => Boolean,
863
1013
  :dynamic_name => true,
864
1014
  :allowed_from_server => false,
865
- :description => 'If <code>true</code>, disables ActiveJob instrumentation.'
1015
+ :description => 'If `true`, disables ActiveJob instrumentation.'
866
1016
  },
867
1017
  :disable_action_cable_instrumentation => {
868
1018
  :default => false,
@@ -870,7 +1020,7 @@ module NewRelic
870
1020
  :type => Boolean,
871
1021
  :dynamic_name => true,
872
1022
  :allowed_from_server => false,
873
- :description => 'If <code>true</code>, disables Action Cable instrumentation.'
1023
+ :description => 'If `true`, disables Action Cable instrumentation.'
874
1024
  },
875
1025
  :disable_active_storage => {
876
1026
  :default => false,
@@ -878,49 +1028,54 @@ module NewRelic
878
1028
  :type => Boolean,
879
1029
  :dynamic_name => true,
880
1030
  :allowed_from_server => false,
881
- :description => 'If <code>true</code>, disables ActiveStorage instrumentation.'
1031
+ :description => 'If `true`, disables ActiveStorage instrumentation.'
882
1032
  },
883
1033
  :disable_memcached => {
884
1034
  :default => value_of(:disable_memcache_instrumentation),
885
1035
  :public => true,
886
1036
  :type => Boolean,
1037
+ :deprecated => true,
887
1038
  :allowed_from_server => false,
888
- :description => 'If <code>true</code>, disables instrumentation for the memcached gem.'
1039
+ :description => deprecated_description(:'instrumentation.memcached', 'If `true`, disables instrumentation for the memcached gem.')
889
1040
  },
890
1041
  :disable_memcache_client => {
891
1042
  :default => value_of(:disable_memcache_instrumentation),
892
1043
  :public => true,
893
1044
  :type => Boolean,
1045
+ :deprecated => true,
894
1046
  :allowed_from_server => false,
895
- :description => 'If <code>true</code>, disables instrumentation for the memcache-client gem.'
1047
+ :description => deprecated_description(:'instrumentation.memcache-client', 'If `true`, disables instrumentation for the memcache-client gem.')
896
1048
  },
897
1049
  :disable_dalli => {
898
1050
  :default => value_of(:disable_memcache_instrumentation),
899
1051
  :public => true,
900
1052
  :type => Boolean,
1053
+ :deprecated => true,
901
1054
  :allowed_from_server => false,
902
- :description => 'If <code>true</code>, disables instrumentation for the dalli gem.'
1055
+ :description => deprecated_description(:'instrumentation.memcache', 'If `true`, disables instrumentation for the dalli gem.')
903
1056
  },
904
1057
  :disable_dalli_cas_client => {
905
1058
  :default => value_of(:disable_memcache_instrumentation),
906
1059
  :public => true,
907
1060
  :type => Boolean,
1061
+ :deprecated => true,
908
1062
  :allowed_from_server => false,
909
- :description => "If <code>true</code>, disables instrumentation for the dalli gem\'s additional CAS client support."
1063
+ :description => deprecated_description(:'instrumentation.memcache', "If `true`, disables instrumentation for the dalli gem\'s additional CAS client support.")
910
1064
  },
911
1065
  :disable_memcache_instrumentation => {
912
1066
  :default => false,
913
1067
  :public => true,
914
1068
  :type => Boolean,
1069
+ :deprecated => true,
915
1070
  :allowed_from_server => false,
916
- :description => 'If <code>true</code>, disables memcache instrumentation.'
1071
+ :description => deprecated_description(:'instrumentation.memcache', 'If `true`, disables memcache instrumentation.')
917
1072
  },
918
1073
  :disable_gc_profiler => {
919
1074
  :default => false,
920
1075
  :public => true,
921
1076
  :type => Boolean,
922
1077
  :allowed_from_server => false,
923
- :description => 'If <code>true</code>, disables the use of GC::Profiler to measure time spent in garbage collection'
1078
+ :description => 'If `true`, disables the use of GC::Profiler to measure time spent in garbage collection'
924
1079
  },
925
1080
  :'sidekiq.capture_params' => {
926
1081
  :default => false,
@@ -929,7 +1084,7 @@ module NewRelic
929
1084
  :allowed_from_server => false,
930
1085
  :dynamic_name => true,
931
1086
  :deprecated => true,
932
- :description => 'If <code>true</code>, enables the capture of job arguments for transaction traces and traced errors in Sidekiq.'
1087
+ :description => 'If `true`, enables the capture of job arguments for transaction traces and traced errors in Sidekiq.'
933
1088
  },
934
1089
  :'resque.capture_params' => {
935
1090
  :default => false,
@@ -938,7 +1093,7 @@ module NewRelic
938
1093
  :allowed_from_server => false,
939
1094
  :dynamic_name => true,
940
1095
  :deprecated => true,
941
- :description => 'If <code>true</code>, enables the capture of job arguments for transaction traces and traced errors in Resque.'
1096
+ :description => 'If `true`, enables the capture of job arguments for transaction traces and traced errors in Resque.'
942
1097
  },
943
1098
  :'resque.use_ruby_dns' => {
944
1099
  :default => true,
@@ -959,37 +1114,37 @@ module NewRelic
959
1114
  :public => true,
960
1115
  :type => Boolean,
961
1116
  :allowed_from_server => true,
962
- :description => 'If <code>true</code>, enables collection of <a href="https://docs.newrelic.com/docs/apm/traces/transaction-traces/transaction-traces">transaction traces</a>.'
1117
+ :description => 'If `true`, enables collection of [transaction traces](/docs/apm/traces/transaction-traces/transaction-traces).'
963
1118
  },
964
1119
  :'transaction_tracer.transaction_threshold' => {
965
1120
  :default => DefaultSource.transaction_tracer_transaction_threshold,
966
1121
  :public => true,
967
1122
  :type => Float,
968
1123
  :allowed_from_server => true,
969
- :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>.'
1124
+ :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`.'
970
1125
  },
971
1126
  :'transaction_tracer.record_sql' => {
972
1127
  :default => 'obfuscated',
973
1128
  :public => true,
974
1129
  :type => String,
975
1130
  :allowed_from_server => true,
976
- :description => 'Obfuscation level for SQL queries reported in transaction trace nodes.</p>
1131
+ :description => 'Obfuscation level for SQL queries reported in transaction trace nodes.
977
1132
 
978
- <p>By default, this is set to <code>obfuscated</code>, which strips out the numeric and string literals.</p>
1133
+ By default, this is set to `obfuscated`, which strips out the numeric and string literals.
979
1134
 
980
1135
  <ul>
981
- <li>If you do not want the agent to capture query information, set this to <code>none</code>.</li>
982
- <li>If you want the agent to capture all query information in its original form, set this to <code>raw</code>.</li>
983
- <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>
1136
+ <li>If you do not want the agent to capture query information, set this to `none`.</li>
1137
+ <li>If you want the agent to capture all query information in its original form, set this to `raw`.</li>
1138
+ <li>When you enable [high security mode](/docs/agents/manage-apm-agents/configuration/high-security-mode), this is automatically set to `obfuscated`.</li>
984
1139
  </ul>
985
- <p>' # Doc generator will wrap this in <p>...</p>
1140
+ '
986
1141
  },
987
1142
  :'transaction_tracer.record_redis_arguments' => {
988
1143
  :default => false,
989
1144
  :public => true,
990
1145
  :type => Boolean,
991
1146
  :allowed_from_server => false,
992
- :description => 'If <code>true</code>, the agent records Redis command arguments in transaction traces.'
1147
+ :description => 'If `true`, the agent records Redis command arguments in transaction traces.'
993
1148
  },
994
1149
  :'transaction_tracer.capture_attributes' => {
995
1150
  :default => true,
@@ -997,21 +1152,21 @@ module NewRelic
997
1152
  :type => Boolean,
998
1153
  :deprecated => true,
999
1154
  :allowed_from_server => false,
1000
- :description => 'Deprecated; use <a href="#transaction_tracer-attributes-enabled"><code>transaction_tracer.attributes.enabled</code></a> instead.'
1155
+ :description => 'Deprecated; use [`transaction_tracer.attributes.enabled`](#transaction_tracer-attributes-enabled) instead.'
1001
1156
  },
1002
1157
  :'transaction_tracer.explain_threshold' => {
1003
1158
  :default => 0.5,
1004
1159
  :public => true,
1005
1160
  :type => Float,
1006
1161
  :allowed_from_server => true,
1007
- :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.'
1162
+ :description => 'Threshold (in seconds) above which the agent will collect explain plans. Relevant only when [`explain_enabled`](#transaction_tracer.explain_enabled) is true.'
1008
1163
  },
1009
1164
  :'transaction_tracer.explain_enabled' => {
1010
1165
  :default => true,
1011
1166
  :public => true,
1012
1167
  :type => Boolean,
1013
1168
  :allowed_from_server => true,
1014
- :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.'
1169
+ :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.'
1015
1170
  },
1016
1171
  :'transaction_tracer.stack_trace_threshold' => {
1017
1172
  :default => 0.5,
@@ -1032,7 +1187,7 @@ module NewRelic
1032
1187
  :public => true,
1033
1188
  :type => Boolean,
1034
1189
  :allowed_from_server => false,
1035
- :description => 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/sequel-instrumentation">Sequel instrumentation</a>.'
1190
+ :description => 'If `true`, disables [Sequel instrumentation](/docs/agents/ruby-agent/frameworks/sequel-instrumentation).'
1036
1191
  },
1037
1192
  :disable_database_instrumentation => {
1038
1193
  :default => false,
@@ -1040,7 +1195,7 @@ module NewRelic
1040
1195
  :type => Boolean,
1041
1196
  :allowed_from_server => false,
1042
1197
  :deprecated => true,
1043
- :description => 'Deprecated; use <a href="#disable_sequel_instrumentation"><code>disable_sequel_instrumentation</code></a> instead.'
1198
+ :description => 'Deprecated; use [`disable_sequel_instrumentation`](#disable_sequel_instrumentation) instead.'
1044
1199
  },
1045
1200
  :disable_mongo => {
1046
1201
  :default => false,
@@ -1048,56 +1203,59 @@ module NewRelic
1048
1203
  :type => Boolean,
1049
1204
  :allowed_from_server => false,
1050
1205
  :dynamic_name => true,
1051
- :description => '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
+ :deprecated => true,
1207
+ :description => deprecated_description(:'instrumentation.mongo', 'If `true`, the agent won\'t install [instrumentation for the Mongo gem](/docs/agents/ruby-agent/frameworks/mongo-instrumentation).')
1052
1208
  },
1053
1209
  :disable_redis => {
1054
1210
  :default => false,
1055
1211
  :public => true,
1056
1212
  :type => Boolean,
1213
+ :deprecated => true,
1057
1214
  :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>.'
1215
+ :description => deprecated_description(:'instrumentation.redis', 'If `true`, the agent won\'t install [instrumentation for Redis](/docs/agents/ruby-agent/frameworks/redis-instrumentation).')
1059
1216
  },
1060
1217
  :disable_redis_instrumentation => {
1061
1218
  :default => false,
1062
1219
  :public => false,
1063
1220
  :type => Boolean,
1221
+ :deprecated => true,
1064
1222
  :allowed_from_server => false,
1065
- :description => 'Disables installation of Redis instrumentation. Standard key to use is disable_redis.'
1223
+ :description => deprecated_description(:'instrumentation.redis', 'Disables installation of Redis instrumentation. Standard key to use is disable_redis.')
1066
1224
  },
1067
1225
  :'message_tracer.segment_parameters.enabled' => {
1068
1226
  :default => true,
1069
1227
  :public => true,
1070
1228
  :type => Boolean,
1071
1229
  :allowed_from_server => true,
1072
- :description => 'If <code>true</code>, the agent will collect metadata about messages and attach them as segment parameters.'
1230
+ :description => 'If `true`, the agent will collect metadata about messages and attach them as segment parameters.'
1073
1231
  },
1074
1232
  :'slow_sql.enabled' => {
1075
1233
  :default => value_of(:'transaction_tracer.enabled'),
1076
1234
  :public => true,
1077
1235
  :type => Boolean,
1078
1236
  :allowed_from_server => true,
1079
- :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>.'
1237
+ :description => 'If `true`, the agent collects [slow SQL queries](/docs/apm/applications-menu/monitoring/viewing-slow-query-details).'
1080
1238
  },
1081
1239
  :'slow_sql.explain_threshold' => {
1082
1240
  :default => value_of(:'transaction_tracer.explain_threshold'),
1083
1241
  :public => true,
1084
1242
  :type => Float,
1085
1243
  :allowed_from_server => true,
1086
- :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.'
1244
+ :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.'
1087
1245
  },
1088
1246
  :'slow_sql.explain_enabled' => {
1089
1247
  :default => value_of(:'transaction_tracer.explain_enabled'),
1090
1248
  :public => true,
1091
1249
  :type => Boolean,
1092
1250
  :allowed_from_server => true,
1093
- :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.'
1251
+ :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.'
1094
1252
  },
1095
1253
  :'slow_sql.record_sql' => {
1096
1254
  :default => value_of(:'transaction_tracer.record_sql'),
1097
1255
  :public => true,
1098
1256
  :type => String,
1099
1257
  :allowed_from_server => true,
1100
- :description => 'Defines an obfuscation level for slow SQL queries. Valid options are <code>obfuscated</code>, <code>raw</code>, or <code>none</code>).'
1258
+ :description => 'Defines an obfuscation level for slow SQL queries. Valid options are `obfuscated`, `raw`, or `none`).'
1101
1259
  },
1102
1260
  :'slow_sql.use_longer_sql_id' => {
1103
1261
  :default => false,
@@ -1111,21 +1269,21 @@ module NewRelic
1111
1269
  :public => true,
1112
1270
  :type => Boolean,
1113
1271
  :allowed_from_server => true,
1114
- :description => 'If <code>true</code>, the agent captures Mongo queries in transaction traces.'
1272
+ :description => 'If `true`, the agent captures Mongo queries in transaction traces.'
1115
1273
  },
1116
1274
  :'mongo.obfuscate_queries' => {
1117
1275
  :default => true,
1118
1276
  :public => true,
1119
1277
  :type => Boolean,
1120
1278
  :allowed_from_server => true,
1121
- :description => 'If <code>true</code>, the agent obfuscates Mongo queries in transaction traces.'
1279
+ :description => 'If `true`, the agent obfuscates Mongo queries in transaction traces.'
1122
1280
  },
1123
1281
  :'error_collector.enabled' => {
1124
1282
  :default => true,
1125
1283
  :public => true,
1126
1284
  :type => Boolean,
1127
1285
  :allowed_from_server => true,
1128
- :description => 'If <code>true</code>, the agent captures traced errors and error count metrics.'
1286
+ :description => 'If `true`, the agent captures traced errors and error count metrics.'
1129
1287
  },
1130
1288
  :'error_collector.capture_attributes' => {
1131
1289
  :default => true,
@@ -1133,14 +1291,63 @@ module NewRelic
1133
1291
  :type => Boolean,
1134
1292
  :deprecated => true,
1135
1293
  :allowed_from_server => false,
1136
- :description => 'Deprecated; use <a href="#error_collector-attributes-enabled"><code>error_collector.attributes.enabled</code></a> instead.'
1294
+ :description => 'Deprecated; use [`error_collector.attributes.enabled`](#error_collector-attributes-enabled) instead.'
1137
1295
  },
1138
1296
  :'error_collector.ignore_errors' => {
1139
1297
  :default => 'ActionController::RoutingError,Sinatra::NotFound',
1140
1298
  :public => true,
1141
1299
  :type => String,
1142
1300
  :allowed_from_server => true,
1143
- :description => 'Specify a comma-delimited list of error classes that the agent should ignore.'
1301
+ :dynamic_name => true,
1302
+ :description => 'DEPRECATED; use `error_collector.ignore_classes` instead. Specify a comma-delimited list of error classes that the agent should ignore.'
1303
+ },
1304
+ :'error_collector.ignore_classes' => {
1305
+ :default => [],
1306
+ :public => true,
1307
+ :type => Array,
1308
+ :allowed_from_server => true,
1309
+ :dynamic_name => true,
1310
+ :description => 'A list of error classes that the agent should ignore. *Note: this setting cannot be set via environment variable.*'
1311
+ },
1312
+ :'error_collector.ignore_messages' => {
1313
+ :default => {},
1314
+ :public => true,
1315
+ :type => Hash,
1316
+ :allowed_from_server => true,
1317
+ :dynamic_name => true,
1318
+ :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.*'
1319
+ },
1320
+ :'error_collector.ignore_status_codes' => {
1321
+ :default => '',
1322
+ :public => true,
1323
+ :type => String,
1324
+ :allowed_from_server => true,
1325
+ :dynamic_name => true,
1326
+ :description => 'A comma separated list of status codes, possibly including ranges. Errors associated with these status codes, where applicable, will be ignored.'
1327
+ },
1328
+ :'error_collector.expected_classes' => {
1329
+ :default => [],
1330
+ :public => true,
1331
+ :type => Array,
1332
+ :allowed_from_server => true,
1333
+ :dynamic_name => true,
1334
+ :description => 'A list of error classes that the agent should treat as expected. *Note: this setting cannot be set via environment variable.*'
1335
+ },
1336
+ :'error_collector.expected_messages' => {
1337
+ :default => {},
1338
+ :public => true,
1339
+ :type => Hash,
1340
+ :allowed_from_server => true,
1341
+ :dynamic_name => true,
1342
+ :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.*'
1343
+ },
1344
+ :'error_collector.expected_status_codes' => {
1345
+ :default => '',
1346
+ :public => true,
1347
+ :type => String,
1348
+ :allowed_from_server => true,
1349
+ :dynamic_name => true,
1350
+ :description => 'A comma separated list of status codes, possibly including ranges. Errors associated with these status codes, where applicable, will be treated as expected.'
1144
1351
  },
1145
1352
  :'error_collector.max_backtrace_frames' => {
1146
1353
  :default => 50,
@@ -1155,14 +1362,14 @@ module NewRelic
1155
1362
  :type => Boolean,
1156
1363
  :allowed_from_server => true,
1157
1364
  :dynamic_name => true,
1158
- :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>.'
1365
+ :description => 'If `true`, the agent collects [TransactionError events](/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights).'
1159
1366
  },
1160
1367
  :'error_collector.max_event_samples_stored' => {
1161
1368
  :default => 100,
1162
1369
  :public => true,
1163
1370
  :type => Integer,
1164
1371
  :allowed_from_server => true,
1165
- :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.'
1372
+ :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.'
1166
1373
  },
1167
1374
  :'rum.enabled' => {
1168
1375
  :default => true,
@@ -1211,7 +1418,7 @@ module NewRelic
1211
1418
  :public => true,
1212
1419
  :type => Boolean,
1213
1420
  :allowed_from_server => true,
1214
- :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).'
1421
+ :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).'
1215
1422
  },
1216
1423
  :'browser_monitoring.capture_attributes' => {
1217
1424
  :default => false,
@@ -1219,7 +1426,7 @@ module NewRelic
1219
1426
  :type => Boolean,
1220
1427
  :deprecated => true,
1221
1428
  :allowed_from_server => false,
1222
- :description => 'Deprecated; use <a href="#browser_monitoring-attributes-enabled"><code>browser_monitoring.attributes.enabled</code></a> instead.'
1429
+ :description => 'Deprecated; use [`browser_monitoring.attributes.enabled`](#browser_monitoring-attributes-enabled) instead.'
1223
1430
  },
1224
1431
  :'browser_monitoring.loader' => {
1225
1432
  :default => DefaultSource.browser_monitoring_loader,
@@ -1233,7 +1440,7 @@ module NewRelic
1233
1440
  :public => false,
1234
1441
  :type => String,
1235
1442
  :allowed_from_server => true,
1236
- :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>.)'
1443
+ :description => 'Version of JavaScript agent loader (returned from the New Relic [collector](/docs/apm/new-relic-apm/getting-started/glossary#collector).)'
1237
1444
  },
1238
1445
  :'browser_monitoring.debug' => {
1239
1446
  :default => false,
@@ -1273,11 +1480,15 @@ module NewRelic
1273
1480
  :description => 'List of trusted New Relic account IDs for the purposes of cross-application tracing. Inbound requests from applications including cross-application headers that do not come from an account in this list will be ignored.'
1274
1481
  },
1275
1482
  :"cross_application_tracer.enabled" => {
1276
- :default => Proc.new { !NewRelic::Agent.config[:'distributed_tracing.enabled'] },
1483
+ :default => false,
1277
1484
  :public => true,
1278
1485
  :type => Boolean,
1279
1486
  :allowed_from_server => true,
1280
- :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>.'
1487
+ :deprecated => true,
1488
+ :description => deprecated_description(
1489
+ :'distributed_tracing-enabled',
1490
+ 'If `true`, enables [cross-application tracing](/docs/agents/ruby-agent/features/cross-application-tracing-ruby/)'
1491
+ )
1281
1492
  },
1282
1493
  :cross_application_tracing => {
1283
1494
  :default => nil,
@@ -1286,7 +1497,7 @@ module NewRelic
1286
1497
  :type => Boolean,
1287
1498
  :allowed_from_server => false,
1288
1499
  :deprecated => true,
1289
- :description => 'Deprecated in favor of cross_application_tracer.enabled'
1500
+ :description => 'Deprecated in favor of distributed_tracing.enabled'
1290
1501
  },
1291
1502
  :encoding_key => {
1292
1503
  :default => '',
@@ -1307,7 +1518,7 @@ module NewRelic
1307
1518
  :public => true,
1308
1519
  :type => Boolean,
1309
1520
  :allowed_from_server => true,
1310
- :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>.'
1521
+ :description => 'If `true`, enables use of the [thread profiler](/docs/apm/applications-menu/events/thread-profiler-tool).'
1311
1522
  },
1312
1523
  :'thread_profiler.max_profile_overhead' => {
1313
1524
  :default => 0.05,
@@ -1321,14 +1532,14 @@ module NewRelic
1321
1532
  :public => true,
1322
1533
  :type => String,
1323
1534
  :allowed_from_server => false,
1324
- :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.'
1535
+ :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.'
1325
1536
  },
1326
1537
  :'analytics_events.enabled' => {
1327
1538
  :default => true,
1328
1539
  :public => true,
1329
1540
  :type => Boolean,
1330
1541
  :allowed_from_server => true,
1331
- :description => 'If <code>true</code>, enables analytics event sampling.'
1542
+ :description => 'If `true`, enables analytics event sampling.'
1332
1543
  },
1333
1544
  :'analytics_events.max_samples_stored' => {
1334
1545
  :default => 1200,
@@ -1343,7 +1554,7 @@ module NewRelic
1343
1554
  :type => Boolean,
1344
1555
  :deprecated => true,
1345
1556
  :allowed_from_server => false,
1346
- :description => 'Deprecated; use <a href="#transaction_events-attributes-enabled"><code>transaction_events.attributes.enabled</code></a> instead.'
1557
+ :description => 'Deprecated; use [`transaction_events.attributes.enabled`](#transaction_events-attributes-enabled) instead.'
1347
1558
  },
1348
1559
  :restart_thread_in_children => {
1349
1560
  :default => true,
@@ -1372,7 +1583,7 @@ module NewRelic
1372
1583
  :type => Boolean,
1373
1584
  :dynamic_name => true,
1374
1585
  :allowed_from_server => false,
1375
- :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>.'
1586
+ :description => 'If `true`, the agent won\'t [sample performance measurements from the Ruby VM](/docs/agents/ruby-agent/features/ruby-vm-measurements).'
1376
1587
  },
1377
1588
  :disable_memory_sampler => {
1378
1589
  :default => false,
@@ -1380,7 +1591,7 @@ module NewRelic
1380
1591
  :type => Boolean,
1381
1592
  :dynamic_name => true,
1382
1593
  :allowed_from_server => false,
1383
- :description => 'If <code>true</code>, the agent won\'t sample the memory usage of the host process.'
1594
+ :description => 'If `true`, the agent won\'t sample the memory usage of the host process.'
1384
1595
  },
1385
1596
  :disable_cpu_sampler => {
1386
1597
  :default => false,
@@ -1388,7 +1599,7 @@ module NewRelic
1388
1599
  :type => Boolean,
1389
1600
  :dynamic_name => true,
1390
1601
  :allowed_from_server => false,
1391
- :description => 'If <code>true</code>, the agent won\'t sample the CPU usage of the host process.'
1602
+ :description => 'If `true`, the agent won\'t sample the CPU usage of the host process.'
1392
1603
  },
1393
1604
  :disable_delayed_job_sampler => {
1394
1605
  :default => false,
@@ -1396,33 +1607,7 @@ module NewRelic
1396
1607
  :type => Boolean,
1397
1608
  :dynamic_name => true,
1398
1609
  :allowed_from_server => false,
1399
- :description => 'If <code>true</code>, the agent won\'t measure the depth of Delayed Job queues.'
1400
- },
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.'
1610
+ :description => 'If `true`, the agent won\'t measure the depth of Delayed Job queues.'
1426
1611
  },
1427
1612
  :disable_active_record_notifications => {
1428
1613
  :default => false,
@@ -1430,39 +1615,51 @@ module NewRelic
1430
1615
  :type => Boolean,
1431
1616
  :dynamic_name => true,
1432
1617
  :allowed_from_server => false,
1433
- :description => 'If <code>true</code>, disables instrumentation for ActiveRecord 4, 5, and 6.'
1618
+ :description => 'If `true`, disables instrumentation for ActiveRecord 4, 5, and 6.'
1434
1619
  },
1435
1620
  :disable_bunny => {
1436
1621
  :default => false,
1437
1622
  :public => true,
1438
1623
  :type => Boolean,
1624
+ :deprecated => true,
1439
1625
  :dynamic_name => true,
1440
1626
  :allowed_from_server => false,
1441
- :description => 'If <code>true</code>, disables instrumentation for the bunny gem.'
1627
+ :description => deprecated_description(:'instrumentation.bunny', 'If `true`, disables instrumentation for the bunny gem.')
1442
1628
  },
1443
1629
  :disable_curb => {
1444
1630
  :default => false,
1445
1631
  :public => true,
1446
1632
  :type => Boolean,
1633
+ :deprecated => true,
1447
1634
  :dynamic_name => true,
1448
1635
  :allowed_from_server => false,
1449
- :description => 'If <code>true</code>, disables instrumentation for the curb gem.'
1636
+ :description => deprecated_description(:'instrumentation.curb', 'If `true`, disables instrumentation for the curb gem.' )
1450
1637
  },
1451
1638
  :disable_excon => {
1452
1639
  :default => false,
1453
1640
  :public => true,
1454
1641
  :type => Boolean,
1455
1642
  :dynamic_name => true,
1643
+ :deprecated => true,
1644
+ :allowed_from_server => false,
1645
+ :description => deprecated_description(:'instrumentation.excon', 'If `true`, disables instrumentation for the excon gem.')
1646
+ },
1647
+ :'instrumentation.excon' => {
1648
+ :default => instrumentation_value_of(:disable_excon),
1649
+ :public => :true,
1650
+ :type => String,
1651
+ :dynamic_name => true,
1456
1652
  :allowed_from_server => false,
1457
- :description => 'If <code>true</code>, disables instrumentation for the excon gem.'
1653
+ :description => "Controls auto-instrumentation of Excon at start up. May be one of [enabled|disabled]."
1458
1654
  },
1459
1655
  :disable_httpclient => {
1460
1656
  :default => false,
1461
1657
  :public => true,
1462
1658
  :type => Boolean,
1463
1659
  :dynamic_name => true,
1660
+ :deprecated => true,
1464
1661
  :allowed_from_server => false,
1465
- :description => 'If <code>true</code>, disables instrumentation for the httpclient gem.'
1662
+ :description => deprecated_description(:'instrumentation.httpclient', 'If `true`, disables instrumentation for the httpclient gem.')
1466
1663
  },
1467
1664
  :disable_net_http => {
1468
1665
  :default => false,
@@ -1470,7 +1667,10 @@ module NewRelic
1470
1667
  :type => Boolean,
1471
1668
  :dynamic_name => true,
1472
1669
  :allowed_from_server => false,
1473
- :description => 'If <code>true</code>, disables instrumentation for Net::HTTP.'
1670
+ :deprecated => true,
1671
+ :description => deprecated_description(:'instrumentation.net_http',
1672
+ 'If `true`, disables instrumentation for Net::HTTP.'
1673
+ )
1474
1674
  },
1475
1675
  :disable_rack => {
1476
1676
  :default => false,
@@ -1478,7 +1678,8 @@ module NewRelic
1478
1678
  :type => Boolean,
1479
1679
  :dynamic_name => true,
1480
1680
  :allowed_from_server => false,
1481
- :description => '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.'
1681
+ :deprecated => true,
1682
+ :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.')
1482
1683
  },
1483
1684
  :disable_rack_urlmap => {
1484
1685
  :default => false,
@@ -1486,7 +1687,8 @@ module NewRelic
1486
1687
  :type => Boolean,
1487
1688
  :dynamic_name => true,
1488
1689
  :allowed_from_server => false,
1489
- :description => 'If <code>true</code>, prevents the agent from hooking into Rack::URLMap to install middleware tracing.'
1690
+ :deprecated => true,
1691
+ :description => deprecated_description(:'instrumentation.rack_urlmap', 'If `true`, prevents the agent from hooking into Rack::URLMap to install middleware tracing.')
1490
1692
  },
1491
1693
  :disable_puma_rack => {
1492
1694
  :default => value_of(:disable_rack),
@@ -1494,7 +1696,8 @@ module NewRelic
1494
1696
  :type => Boolean,
1495
1697
  :dynamic_name => true,
1496
1698
  :allowed_from_server => false,
1497
- :description => '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.'
1699
+ :deprecated => true,
1700
+ :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.')
1498
1701
  },
1499
1702
  :disable_puma_rack_urlmap => {
1500
1703
  :default => value_of(:disable_rack_urlmap),
@@ -1502,30 +1705,33 @@ module NewRelic
1502
1705
  :type => Boolean,
1503
1706
  :dynamic_name => true,
1504
1707
  :allowed_from_server => false,
1505
- :description => 'If <code>true</code>, prevents the agent from hooking into Puma::Rack::URLMap to install middleware tracing.'
1708
+ :deprecated => true,
1709
+ :description => deprecated_description(:'instrumentation.puma_rack_urlmap', 'If `true`, prevents the agent from hooking into Puma::Rack::URLMap to install middleware tracing.')
1506
1710
  },
1507
1711
  :disable_typhoeus => {
1508
1712
  :default => false,
1509
1713
  :public => true,
1510
1714
  :type => Boolean,
1511
1715
  :dynamic_name => true,
1716
+ :deprecated => true,
1512
1717
  :allowed_from_server => false,
1513
- :description => 'If <code>true</code>, the agent won\'t install instrumentation for the typhoeus gem.'
1718
+ :description => deprecated_description(:'instrumentation.typhoeus', 'If `true`, the agent won\'t install instrumentation for the typhoeus gem.' )
1514
1719
  },
1515
1720
  :disable_httprb => {
1516
1721
  :default => false,
1517
1722
  :public => true,
1518
1723
  :type => Boolean,
1519
1724
  :dynamic_name => true,
1725
+ :deprecated => true,
1520
1726
  :allowed_from_server => false,
1521
- :description => 'If <code>true</code>, the agent won\'t install instrumentation for the http.rb gem.'
1727
+ :description => deprecated_description(:'instrumentation.httprb', 'If `true`, the agent won\'t install instrumentation for the http.rb gem.' )
1522
1728
  },
1523
1729
  :disable_middleware_instrumentation => {
1524
1730
  :default => false,
1525
1731
  :public => true,
1526
1732
  :type => Boolean,
1527
1733
  :allowed_from_server => false,
1528
- :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).'
1734
+ :description => 'If `true`, the agent won\'t wrap third-party middlewares in instrumentation (regardless of whether they are installed via Rack::Builder or Rails).'
1529
1735
  },
1530
1736
  :disable_rails_middleware => {
1531
1737
  :default => false,
@@ -1539,7 +1745,7 @@ module NewRelic
1539
1745
  :public => true,
1540
1746
  :type => Boolean,
1541
1747
  :allowed_from_server => false,
1542
- :description => 'If <code>true</code>, the agent uses Heroku dyno names as the hostname.'
1748
+ :description => 'If `true`, the agent uses Heroku dyno names as the hostname.'
1543
1749
  },
1544
1750
  :'heroku.dyno_name_prefixes_to_shorten' => {
1545
1751
  :default => ['scheduler', 'run'],
@@ -1554,14 +1760,14 @@ module NewRelic
1554
1760
  :public => true,
1555
1761
  :type => String,
1556
1762
  :allowed_from_server => false,
1557
- :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>.'
1763
+ :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).'
1558
1764
  },
1559
1765
  :labels => {
1560
1766
  :default => '',
1561
1767
  :public => true,
1562
1768
  :type => String,
1563
1769
  :allowed_from_server => false,
1564
- :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>.'
1770
+ :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>`.'
1565
1771
  },
1566
1772
  :aggressive_keepalive => {
1567
1773
  :default => true,
@@ -1591,7 +1797,10 @@ module NewRelic
1591
1797
  :type => Array,
1592
1798
  :allowed_from_server => true,
1593
1799
  :transform => DefaultSource.method(:convert_to_regexp_list),
1594
- :description => 'Define transactions you want the agent to ignore, by specifying a list of patterns matching the URI you want to ignore.'
1800
+ :description => 'Define transactions you want the agent to ignore, by specifying a list of patterns matching the URI you want to ignore.' \
1801
+ '*Note:* This will only ignore transaction events, not spans or traces from the same transation. See documentation on ' \
1802
+ '(Ignoring Specific Transactions)[https://docs.newrelic.com/docs/agents/ruby-agent/api-guides/ignoring-specific-transactions/#config-ignoring] ' \
1803
+ 'for more details.'
1595
1804
  },
1596
1805
  :'synthetics.traces_limit' => {
1597
1806
  :default => 20,
@@ -1612,7 +1821,7 @@ module NewRelic
1612
1821
  :public => true,
1613
1822
  :type => Boolean,
1614
1823
  :allowed_from_server => true,
1615
- :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>.'
1824
+ :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).'
1616
1825
  },
1617
1826
  :'custom_insights_events.max_samples_stored' => {
1618
1827
  :default => 1000,
@@ -1627,63 +1836,77 @@ module NewRelic
1627
1836
  :public => false,
1628
1837
  :type => Boolean,
1629
1838
  :allowed_from_server => false,
1630
- :description => 'If <code>true</code>, the agent won\'t install Grape instrumentation.'
1839
+ :deprecated => true,
1840
+ :description => deprecated_description(:'instrumentation.grape',
1841
+ 'If `true`, the agent won\'t install Grape instrumentation.'
1842
+ )
1631
1843
  },
1632
1844
  :disable_grape => {
1633
1845
  :default => false,
1634
1846
  :public => true,
1635
1847
  :type => Boolean,
1636
1848
  :allowed_from_server => false,
1637
- :description => 'If <code>true</code>, the agent won\'t install Grape instrumentation.'
1849
+ :deprecated => true,
1850
+ :description => deprecated_description(:'instrumentation.grape',
1851
+ 'If `true`, the agent won\'t install Grape instrumentation.'
1852
+ )
1853
+ },
1854
+ :'instrumentation.grape' => {
1855
+ :default => instrumentation_value_of(:disable_grape_instrumentation),
1856
+ :public => :true,
1857
+ :type => String,
1858
+ :dynamic_name => true,
1859
+ :allowed_from_server => false,
1860
+ :description => "Controls auto-instrumentation of Grape at start up. May be one of [auto|prepend|chain|disabled]."
1638
1861
  },
1639
1862
  :'attributes.enabled' => {
1640
1863
  :default => true,
1641
1864
  :public => true,
1642
1865
  :type => Boolean,
1643
1866
  :allowed_from_server => false,
1644
- :description => 'If <code>true</code>, enables capture of attributes for all destinations.'
1867
+ :description => 'If `true`, enables capture of attributes for all destinations.'
1645
1868
  },
1646
1869
  :'transaction_tracer.attributes.enabled' => {
1647
1870
  :default => value_of(:'transaction_tracer.capture_attributes'),
1648
1871
  :public => true,
1649
1872
  :type => Boolean,
1650
1873
  :allowed_from_server => false,
1651
- :description => 'If <code>true</code>, the agent captures attributes from transaction traces.'
1874
+ :description => 'If `true`, the agent captures attributes from transaction traces.'
1652
1875
  },
1653
1876
  :'transaction_events.attributes.enabled' => {
1654
1877
  :default => value_of(:'analytics_events.capture_attributes'),
1655
1878
  :public => true,
1656
1879
  :type => Boolean,
1657
1880
  :allowed_from_server => false,
1658
- :description => 'If <code>true</code>, the agent captures attributes from transaction events.'
1881
+ :description => 'If `true`, the agent captures attributes from transaction events.'
1659
1882
  },
1660
1883
  :'error_collector.attributes.enabled' => {
1661
1884
  :default => value_of(:'error_collector.capture_attributes'),
1662
1885
  :public => true,
1663
1886
  :type => Boolean,
1664
1887
  :allowed_from_server => false,
1665
- :description => 'If <code>true</code>, the agent captures attributes from error collection.'
1888
+ :description => 'If `true`, the agent captures attributes from error collection.'
1666
1889
  },
1667
1890
  :'browser_monitoring.attributes.enabled' => {
1668
1891
  :default => value_of(:'browser_monitoring.capture_attributes'),
1669
1892
  :public => true,
1670
1893
  :type => Boolean,
1671
1894
  :allowed_from_server => false,
1672
- :description => 'If <code>true</code>, the agent captures attributes from browser monitoring.'
1895
+ :description => 'If `true`, the agent captures attributes from browser monitoring.'
1673
1896
  },
1674
1897
  :'span_events.attributes.enabled' => {
1675
1898
  :default => true,
1676
1899
  :public => true,
1677
1900
  :type => Boolean,
1678
1901
  :allowed_from_server => false,
1679
- :description => 'If <code>true</code>, the agent captures attributes on span events.'
1902
+ :description => 'If `true`, the agent captures attributes on span events.'
1680
1903
  },
1681
1904
  :'transaction_segments.attributes.enabled' => {
1682
1905
  :default => true,
1683
1906
  :public => true,
1684
1907
  :type => Boolean,
1685
1908
  :allowed_from_server => false,
1686
- :description => 'If <code>true</code>, the agent captures attributes on transaction segments.'
1909
+ :description => 'If `true`, the agent captures attributes on transaction segments.'
1687
1910
  },
1688
1911
  :'attributes.exclude' => {
1689
1912
  :default => [],
@@ -1691,7 +1914,7 @@ module NewRelic
1691
1914
  :type => Array,
1692
1915
  :allowed_from_server => false,
1693
1916
  :transform => DefaultSource.method(:convert_to_list),
1694
- :description => 'Prefix of attributes to exclude from all destinations. Allows <code>*</code> as wildcard at end.'
1917
+ :description => 'Prefix of attributes to exclude from all destinations. Allows `*` as wildcard at end.'
1695
1918
  },
1696
1919
  :'transaction_tracer.attributes.exclude' => {
1697
1920
  :default => [],
@@ -1699,7 +1922,7 @@ module NewRelic
1699
1922
  :type => Array,
1700
1923
  :allowed_from_server => false,
1701
1924
  :transform => DefaultSource.method(:convert_to_list),
1702
- :description => 'Prefix of attributes to exclude from transaction traces. Allows <code>*</code> as wildcard at end.'
1925
+ :description => 'Prefix of attributes to exclude from transaction traces. Allows `*` as wildcard at end.'
1703
1926
  },
1704
1927
  :'transaction_events.attributes.exclude' => {
1705
1928
  :default => [],
@@ -1707,7 +1930,7 @@ module NewRelic
1707
1930
  :type => Array,
1708
1931
  :allowed_from_server => false,
1709
1932
  :transform => DefaultSource.method(:convert_to_list),
1710
- :description => 'Prefix of attributes to exclude from transaction events. Allows <code>*</code> as wildcard at end.'
1933
+ :description => 'Prefix of attributes to exclude from transaction events. Allows `*` as wildcard at end.'
1711
1934
  },
1712
1935
  :'error_collector.attributes.exclude' => {
1713
1936
  :default => [],
@@ -1715,7 +1938,7 @@ module NewRelic
1715
1938
  :type => Array,
1716
1939
  :allowed_from_server => false,
1717
1940
  :transform => DefaultSource.method(:convert_to_list),
1718
- :description => 'Prefix of attributes to exclude from error collection. Allows <code>*</code> as wildcard at end.'
1941
+ :description => 'Prefix of attributes to exclude from error collection. Allows `*` as wildcard at end.'
1719
1942
  },
1720
1943
  :'browser_monitoring.attributes.exclude' => {
1721
1944
  :default => [],
@@ -1723,7 +1946,7 @@ module NewRelic
1723
1946
  :type => Array,
1724
1947
  :allowed_from_server => false,
1725
1948
  :transform => DefaultSource.method(:convert_to_list),
1726
- :description => 'Prefix of attributes to exclude from browser monitoring. Allows <code>*</code> as wildcard at end.'
1949
+ :description => 'Prefix of attributes to exclude from browser monitoring. Allows `*` as wildcard at end.'
1727
1950
  },
1728
1951
  :'span_events.attributes.exclude' => {
1729
1952
  :default => [],
@@ -1731,7 +1954,7 @@ module NewRelic
1731
1954
  :type => Array,
1732
1955
  :allowed_from_server => false,
1733
1956
  :transform => DefaultSource.method(:convert_to_list),
1734
- :description => 'Prefix of attributes to exclude from span events. Allows <code>*</code> as wildcard at end.'
1957
+ :description => 'Prefix of attributes to exclude from span events. Allows `*` as wildcard at end.'
1735
1958
  },
1736
1959
  :'transaction_segments.attributes.exclude' => {
1737
1960
  :default => [],
@@ -1739,7 +1962,7 @@ module NewRelic
1739
1962
  :type => Array,
1740
1963
  :allowed_from_server => false,
1741
1964
  :transform => DefaultSource.method(:convert_to_list),
1742
- :description => 'Prefix of attributes to exclude from transaction segments. Allows <code>*</code> as wildcard at end.'
1965
+ :description => 'Prefix of attributes to exclude from transaction segments. Allows `*` as wildcard at end.'
1743
1966
  },
1744
1967
  :'attributes.include' => {
1745
1968
  :default => [],
@@ -1747,7 +1970,7 @@ module NewRelic
1747
1970
  :type => Array,
1748
1971
  :allowed_from_server => false,
1749
1972
  :transform => DefaultSource.method(:convert_to_list),
1750
- :description => 'Prefix of attributes to include in all destinations. Allows <code>*</code> as wildcard at end.'
1973
+ :description => 'Prefix of attributes to include in all destinations. Allows `*` as wildcard at end.'
1751
1974
  },
1752
1975
  :'transaction_tracer.attributes.include' => {
1753
1976
  :default => [],
@@ -1755,7 +1978,7 @@ module NewRelic
1755
1978
  :type => Array,
1756
1979
  :allowed_from_server => false,
1757
1980
  :transform => DefaultSource.method(:convert_to_list),
1758
- :description => 'Prefix of attributes to include in transaction traces. Allows <code>*</code> as wildcard at end.'
1981
+ :description => 'Prefix of attributes to include in transaction traces. Allows `*` as wildcard at end.'
1759
1982
  },
1760
1983
  :'transaction_events.attributes.include' => {
1761
1984
  :default => [],
@@ -1763,7 +1986,7 @@ module NewRelic
1763
1986
  :type => Array,
1764
1987
  :allowed_from_server => false,
1765
1988
  :transform => DefaultSource.method(:convert_to_list),
1766
- :description => 'Prefix of attributes to include in transaction events. Allows <code>*</code> as wildcard at end.'
1989
+ :description => 'Prefix of attributes to include in transaction events. Allows `*` as wildcard at end.'
1767
1990
  },
1768
1991
  :'error_collector.attributes.include' => {
1769
1992
  :default => [],
@@ -1771,7 +1994,7 @@ module NewRelic
1771
1994
  :type => Array,
1772
1995
  :allowed_from_server => false,
1773
1996
  :transform => DefaultSource.method(:convert_to_list),
1774
- :description => 'Prefix of attributes to include in error collection. Allows <code>*</code> as wildcard at end.'
1997
+ :description => 'Prefix of attributes to include in error collection. Allows `*` as wildcard at end.'
1775
1998
  },
1776
1999
  :'browser_monitoring.attributes.include' => {
1777
2000
  :default => [],
@@ -1779,7 +2002,7 @@ module NewRelic
1779
2002
  :type => Array,
1780
2003
  :allowed_from_server => false,
1781
2004
  :transform => DefaultSource.method(:convert_to_list),
1782
- :description => 'Prefix of attributes to include in browser monitoring. Allows <code>*</code> as wildcard at end.'
2005
+ :description => 'Prefix of attributes to include in browser monitoring. Allows `*` as wildcard at end.'
1783
2006
  },
1784
2007
  :'span_events.attributes.include' => {
1785
2008
  :default => [],
@@ -1787,7 +2010,7 @@ module NewRelic
1787
2010
  :type => Array,
1788
2011
  :allowed_from_server => false,
1789
2012
  :transform => DefaultSource.method(:convert_to_list),
1790
- :description => 'Prefix of attributes to include on span events. Allows <code>*</code> as wildcard at end.'
2013
+ :description => 'Prefix of attributes to include on span events. Allows `*` as wildcard at end.'
1791
2014
  },
1792
2015
  :'transaction_segments.attributes.include' => {
1793
2016
  :default => [],
@@ -1795,14 +2018,14 @@ module NewRelic
1795
2018
  :type => Array,
1796
2019
  :allowed_from_server => false,
1797
2020
  :transform => DefaultSource.method(:convert_to_list),
1798
- :description => 'Prefix of attributes to include on transaction segments. Allows <code>*</code> as wildcard at end.'
2021
+ :description => 'Prefix of attributes to include on transaction segments. Allows `*` as wildcard at end.'
1799
2022
  },
1800
2023
  :'custom_attributes.enabled' => {
1801
2024
  :default => true,
1802
2025
  :public => true,
1803
2026
  :type => Boolean,
1804
2027
  :allowed_from_server => false,
1805
- :description => 'If <code>false</code>, custom attributes will not be sent on Insights events.'
2028
+ :description => 'If `false`, custom attributes will not be sent on Insights events.'
1806
2029
  },
1807
2030
  :'utilization.detect_aws' => {
1808
2031
  :default => true,
@@ -1810,7 +2033,7 @@ module NewRelic
1810
2033
  :type => Boolean,
1811
2034
  :allowed_from_server => false,
1812
2035
  :dynamic_name => true,
1813
- :description => 'If <code>true</code>, the agent automatically detects that it is running in an AWS environment.'
2036
+ :description => 'If `true`, the agent automatically detects that it is running in an AWS environment.'
1814
2037
  },
1815
2038
  :'utilization.detect_azure' => {
1816
2039
  :default => true,
@@ -1818,7 +2041,7 @@ module NewRelic
1818
2041
  :type => Boolean,
1819
2042
  :allowed_from_server => false,
1820
2043
  :dynamic_name => true,
1821
- :description => 'If <code>true</code>, the agent automatically detects that it is running in an Azure environment.'
2044
+ :description => 'If `true`, the agent automatically detects that it is running in an Azure environment.'
1822
2045
  },
1823
2046
  :'utilization.detect_gcp' => {
1824
2047
  :default => true,
@@ -1826,7 +2049,7 @@ module NewRelic
1826
2049
  :type => Boolean,
1827
2050
  :allowed_from_server => false,
1828
2051
  :dynamic_name => true,
1829
- :description => 'If <code>true</code>, the agent automatically detects that it is running in an Google Cloud Platform environment.'
2052
+ :description => 'If `true`, the agent automatically detects that it is running in an Google Cloud Platform environment.'
1830
2053
  },
1831
2054
  :'utilization.detect_pcf' => {
1832
2055
  :default => true,
@@ -1834,21 +2057,21 @@ module NewRelic
1834
2057
  :type => Boolean,
1835
2058
  :allowed_from_server => false,
1836
2059
  :dynamic_name => true,
1837
- :description => 'If <code>true</code>, the agent automatically detects that it is running in a Pivotal Cloud Foundry environment.'
2060
+ :description => 'If `true`, the agent automatically detects that it is running in a Pivotal Cloud Foundry environment.'
1838
2061
  },
1839
2062
  :'utilization.detect_docker' => {
1840
2063
  :default => true,
1841
2064
  :public => true,
1842
2065
  :type => Boolean,
1843
2066
  :allowed_from_server => false,
1844
- :description => 'If <code>true</code>, the agent automatically detects that it is running in Docker.'
2067
+ :description => 'If `true`, the agent automatically detects that it is running in Docker.'
1845
2068
  },
1846
2069
  :'utilization.detect_kubernetes' => {
1847
2070
  :default => true,
1848
2071
  :public => true,
1849
2072
  :type => Boolean,
1850
2073
  :allowed_from_server => false,
1851
- :description => 'If <code>true</code>, the agent automatically detects that it is running in Kubernetes.'
2074
+ :description => 'If `true`, the agent automatically detects that it is running in Kubernetes.'
1852
2075
  },
1853
2076
  :'utilization.billing_hostname' => {
1854
2077
  :default => nil,
@@ -1879,21 +2102,21 @@ module NewRelic
1879
2102
  :public => true,
1880
2103
  :type => Boolean,
1881
2104
  :allowed_from_server => false,
1882
- :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.'
2105
+ :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.'
1883
2106
  },
1884
2107
  :'datastore_tracer.database_name_reporting.enabled' => {
1885
2108
  :default => true,
1886
2109
  :public => true,
1887
2110
  :type => Boolean,
1888
2111
  :allowed_from_server => false,
1889
- :description => 'If <code>false</code>, the agent will not add <code>database_name</code> parameter to transaction or slow sql traces.'
2112
+ :description => 'If `false`, the agent will not add `database_name` parameter to transaction or slow sql traces.'
1890
2113
  },
1891
2114
  :'clear_transaction_state_after_fork' => {
1892
2115
  :default => false,
1893
2116
  :public => true,
1894
2117
  :type => Boolean,
1895
2118
  :allowed_from_server => false,
1896
- :description => 'If <code>true</code>, the agent will clear <code>Tracer::State</code> in <code>Agent.drop_buffered_data</code>.'
2119
+ :description => 'If `true`, the agent will clear `Tracer::State` in `Agent.drop_buffered_data`.'
1897
2120
  },
1898
2121
  :account_id => {
1899
2122
  :default => nil,
@@ -1912,11 +2135,11 @@ module NewRelic
1912
2135
  :description => 'The primary id associated with this application.'
1913
2136
  },
1914
2137
  :'distributed_tracing.enabled' => {
1915
- :default => false,
2138
+ :default => true,
1916
2139
  :public => true,
1917
2140
  :type => Boolean,
1918
- :allowed_from_server => false,
1919
- :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.'
2141
+ :allowed_from_server => true,
2142
+ :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.'
1920
2143
  },
1921
2144
  :trusted_account_key => {
1922
2145
  :default => nil,
@@ -1945,7 +2168,7 @@ module NewRelic
1945
2168
  :public => true,
1946
2169
  :type => Boolean,
1947
2170
  :allowed_from_server => true,
1948
- :description => 'If <code>true</code>, enables span event sampling.'
2171
+ :description => 'If `true`, enables span event sampling.'
1949
2172
  },
1950
2173
  :'span_events.queue_size' => {
1951
2174
  :default => 10_000,
@@ -1956,7 +2179,7 @@ module NewRelic
1956
2179
  :description => "Sets the maximum number of span events to buffer when streaming to the trace observer."
1957
2180
  },
1958
2181
  :'span_events.max_samples_stored' => {
1959
- :default => 1000,
2182
+ :default => 2000,
1960
2183
  :public => true,
1961
2184
  :type => Integer,
1962
2185
  :allowed_from_server => true,