newrelic_rpm 3.14.2.312 → 3.14.3.313

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -5
  3. data/CHANGELOG +22 -0
  4. data/lib/new_relic/agent/agent.rb +0 -4
  5. data/lib/new_relic/agent/configuration/default_source.rb +114 -107
  6. data/lib/new_relic/agent/database.rb +17 -1
  7. data/lib/new_relic/agent/database/obfuscation_helpers.rb +68 -48
  8. data/lib/new_relic/agent/database/obfuscator.rb +4 -23
  9. data/lib/new_relic/agent/database/postgres_explain_obfuscator.rb +1 -1
  10. data/lib/new_relic/agent/instrumentation/data_mapper.rb +20 -1
  11. data/lib/new_relic/agent/instrumentation/evented_subscriber.rb +1 -1
  12. data/lib/new_relic/agent/rules_engine.rb +39 -2
  13. data/lib/new_relic/agent/rules_engine/segment_terms_rule.rb +27 -5
  14. data/lib/new_relic/agent/sql_sampler.rb +7 -3
  15. data/lib/new_relic/language_support.rb +8 -0
  16. data/lib/new_relic/version.rb +1 -1
  17. data/lib/tasks/config.html.erb +5 -1
  18. data/lib/tasks/config.rake +10 -2
  19. data/lib/tasks/config.text.erb +6 -5
  20. data/test/environments/rails32/Gemfile +6 -1
  21. data/test/fixtures/cross_agent_tests/aws.json +95 -1
  22. data/test/fixtures/cross_agent_tests/cat/README.md +28 -0
  23. data/test/fixtures/cross_agent_tests/cat/cat_map.json +595 -0
  24. data/test/fixtures/cross_agent_tests/cat/path_hashing.json +51 -0
  25. data/test/fixtures/cross_agent_tests/data_transport/data_transport.json +1441 -0
  26. data/test/fixtures/cross_agent_tests/data_transport/data_transport.md +35 -0
  27. data/test/fixtures/cross_agent_tests/sql_obfuscation/README.md +7 -2
  28. data/test/fixtures/cross_agent_tests/sql_obfuscation/sql_obfuscation.json +261 -35
  29. data/test/fixtures/cross_agent_tests/transaction_segment_terms.json +305 -17
  30. data/test/multiverse/suites/active_record/active_record_test.rb +1 -1
  31. data/test/multiverse/suites/agent_only/rename_rule_test.rb +12 -12
  32. data/test/multiverse/suites/datamapper/datamapper_test.rb +23 -0
  33. data/test/multiverse/suites/rails/Envfile +10 -2
  34. data/test/new_relic/agent/database/sql_obfuscation_test.rb +2 -7
  35. data/test/performance/README.md +3 -10
  36. data/test/performance/lib/performance/table.rb +1 -1
  37. data/test/performance/suites/rules_engine.rb +35 -0
  38. data/test/performance/suites/segment_terms_rule.rb +27 -0
  39. data/test/performance/suites/sql_obfuscation.rb +19 -0
  40. metadata +9 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d249ecd98766db01a826c39d022d93d87664cb0e
4
- data.tar.gz: ede61fd51cb9dcf848302e06361f726482541da7
3
+ metadata.gz: d0bda6a646d6112679fd28258a00acdbd96924b7
4
+ data.tar.gz: 0425f49e3544124c46ad1c4a43c0e061510137f1
5
5
  SHA512:
6
- metadata.gz: f41a0a49218ddb2bd666b76cc7d303870ae2aaddcfb4f62ffdf126b32f577ccaa5d22e7348a216c41a2033a582ed41bab9c1a15308b40db1e119dc3abc064126
7
- data.tar.gz: 41c64d4afcaedfc5d7f1d9501c1bca9522eefd1e02d27b2c94693def7876a9b616e34a5adb636330d7918cb0c6073804ab90a5fc58dea178d6ef09f3f9c9a1e6
6
+ metadata.gz: 0553dab5397468ae5e48fc4a983bfd5ac2b6000b42497ac0f7068f95bfd50865bb024cf5a32aa047f5675708ce51b925f77cce2511b61c1e2c52f9ea7e375c5f
7
+ data.tar.gz: 2d0a942e509d2d5dd400dab3ba4c3b48e1154129e6b8041725a4fcb3978562e6f7a32579d3d1c4548b1eb1f9587e37f22b67ce752fb008e44487239f7a7e9b62
data/.travis.yml CHANGED
@@ -38,16 +38,16 @@ branches:
38
38
 
39
39
  rvm:
40
40
  # Run slowest builds first to try and optimize overall cycle time.
41
- - rbx-2.5.8
42
41
  - jruby-1.7.23
43
42
  - jruby-9.0.4.0
44
43
  - 2.2.4
45
- - 2.1.8
44
+ - 2.1.7
46
45
  - 2.0.0-p648
47
46
  - 1.9.3
48
47
  - 1.9.2
49
48
  - ree
50
49
  - 1.8.7
50
+ - rbx-2.5.8
51
51
 
52
52
  env:
53
53
  global:
@@ -85,6 +85,7 @@ env:
85
85
  matrix:
86
86
  allow_failures:
87
87
  - rvm: rbx-2.5.8
88
+ fast_finish: true
88
89
  exclude:
89
90
  - rvm: rbx-2.5.8 # Currently hangs
90
91
  env: TYPE=FUNCTIONAL GROUP=agent
@@ -99,11 +100,11 @@ matrix:
99
100
  env: TYPE=UNIT ENVIRONMENT=rails23
100
101
 
101
102
  # 2.1
102
- - rvm: 2.1.8
103
+ - rvm: 2.1.7
103
104
  env: TYPE=UNIT ENVIRONMENT=rails21
104
- - rvm: 2.1.8
105
+ - rvm: 2.1.7
105
106
  env: TYPE=UNIT ENVIRONMENT=rails22
106
- - rvm: 2.1.8
107
+ - rvm: 2.1.7
107
108
  env: TYPE=UNIT ENVIRONMENT=rails23
108
109
 
109
110
  # 2.0
data/CHANGELOG CHANGED
@@ -1,5 +1,27 @@
1
1
  # New Relic Ruby Agent Release Notes #
2
2
 
3
+ ## v3.14.3 ##
4
+
5
+ * Don't inadvertently send sensitive information from DataMapper SQLErrors
6
+
7
+ DataObjects::SQLError captures the SQL query, and when using versions of
8
+ data_objects prior to 0.10.8, built a URI attribute that contained the
9
+ database connection password. The :query attribute now respects the obfuscation
10
+ level set for slow SQL traces and splices out any password parameters to the
11
+ URI when sending up traced errors to New Relic.
12
+
13
+ * Improved SQL obfuscation algorithm
14
+
15
+ To help standardize SQL obfuscation across New Relic language agents, we've
16
+ improved the algorithm used and added more test cases.
17
+
18
+ * Configurable longer sql_id attribute on slow SQL traces
19
+
20
+ The sql_id attribute on slow SQL traces is used to aggregate normalized
21
+ queries together. Previously, these IDs would generally be 9-10 digits long,
22
+ due to a backend restriction. If `slow_sql.use_longer_sql_id` is set to `true`,
23
+ these IDs will now be 18-19 digits long.
24
+
3
25
  ## v3.14.2 ##
4
26
 
5
27
  * Improved transaction names for Sinatra
@@ -74,8 +74,6 @@ module NewRelic
74
74
 
75
75
  @wait_on_connect_reader, @wait_on_connect_writer = IO.pipe
76
76
 
77
- @obfuscator = lambda {|sql| NewRelic::Agent::Database.default_sql_obfuscator(sql) }
78
-
79
77
  setup_attribute_filter
80
78
  end
81
79
 
@@ -104,8 +102,6 @@ module NewRelic
104
102
  # instances
105
103
  module InstanceMethods
106
104
 
107
- # holds a proc that is used to obfuscate sql statements
108
- attr_reader :obfuscator
109
105
  # the statistics engine that holds all the timeslice data
110
106
  attr_reader :stats_engine
111
107
  # the transaction sampler that handles recording transactions
@@ -248,14 +248,14 @@ module NewRelic
248
248
  :public => true,
249
249
  :type => String,
250
250
  :allowed_from_server => false,
251
- :description => 'Your New Relic <a href="/docs/accounts-partnerships/accounts/account-setup/license-key">license key</a>.'
251
+ :description => 'Your New Relic <a href="https://docs.newrelic.com/docs/accounts-partnerships/accounts/account-setup/license-key">license key</a>.'
252
252
  },
253
253
  :agent_enabled => {
254
254
  :default => DefaultSource.agent_enabled,
255
255
  :public => true,
256
256
  :type => Boolean,
257
257
  :allowed_from_server => false,
258
- :description => 'Enable or disable the agent.'
258
+ :description => 'If <code>true</code>, allows the Ruby agent to run.'
259
259
  },
260
260
  :enabled => {
261
261
  :default => true,
@@ -270,21 +270,21 @@ module NewRelic
270
270
  :public => true,
271
271
  :type => String,
272
272
  :allowed_from_server => false,
273
- :description => 'Semicolon-delimited list of <a href="/docs/apm/new-relic-apm/installation-and-configuration/naming-your-application">application names</a> to which the agent will report metrics (e.g. \'MyApplication\' or \'MyAppStaging;Instance1\'). For more information, see <a href="/docs/apm/new-relic-apm/installation-and-configuration/naming-your-application">Naming your application</a>.'
273
+ :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>.'
274
274
  },
275
275
  :monitor_mode => {
276
276
  :default => value_of(:enabled),
277
277
  :public => true,
278
278
  :type => Boolean,
279
279
  :allowed_from_server => false,
280
- :description => 'Enable or disable the transmission of data to the New Relic <a href="/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>).'
280
+ :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>.'
281
281
  },
282
282
  :developer_mode => {
283
283
  :default => value_of(:developer),
284
284
  :public => true,
285
285
  :type => Boolean,
286
286
  :allowed_from_server => false,
287
- :description => 'Enable or disable developer mode, a local analytics package built into the agent for rack applications. Access developer mode analytics by visiting <b>/newrelic</b> in your application.'
287
+ :description => 'When <code>true</code>, enables developer mode, a local analytics package built into the agent for rack applications. Access developer mode analytics by visiting <b>/newrelic</b> in your application.'
288
288
  },
289
289
  :developer => {
290
290
  :default => false,
@@ -298,14 +298,14 @@ module NewRelic
298
298
  :public => true,
299
299
  :type => String,
300
300
  :allowed_from_server => false,
301
- :description => 'Log level for agent logging: error, warn, info or debug.'
301
+ :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>.'
302
302
  },
303
303
  :high_security => {
304
304
  :default => false,
305
305
  :public => true,
306
306
  :type => Boolean,
307
307
  :allowed_from_server => false,
308
- :description => 'Enable or disable <a href="/docs/accounts-partnerships/accounts/security/high-security">high security mode</a>, a suite of security features designed to protect data in an enterprise setting.'
308
+ :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.'
309
309
  },
310
310
  :ssl => {
311
311
  :default => true,
@@ -313,7 +313,7 @@ module NewRelic
313
313
  :public => true,
314
314
  :type => Boolean,
315
315
  :allowed_from_server => false,
316
- :description => 'Enable or disable SSL for transmissions to the New Relic <a href="/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>). Defaults to true in versions 3.5.6 and higher.'
316
+ :description => 'If <code>true</code>, enables SSL for transmissions to the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>.'
317
317
  },
318
318
  :proxy_host => {
319
319
  :default => nil,
@@ -321,7 +321,7 @@ module NewRelic
321
321
  :public => true,
322
322
  :type => String,
323
323
  :allowed_from_server => false,
324
- :description => 'Defines a host for communicating with New Relic via a proxy server.'
324
+ :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.'
325
325
  },
326
326
  :proxy_port => {
327
327
  :default => 8080,
@@ -329,7 +329,7 @@ module NewRelic
329
329
  :public => true,
330
330
  :type => Fixnum,
331
331
  :allowed_from_server => false,
332
- :description => 'Defines a port for communicating with New Relic via a proxy server.'
332
+ :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.'
333
333
  },
334
334
  :proxy_user => {
335
335
  :default => nil,
@@ -338,7 +338,7 @@ module NewRelic
338
338
  :type => String,
339
339
  :allowed_from_server => false,
340
340
  :exclude_from_reported_settings => true,
341
- :description => 'Defines a user for communicating with New Relic via a proxy server.'
341
+ :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.'
342
342
  },
343
343
  :proxy_pass => {
344
344
  :default => nil,
@@ -347,28 +347,28 @@ module NewRelic
347
347
  :type => String,
348
348
  :allowed_from_server => false,
349
349
  :exclude_from_reported_settings => true,
350
- :description => 'Defines a password for communicating with New Relic via a proxy server.'
350
+ :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.'
351
351
  },
352
352
  :capture_params => {
353
353
  :default => false,
354
354
  :public => true,
355
355
  :type => Boolean,
356
356
  :allowed_from_server => false,
357
- :description => 'Enable or disable the capture of HTTP request parameters to be attached to transaction traces and traced errors.'
357
+ :description => 'When <code>true</code>, the agent captures HTTP request parameters and attaches them to transaction traces and traced errors.'
358
358
  },
359
359
  :config_path => {
360
360
  :default => DefaultSource.config_path,
361
361
  :public => true,
362
362
  :type => String,
363
363
  :allowed_from_server => false,
364
- :description => 'Path to <b>newrelic.yml</b>. When omitted the agent will check (in order) <b>config/newrelic.yml</b>, <b>newrelic.yml</b>, <b>$HOME/.newrelic/newrelic.yml</b> and <b>$HOME/newrelic.yml</b>.'
364
+ :description => 'Path to <b>newrelic.yml</b>. If undefined, the agent checks the following directories (in order): <b>config/newrelic.yml</b>, <b>newrelic.yml</b>, <b>$HOME/.newrelic/newrelic.yml</b> and <b>$HOME/newrelic.yml</b>.'
365
365
  },
366
366
  :config_search_paths => {
367
367
  :default => DefaultSource.config_search_paths,
368
368
  :public => false,
369
369
  :type => Array,
370
370
  :allowed_from_server => false,
371
- :description => "An array of candidate locations for the agent's configuration file."
371
+ :description => "An array of candidate locations for the agent\'s configuration file."
372
372
  },
373
373
  :dispatcher => {
374
374
  :default => DefaultSource.dispatcher,
@@ -389,35 +389,35 @@ module NewRelic
389
389
  :public => true,
390
390
  :type => String,
391
391
  :allowed_from_server => false,
392
- :description => 'Defines a comma-delimited list of constants. When these constants are present, the agent will not start automatically (e.g. \'Rails::Console, UninstrumentedBackgroundJob\').'
392
+ :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>.'
393
393
  },
394
394
  :'autostart.blacklisted_executables' => {
395
395
  :default => 'irb,rspec',
396
396
  :public => true,
397
397
  :type => String,
398
398
  :allowed_from_server => false,
399
- :description => 'Defines a comma-delimited list of executables that should not be instrumented by the agent (e.g. \'rake,my_ruby_script.rb\').'
399
+ :description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, <code>rake,my_ruby_script.rb</code>.'
400
400
  },
401
401
  :'autostart.blacklisted_rake_tasks' => {
402
402
  :default => AUTOSTART_BLACKLISTED_RAKE_TASKS,
403
403
  :public => true,
404
404
  :type => String,
405
405
  :allowed_from_server => false,
406
- :description => 'Defines a comma-delimited list of rake tasks that should not be instrumented by the agent (e.g. \'assets:precompile,db:migrate\').'
406
+ :description => 'Defines a comma-delimited list of Rake tasks that the agent should not instrument. For example, <code>assets:precompile,db:migrate</code>.'
407
407
  },
408
408
  :disable_rake => {
409
409
  :default => false,
410
410
  :public => true,
411
411
  :type => Boolean,
412
412
  :allowed_from_server => false,
413
- :description => 'Enable or disable rake instrumentation.'
413
+ :description => 'If <code>true</code>, disables Rake instrumentation.'
414
414
  },
415
415
  :disable_rake_instrumentation => {
416
416
  :default => false,
417
417
  :public => false,
418
418
  :type => Boolean,
419
419
  :allowed_from_server => false,
420
- :description => 'Enable or disable rake instrumentation. Preferred key is `disable_rake`'
420
+ :description => 'Enable or disable Rake instrumentation. Preferred key is `disable_rake`'
421
421
  },
422
422
  :'rake.tasks' => {
423
423
  :default => [],
@@ -425,7 +425,7 @@ module NewRelic
425
425
  :type => Array,
426
426
  :allowed_from_server => false,
427
427
  :transform => DefaultSource.method(:convert_to_regexp_list),
428
- :description => 'List of Rake tasks to automatically instrument'
428
+ :description => 'Specify an array of Rake tasks to automatically instrument.'
429
429
  },
430
430
  :'rake.connect_timeout' => {
431
431
  :default => 10,
@@ -447,14 +447,14 @@ module NewRelic
447
447
  :type => Float,
448
448
  :allowed_from_server => true,
449
449
  :deprecated => true,
450
- :description => 'In versions 3.5.0 and higher, <a href="/docs/apm/new-relic-apm/apdex/changing-your-apdex-settings">set your Apdex T via the New Relic UI</a>. In addition to determining your <a href="/docs/apm/new-relic-apm/apdex/apdex-measuring-user-satisfaction">Apdex score</a>, Apdex T is the threshold at which New Relic will begin alerting. By default the agent will send alerts when the Apdex score drops below 0.5, or when more than half of users are experiencing degraded application performance.'
450
+ :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>.'
451
451
  },
452
452
  :'strip_exception_messages.enabled' => {
453
453
  :default => value_of(:high_security),
454
454
  :public => true,
455
455
  :type => Boolean,
456
456
  :allowed_from_server => false,
457
- :description => 'Defines whether the agent should strip messages from all exceptions that are not specified in the whitelist. Enabled automatically in <a href="/docs/accounts-partnerships/accounts/security/high-security">high security mode</a>.'
457
+ :description => 'If true, the agent strips messages from all exceptions except those in the <a href="#strip_exception_messages-whitelist">whitelist</a>. Enabled automatically in <a href="https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security">high security mode</a>.'
458
458
  },
459
459
  :'strip_exception_messages.whitelist' => {
460
460
  :default => '',
@@ -462,7 +462,7 @@ module NewRelic
462
462
  :type => String,
463
463
  :allowed_from_server => false,
464
464
  :transform => DefaultSource.method(:convert_to_constant_list),
465
- :description => 'Defines a comma-delimited list of exceptions from which the agent will not strip messages when <a href="#strip_exception_messages.enabled">strip_exception_messages</a> is enabled (such as \'ImportantException, PreserveMessageException\').'
465
+ :description => 'Specify a whitelist 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>.'
466
466
  },
467
467
  :host => {
468
468
  :default => 'collector.newrelic.com',
@@ -497,14 +497,14 @@ module NewRelic
497
497
  :public => true,
498
498
  :type => Boolean,
499
499
  :allowed_from_server => false,
500
- :description => 'Enable or disable synchronous connection to the New Relic data collection service during application startup.'
500
+ :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.'
501
501
  },
502
502
  :send_data_on_exit => {
503
503
  :default => true,
504
504
  :public => true,
505
505
  :type => Boolean,
506
506
  :allowed_from_server => false,
507
- :description => 'Enable or disable the exit handler that sends data to the New Relic <a href="/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>) before shutting down.'
507
+ :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.'
508
508
  },
509
509
  :post_size_limit => {
510
510
  :default => 2 * 1024 * 1024, # 2MB
@@ -518,7 +518,7 @@ module NewRelic
518
518
  :public => true,
519
519
  :type => Fixnum,
520
520
  :allowed_from_server => false,
521
- :description => 'Maximum number of seconds to attempt to contact the New Relic <a href="/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>).'
521
+ :description => 'Defines the maximum number of seconds the agent should spend attempting to connect to the collector.'
522
522
  },
523
523
  :send_environment_info => {
524
524
  :default => true,
@@ -583,7 +583,7 @@ module NewRelic
583
583
  :public => true,
584
584
  :type => Boolean,
585
585
  :allowed_from_server => false,
586
- :description => 'Enable or disable the audit log, a log of communications with the New Relic <a href="/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>).'
586
+ :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>.'
587
587
  },
588
588
  :'audit_log.path' => {
589
589
  :default => DefaultSource.audit_log_path,
@@ -605,56 +605,56 @@ module NewRelic
605
605
  :public => true,
606
606
  :type => Boolean,
607
607
  :allowed_from_server => false,
608
- :description => 'Enable or disable the collection of sampler metrics. Sampler metrics are metrics that are not event-based (such as CPU time or memory usage).'
608
+ :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).'
609
609
  },
610
610
  :disable_resque => {
611
611
  :default => false,
612
612
  :public => true,
613
613
  :type => Boolean,
614
614
  :allowed_from_server => false,
615
- :description => 'Enable or disable <a href="/docs/agents/ruby-agent/background-jobs/resque-instrumentation">Resque instrumentation</a>.'
615
+ :description => 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/resque-instrumentation">Resque instrumentation</a>.'
616
616
  },
617
617
  :disable_sidekiq => {
618
618
  :default => false,
619
619
  :public => true,
620
620
  :type => Boolean,
621
621
  :allowed_from_server => false,
622
- :description => 'Enable or disable <a href="/docs/agents/ruby-agent/background-jobs/sidekiq-instrumentation">Sidekiq instrumentation</a>.'
622
+ :description => 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/sidekiq-instrumentation">Sidekiq instrumentation</a>.'
623
623
  },
624
624
  :disable_dj => {
625
625
  :default => false,
626
626
  :public => true,
627
627
  :type => Boolean,
628
628
  :allowed_from_server => false,
629
- :description => 'Enable or disable <a href="/docs/agents/ruby-agent/background-jobs/delayedjob">Delayed::Job instrumentation</a>.'
629
+ :description => 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/delayedjob">Delayed::Job instrumentation</a>.'
630
630
  },
631
631
  :disable_sinatra => {
632
632
  :default => false,
633
633
  :public => true,
634
634
  :type => Boolean,
635
635
  :allowed_from_server => false,
636
- :description => 'Enable or disable <a href="/docs/agents/ruby-agent/frameworks/sinatra-support">Sinatra instrumentation</a>.'
636
+ :description => 'If <code>true</code> , disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/sinatra-support">Sinatra instrumentation</a>.'
637
637
  },
638
638
  :disable_sinatra_auto_middleware => {
639
639
  :default => false,
640
640
  :public => true,
641
641
  :type => Boolean,
642
642
  :allowed_from_server => false,
643
- :description => 'Enable or disable agent middleware for Sinatra. This middleware is responsible for Sinatra advanced feature support; for example, cross application tracing, page load timing (sometimes referred to as real user monitoring or RUM), and error collection.'
643
+ :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>.'
644
644
  },
645
645
  :disable_view_instrumentation => {
646
646
  :default => false,
647
647
  :public => true,
648
648
  :type => Boolean,
649
649
  :allowed_from_server => false,
650
- :description => 'Enable or disable view instrumentation.'
650
+ :description => 'If <code>true</code>, disables view instrumentation.'
651
651
  },
652
652
  :disable_backtrace_cleanup => {
653
653
  :default => false,
654
654
  :public => true,
655
655
  :type => Boolean,
656
656
  :allowed_from_server => false,
657
- :description => 'Defines whether the agent will remove <code>newrelic_rpm</code> from backtraces.'
657
+ :description => 'If <code>true</code>, the agent won\'t remove <code>newrelic_rpm</code> from backtraces.'
658
658
  },
659
659
  :disable_harvest_thread => {
660
660
  :default => false,
@@ -675,14 +675,14 @@ module NewRelic
675
675
  :public => true,
676
676
  :type => Boolean,
677
677
  :allowed_from_server => false,
678
- :description => 'Enable or disable active record instrumentation.'
678
+ :description => 'If <code>true</code>, disables active record instrumentation.'
679
679
  },
680
680
  :disable_data_mapper => {
681
681
  :default => false,
682
682
  :public => true,
683
683
  :type => Boolean,
684
684
  :allowed_from_server => false,
685
- :description => 'Enable or disable DataMapper instrumentation.'
685
+ :description => 'If <code>true</code>, disables DataMapper instrumentation.'
686
686
  },
687
687
  :disable_activejob => {
688
688
  :default => false,
@@ -690,49 +690,49 @@ module NewRelic
690
690
  :type => Boolean,
691
691
  :dynamic_name => true,
692
692
  :allowed_from_server => false,
693
- :description => 'Enable or disable ActiveJob instrumentation.'
693
+ :description => 'If <code>true</code>, disables ActiveJob instrumentation.'
694
694
  },
695
695
  :disable_memcached => {
696
696
  :default => value_of(:disable_memcache_instrumentation),
697
697
  :public => true,
698
698
  :type => Boolean,
699
699
  :allowed_from_server => false,
700
- :description => 'Enable or disable instrumentation for the memcached gem.'
700
+ :description => 'If <code>true</code>, disables instrumentation for the memcached gem.'
701
701
  },
702
702
  :disable_memcache_client => {
703
703
  :default => value_of(:disable_memcache_instrumentation),
704
704
  :public => true,
705
705
  :type => Boolean,
706
706
  :allowed_from_server => false,
707
- :description => 'Enable or disable instrumenation for the memcache-client gem.'
707
+ :description => 'If <code>true</code>, disables instrumentation for the memcache-client gem.'
708
708
  },
709
709
  :disable_dalli => {
710
710
  :default => value_of(:disable_memcache_instrumentation),
711
711
  :public => true,
712
712
  :type => Boolean,
713
713
  :allowed_from_server => false,
714
- :description => 'Enable or disable instrumentation for the dalli gem.'
714
+ :description => 'If <code>true</code>, disables instrumentation for the dalli gem.'
715
715
  },
716
716
  :disable_dalli_cas_client => {
717
717
  :default => value_of(:disable_memcache_instrumentation),
718
718
  :public => true,
719
719
  :type => Boolean,
720
720
  :allowed_from_server => false,
721
- :description => "Enable or disable instrumentation for the dalli gem's additional CAS client support."
721
+ :description => "If <code>true</code>, disables instrumentation for the dalli gem\'s additional CAS client support."
722
722
  },
723
723
  :disable_memcache_instrumentation => {
724
724
  :default => false,
725
725
  :public => true,
726
726
  :type => Boolean,
727
727
  :allowed_from_server => false,
728
- :description => 'Enable or disable memcache instrumentation.'
728
+ :description => 'If <code>true</code>, disables memcache instrumentation.'
729
729
  },
730
730
  :disable_gc_profiler => {
731
731
  :default => false,
732
732
  :public => true,
733
733
  :type => Boolean,
734
734
  :allowed_from_server => false,
735
- :description => 'Enable or disable the use of GC::Profiler to measure time spent in garbage collection'
735
+ :description => 'If <code>true</code>, disables the use of GC::Profiler to measure time spent in garbage collection'
736
736
  },
737
737
  :'sidekiq.capture_params' => {
738
738
  :default => false,
@@ -741,7 +741,7 @@ module NewRelic
741
741
  :allowed_from_server => false,
742
742
  :dynamic_name => true,
743
743
  :deprecated => true,
744
- :description => 'Enable or disable the capture of job arguments for transaction traces and traced errors in Sidekiq.'
744
+ :description => 'If <code>true</code>, enables the capture of job arguments for transaction traces and traced errors in Sidekiq.'
745
745
  },
746
746
  :'resque.capture_params' => {
747
747
  :default => false,
@@ -750,7 +750,7 @@ module NewRelic
750
750
  :allowed_from_server => false,
751
751
  :dynamic_name => true,
752
752
  :deprecated => true,
753
- :description => 'Enable or disable the capture of job arguments for transaction traces and traced errors in Resque.'
753
+ :description => 'If <code>true</code>, enables the capture of job arguments for transaction traces and traced errors in Resque.'
754
754
  },
755
755
  :'resque.use_ruby_dns' => {
756
756
  :default => true,
@@ -771,28 +771,28 @@ module NewRelic
771
771
  :public => true,
772
772
  :type => Boolean,
773
773
  :allowed_from_server => true,
774
- :description => 'Enable or disable <a href="/docs/apm/traces/transaction-traces/transaction-traces">transaction traces</a>.'
774
+ :description => 'If <code>true</code>, enables collection of <a href="https://docs.newrelic.com/docs/apm/traces/transaction-traces/transaction-traces">transaction traces</a>.'
775
775
  },
776
776
  :'transaction_tracer.transaction_threshold' => {
777
777
  :default => DefaultSource.transaction_tracer_transaction_threshold,
778
778
  :public => true,
779
779
  :type => Float,
780
780
  :allowed_from_server => true,
781
- :description => 'The agent will collect traces for transactions that exceed this time threshold (in seconds). Specify a float value or <code><a href="/docs/apm/new-relic-apm/getting-started/glossary#apdex_f">apdex_f</a></code>.'
781
+ :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>.'
782
782
  },
783
783
  :'transaction_tracer.record_sql' => {
784
784
  :default => 'obfuscated',
785
785
  :public => true,
786
786
  :type => String,
787
787
  :allowed_from_server => true,
788
- :description => 'Obfuscation level for SQL queries reported in transaction trace nodes. Valid options are <code>obfuscated</code>, <code>raw</code>, <code>none</code>.'
788
+ :description => 'Obfuscation level for SQL queries reported in transaction trace nodes. Valid options are <code>obfuscated</code>, <code>raw</code>, or <code>none</code>.'
789
789
  },
790
790
  :'transaction_tracer.record_redis_arguments' => {
791
791
  :default => false,
792
792
  :public => true,
793
793
  :type => Boolean,
794
794
  :allowed_from_server => false,
795
- :description => 'Determines whether Redis command arguments should be recorded within Transaction Traces'
795
+ :description => 'If <code>true</code>, the agent records Redis command arguments in transaction traces.'
796
796
  },
797
797
  :'transaction_tracer.capture_attributes' => {
798
798
  :default => true,
@@ -800,7 +800,7 @@ module NewRelic
800
800
  :type => Boolean,
801
801
  :deprecated => true,
802
802
  :allowed_from_server => false,
803
- :description => 'Use transaction_tracer.attributes.enabled instead.'
803
+ :description => 'Deprecated; use <a href="#transaction_tracer-attributes-enabled"><code>transaction_tracer.attributes.enabled</code></a> instead.'
804
804
  },
805
805
  :'transaction_tracer.explain_threshold' => {
806
806
  :default => 0.5,
@@ -814,14 +814,14 @@ module NewRelic
814
814
  :public => true,
815
815
  :type => Boolean,
816
816
  :allowed_from_server => true,
817
- :description => 'Enable or disable 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 is not set separately.'
817
+ :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.'
818
818
  },
819
819
  :'transaction_tracer.stack_trace_threshold' => {
820
820
  :default => 0.5,
821
821
  :public => true,
822
822
  :type => Float,
823
823
  :allowed_from_server => true,
824
- :description => 'Stack traces will be included in transaction trace nodes when their duration exceeds this threshold.'
824
+ :description => 'Specify a threshold in seconds. The agent includes stack traces in transaction trace nodes when the stack trace duration exceeds this threshold.'
825
825
  },
826
826
  :'transaction_tracer.limit_segments' => {
827
827
  :default => 4000,
@@ -835,7 +835,7 @@ module NewRelic
835
835
  :public => true,
836
836
  :type => Boolean,
837
837
  :allowed_from_server => false,
838
- :description => 'Enable or disable <a href="/docs/agents/ruby-agent/frameworks/sequel-instrumentation">Sequel instrumentation</a>.'
838
+ :description => 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/sequel-instrumentation">Sequel instrumentation</a>.'
839
839
  },
840
840
  :disable_database_instrumentation => {
841
841
  :default => false,
@@ -843,7 +843,7 @@ module NewRelic
843
843
  :type => Boolean,
844
844
  :allowed_from_server => false,
845
845
  :deprecated => true,
846
- :description => 'Enable or disable Sequel instrumentation. This option is deprecated; instead, use <a href="/docs/agents/ruby-agent/installation-and-configuration/ruby-agent-configuration#disable_sequel_instrumentation"><code>disable_sequel_instrumentation</code></a>'
846
+ :description => 'Deprecated; use <a href="#disable_sequel_instrumentation"><code>disable_sequel_instrumentation</code></a> instead.'
847
847
  },
848
848
  :disable_mongo => {
849
849
  :default => false,
@@ -851,14 +851,14 @@ module NewRelic
851
851
  :type => Boolean,
852
852
  :allowed_from_server => false,
853
853
  :dynamic_name => true,
854
- :description => 'Defines whether the agent will install <a href="/docs/agents/ruby-agent/frameworks/mongo-instrumentation">instrumentation for the Mongo gem</a>.'
854
+ :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>.'
855
855
  },
856
856
  :disable_redis => {
857
857
  :default => false,
858
858
  :public => true,
859
859
  :type => Boolean,
860
860
  :allowed_from_server => false,
861
- :description => 'Defines whether the agent will install <a href="/docs/agents/ruby-agent/frameworks/redis-instrumentation">instrumentation for Redis</a>.'
861
+ :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>.'
862
862
  },
863
863
  :disable_redis_instrumentation => {
864
864
  :default => false,
@@ -872,49 +872,56 @@ module NewRelic
872
872
  :public => true,
873
873
  :type => Boolean,
874
874
  :allowed_from_server => true,
875
- :description => 'Enable or disable collection of slow SQL queries.'
875
+ :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>.'
876
876
  },
877
877
  :'slow_sql.explain_threshold' => {
878
878
  :default => value_of(:'transaction_tracer.explain_threshold'),
879
879
  :public => true,
880
880
  :type => Float,
881
881
  :allowed_from_server => true,
882
- :description => 'Defines a duration threshold, over which the agent will collect explain plans in slow SQL queries.'
882
+ :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.'
883
883
  },
884
884
  :'slow_sql.explain_enabled' => {
885
885
  :default => value_of(:'transaction_tracer.explain_enabled'),
886
886
  :public => true,
887
887
  :type => Boolean,
888
888
  :allowed_from_server => true,
889
- :description => 'Enable or disable the collection of explain plans in slow SQL queries. If this setting is omitted, the transaction_tracer.explain_enabled setting will be applied as the default setting for explain plans in Slow SQL as well.'
889
+ :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.'
890
890
  },
891
891
  :'slow_sql.record_sql' => {
892
892
  :default => value_of(:'transaction_tracer.record_sql'),
893
893
  :public => true,
894
894
  :type => String,
895
895
  :allowed_from_server => true,
896
- :description => 'Defines an obfuscation level for slow SQL queries. Valid options are <code>obfuscated</code>, <code>raw</code>, <code>none</code>).'
896
+ :description => 'Defines an obfuscation level for slow SQL queries. Valid options are <code>obfuscated</code>, <code>raw</code>, or <code>none</code>).'
897
+ },
898
+ :'slow_sql.use_longer_sql_id' => {
899
+ :default => false,
900
+ :public => true,
901
+ :type => Boolean,
902
+ :allowed_from_server => true,
903
+ :description => 'Generate a longer sql_id for slow SQL traces. sql_id is used for aggregation of similar queries.'
897
904
  },
898
905
  :'mongo.capture_queries' => {
899
906
  :default => true,
900
907
  :public => true,
901
908
  :type => Boolean,
902
909
  :allowed_from_server => true,
903
- :description => 'Enable or disable capturing Mongo queries in transaction traces.'
910
+ :description => 'If <code>true</code>, the agent captures Mongo queries in transaction traces.'
904
911
  },
905
912
  :'mongo.obfuscate_queries' => {
906
913
  :default => true,
907
914
  :public => true,
908
915
  :type => Boolean,
909
916
  :allowed_from_server => true,
910
- :description => 'Enable or disable obfuscation of Mongo queries in transaction traces.'
917
+ :description => 'If <code>true</code>, the agent obfuscates Mongo queries in transaction traces.'
911
918
  },
912
919
  :'error_collector.enabled' => {
913
920
  :default => true,
914
921
  :public => true,
915
922
  :type => Boolean,
916
923
  :allowed_from_server => true,
917
- :description => 'Enable or disable recording of traced errors and error count metrics.'
924
+ :description => 'If <code>true</code>, the agent captures traced errors and error count metrics.'
918
925
  },
919
926
  :'error_collector.capture_attributes' => {
920
927
  :default => true,
@@ -922,28 +929,28 @@ module NewRelic
922
929
  :type => Boolean,
923
930
  :deprecated => true,
924
931
  :allowed_from_server => false,
925
- :description => 'Use error_collector.attributes.enabled instead.'
932
+ :description => 'Deprecated; use <a href="#error_collector-attributes-enabled"><code>error_collector.attributes.enabled</code></a> instead.'
926
933
  },
927
934
  :'error_collector.ignore_errors' => {
928
935
  :default => 'ActionController::RoutingError,Sinatra::NotFound',
929
936
  :public => true,
930
937
  :type => String,
931
938
  :allowed_from_server => true,
932
- :description => 'Specifies a comma-delimited list of error classes that the agent should ignore.'
939
+ :description => 'Specify a comma-delimited list of error classes that the agent should ignore.'
933
940
  },
934
941
  :'error_collector.capture_events' => {
935
942
  :default => value_of(:'error_collector.enabled'),
936
943
  :public => true,
937
944
  :type => Boolean,
938
945
  :allowed_from_server => true,
939
- :description => 'Enable or disable the collection of TransactionError events.'
946
+ :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>.'
940
947
  },
941
948
  :'error_collector.max_event_samples_stored' => {
942
949
  :default => 100,
943
950
  :public => true,
944
951
  :type => Fixnum,
945
952
  :allowed_from_server => true,
946
- :description => 'The number of TransactionError samples sent to Insights per harvest cycle.'
953
+ :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.'
947
954
  },
948
955
  :'rum.enabled' => {
949
956
  :default => true,
@@ -992,7 +999,7 @@ module NewRelic
992
999
  :public => true,
993
1000
  :type => Boolean,
994
1001
  :allowed_from_server => true,
995
- :description => 'Enable or disable automatic insertion of the JavaScript header into outgoing responses for page load timing (sometimes referred to as real user monitoring or RUM).'
1002
+ :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).'
996
1003
  },
997
1004
  :'browser_monitoring.capture_attributes' => {
998
1005
  :default => false,
@@ -1000,7 +1007,7 @@ module NewRelic
1000
1007
  :type => Boolean,
1001
1008
  :deprecated => true,
1002
1009
  :allowed_from_server => false,
1003
- :description => 'Use browser_monitoring.attributes.enabled instead.'
1010
+ :description => 'Deprecated; use <a href="#browser_monitoring-attributes-enabled"><code>browser_monitoring.attributes.enabled</code></a> instead.'
1004
1011
  },
1005
1012
  :'browser_monitoring.loader' => {
1006
1013
  :default => DefaultSource.browser_monitoring_loader,
@@ -1014,7 +1021,7 @@ module NewRelic
1014
1021
  :public => false,
1015
1022
  :type => String,
1016
1023
  :allowed_from_server => true,
1017
- :description => 'Version of JavaScript agent loader (returned from the New Relic <a href="/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>).)'
1024
+ :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>.)'
1018
1025
  },
1019
1026
  :'browser_monitoring.debug' => {
1020
1027
  :default => false,
@@ -1058,7 +1065,7 @@ module NewRelic
1058
1065
  :public => true,
1059
1066
  :type => Boolean,
1060
1067
  :allowed_from_server => true,
1061
- :description => 'Enable or disable <a href="/docs/apm/traces/cross-application-traces/cross-application-traces">cross application tracing</a>.'
1068
+ :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>.'
1062
1069
  },
1063
1070
  :cross_application_tracing => {
1064
1071
  :default => nil,
@@ -1088,14 +1095,14 @@ module NewRelic
1088
1095
  :public => true,
1089
1096
  :type => Boolean,
1090
1097
  :allowed_from_server => true,
1091
- :description => 'Enable or disable the thread profiler.'
1098
+ :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>.'
1092
1099
  },
1093
1100
  :'xray_session.enabled' => {
1094
1101
  :default => true,
1095
1102
  :public => true,
1096
1103
  :type => Boolean,
1097
1104
  :allowed_from_server => true,
1098
- :description => 'Enable or disable <a href="/docs/apm/transactions-menu/x-ray-sessions/x-ray-sessions">X-Ray sessions</a>.'
1105
+ :description => 'If <code>true</code>, enables <a href="https://docs.newrelic.com/docs/apm/transactions-menu/x-ray-sessions/x-ray-sessions">X-Ray sessions</a>.'
1099
1106
  },
1100
1107
  :'xray_session.allow_traces' => {
1101
1108
  :default => true,
@@ -1130,14 +1137,14 @@ module NewRelic
1130
1137
  :public => true,
1131
1138
  :type => String,
1132
1139
  :allowed_from_server => false,
1133
- :description => 'Specifies a marshaller for transmitting data to the New Relic <a href="/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>). Currently \'json\' is the only valid value for this setting. The pruby marshaller has been removed as of 3.14.0.'
1140
+ :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.'
1134
1141
  },
1135
1142
  :'analytics_events.enabled' => {
1136
1143
  :default => true,
1137
1144
  :public => true,
1138
1145
  :type => Boolean,
1139
1146
  :allowed_from_server => true,
1140
- :description => 'Enable or disable analytics event sampling.'
1147
+ :description => 'If <code>true</code>, enables analytics event sampling.'
1141
1148
  },
1142
1149
  :'analytics_events.max_samples_stored' => {
1143
1150
  :default => 1200,
@@ -1152,7 +1159,7 @@ module NewRelic
1152
1159
  :type => Boolean,
1153
1160
  :deprecated => true,
1154
1161
  :allowed_from_server => false,
1155
- :description => 'Use transaction_events.attributes.enabled instead.'
1162
+ :description => 'Deprecated; use <a href="#transaction_events-attributes-enabled"><code>transaction_events.attributes.enabled</code></a> instead.'
1156
1163
  },
1157
1164
  :restart_thread_in_children => {
1158
1165
  :default => true,
@@ -1174,7 +1181,7 @@ module NewRelic
1174
1181
  :type => Boolean,
1175
1182
  :dynamic_name => true,
1176
1183
  :allowed_from_server => false,
1177
- :description => 'Defines whether the agent will <a href="/docs/agents/ruby-agent/features/ruby-vm-measurements">sample performance measurements from the Ruby VM</a>.'
1184
+ :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>.'
1178
1185
  },
1179
1186
  :disable_memory_sampler => {
1180
1187
  :default => false,
@@ -1182,7 +1189,7 @@ module NewRelic
1182
1189
  :type => Boolean,
1183
1190
  :dynamic_name => true,
1184
1191
  :allowed_from_server => false,
1185
- :description => 'Defines whether the agent will sample the memory usage of the host process.'
1192
+ :description => 'If <code>true</code>, the agent won\'t sample the memory usage of the host process.'
1186
1193
  },
1187
1194
  :disable_cpu_sampler => {
1188
1195
  :default => false,
@@ -1190,7 +1197,7 @@ module NewRelic
1190
1197
  :type => Boolean,
1191
1198
  :dynamic_name => true,
1192
1199
  :allowed_from_server => false,
1193
- :description => 'Defines whether the agent will sample the CPU usage of the host process.'
1200
+ :description => 'If <code>true</code>, the agent won\'t sample the CPU usage of the host process.'
1194
1201
  },
1195
1202
  :disable_delayed_job_sampler => {
1196
1203
  :default => false,
@@ -1198,7 +1205,7 @@ module NewRelic
1198
1205
  :type => Boolean,
1199
1206
  :dynamic_name => true,
1200
1207
  :allowed_from_server => false,
1201
- :description => 'Defines whether the agent will measure the depth of Delayed Job queues.'
1208
+ :description => 'If <code>true</code>, the agent won\'t measure the depth of Delayed Job queues.'
1202
1209
  },
1203
1210
  :disable_active_record_4 => {
1204
1211
  :default => false,
@@ -1206,7 +1213,7 @@ module NewRelic
1206
1213
  :type => Boolean,
1207
1214
  :dynamic_name => true,
1208
1215
  :allowed_from_server => false,
1209
- :description => 'Defines whether the agent will install instrumentation for ActiveRecord 4.'
1216
+ :description => 'If <code>true</code>, disables instrumentation for ActiveRecord 4.'
1210
1217
  },
1211
1218
  :disable_curb => {
1212
1219
  :default => false,
@@ -1214,7 +1221,7 @@ module NewRelic
1214
1221
  :type => Boolean,
1215
1222
  :dynamic_name => true,
1216
1223
  :allowed_from_server => false,
1217
- :description => 'Defines whether the agent will install instrumentation for the curb gem.'
1224
+ :description => 'If <code>true</code>, disables instrumentation for the curb gem.'
1218
1225
  },
1219
1226
  :disable_excon => {
1220
1227
  :default => false,
@@ -1222,7 +1229,7 @@ module NewRelic
1222
1229
  :type => Boolean,
1223
1230
  :dynamic_name => true,
1224
1231
  :allowed_from_server => false,
1225
- :description => 'Defines whether the agent will install instrumentation for the excon gem.'
1232
+ :description => 'If <code>true</code>, disables instrumentation for the excon gem.'
1226
1233
  },
1227
1234
  :disable_httpclient => {
1228
1235
  :default => false,
@@ -1230,7 +1237,7 @@ module NewRelic
1230
1237
  :type => Boolean,
1231
1238
  :dynamic_name => true,
1232
1239
  :allowed_from_server => false,
1233
- :description => 'Defines whether the agent will install instrumentation for the httpclient gem.'
1240
+ :description => 'If <code>true</code>, disables instrumentation for the httpclient gem.'
1234
1241
  },
1235
1242
  :disable_net_http => {
1236
1243
  :default => false,
@@ -1238,7 +1245,7 @@ module NewRelic
1238
1245
  :type => Boolean,
1239
1246
  :dynamic_name => true,
1240
1247
  :allowed_from_server => false,
1241
- :description => 'Defines whether the agent will install instrumentation for Net::HTTP.'
1248
+ :description => 'If <code>true</code>, disables instrumentation for Net::HTTP.'
1242
1249
  },
1243
1250
  :disable_rack => {
1244
1251
  :default => false,
@@ -1246,7 +1253,7 @@ module NewRelic
1246
1253
  :type => Boolean,
1247
1254
  :dynamic_name => true,
1248
1255
  :allowed_from_server => false,
1249
- :description => 'If true, prevents the agent from hooking into Rack::Builder\'s <code>to_app</code> method to find gems to instrument during application startup.'
1256
+ :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.'
1250
1257
  },
1251
1258
  :disable_rack_urlmap => {
1252
1259
  :default => false,
@@ -1254,7 +1261,7 @@ module NewRelic
1254
1261
  :type => Boolean,
1255
1262
  :dynamic_name => true,
1256
1263
  :allowed_from_server => false,
1257
- :description => 'If true, prevents the agent from hooking into Rack::URLMap to install middleware tracing.'
1264
+ :description => 'If <code>true</code>, prevents the agent from hooking into Rack::URLMap to install middleware tracing.'
1258
1265
  },
1259
1266
  :disable_puma_rack => {
1260
1267
  :default => value_of(:disable_rack),
@@ -1262,7 +1269,7 @@ module NewRelic
1262
1269
  :type => Boolean,
1263
1270
  :dynamic_name => true,
1264
1271
  :allowed_from_server => false,
1265
- :description => 'If true, prevents the agent from hooking into Puma::Rack::Builder\'s <code>to_app</code> method to find gems to instrument during application startup.'
1272
+ :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.'
1266
1273
  },
1267
1274
  :disable_puma_rack_urlmap => {
1268
1275
  :default => value_of(:disable_rack_urlmap),
@@ -1270,7 +1277,7 @@ module NewRelic
1270
1277
  :type => Boolean,
1271
1278
  :dynamic_name => true,
1272
1279
  :allowed_from_server => false,
1273
- :description => 'If true, prevents the agent from hooking into Puma::Rack::URLMap to install middleware tracing.'
1280
+ :description => 'If <code>true</code>, prevents the agent from hooking into Puma::Rack::URLMap to install middleware tracing.'
1274
1281
  },
1275
1282
  :disable_rubyprof => {
1276
1283
  :default => false,
@@ -1278,7 +1285,7 @@ module NewRelic
1278
1285
  :type => Boolean,
1279
1286
  :dynamic_name => true,
1280
1287
  :allowed_from_server => false,
1281
- :description => 'Defines whether the agent will use RubyProf in developer mode (if RubyProf is installed).'
1288
+ :description => 'If <code>true</code>, the agent won\'t use RubyProf in developer mode.'
1282
1289
  },
1283
1290
  :disable_typhoeus => {
1284
1291
  :default => false,
@@ -1286,14 +1293,14 @@ module NewRelic
1286
1293
  :type => Boolean,
1287
1294
  :dynamic_name => true,
1288
1295
  :allowed_from_server => false,
1289
- :description => 'Defines whether the agent will install instrumentation for the typhoeus gem.'
1296
+ :description => 'If <code>true</code>, the agent won\'t install instrumentation for the typhoeus gem.'
1290
1297
  },
1291
1298
  :disable_middleware_instrumentation => {
1292
1299
  :default => false,
1293
1300
  :public => true,
1294
1301
  :type => Boolean,
1295
1302
  :allowed_from_server => false,
1296
- :description => 'Defines whether the agent will wrap third-party middlewares in instrumentation (regardless of whether they are installed via Rack::Builder or Rails).'
1303
+ :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).'
1297
1304
  },
1298
1305
  :disable_rails_middleware => {
1299
1306
  :default => false,
@@ -1307,7 +1314,7 @@ module NewRelic
1307
1314
  :public => true,
1308
1315
  :type => Boolean,
1309
1316
  :allowed_from_server => false,
1310
- :description => 'Controls whether or not we use the heroku dyno name as the hostname.'
1317
+ :description => 'If <code>true</code>, the agent uses Heroku dyno names as the hostname.'
1311
1318
  },
1312
1319
  :'heroku.dyno_name_prefixes_to_shorten' => {
1313
1320
  :default => ['scheduler', 'run'],
@@ -1315,21 +1322,21 @@ module NewRelic
1315
1322
  :type => Array,
1316
1323
  :allowed_from_server => false,
1317
1324
  :transform => DefaultSource.method(:convert_to_list),
1318
- :description => 'List of prefixes for heroku dyno names (such as "scheduler") to report as hostname without trailing dot and process ID.'
1325
+ :description => 'Ordinarily the agent reports dyno names with a trailing dot and process ID (for example, <b>worker.3</b>). You can remove this trailing data by specifying the prefixes you want to report without trailing data (for example, <b>worker</b>).'
1319
1326
  },
1320
1327
  :'process_host.display_name' => {
1321
1328
  :default => Proc.new{ NewRelic::Agent::Hostname.get },
1322
1329
  :public => true,
1323
1330
  :type => String,
1324
1331
  :allowed_from_server => false,
1325
- :description => 'Custom host name used for display purposes only.'
1332
+ :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>.'
1326
1333
  },
1327
1334
  :labels => {
1328
1335
  :default => '',
1329
1336
  :public => true,
1330
1337
  :type => String,
1331
1338
  :allowed_from_server => false,
1332
- :description => 'A dictionary of label names and values that will be applied to the data sent from this agent. May also be expressed as a semi-colon delimited string of colon-separated pairs (e.g. "Server:One;Data Center:Primary".'
1339
+ :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>.'
1333
1340
  },
1334
1341
  :aggressive_keepalive => {
1335
1342
  :default => true,
@@ -1351,7 +1358,7 @@ module NewRelic
1351
1358
  :public => true,
1352
1359
  :type => String,
1353
1360
  :allowed_from_server => false,
1354
- :description => "Manual override for the path to your local CA bundle. This CA bundle will be used to validate the SSL certificate presented by New Relic's data collection service."
1361
+ :description => "Manual override for the path to your local CA bundle. This CA bundle will be used to validate the SSL certificate presented by New Relic\'s data collection service."
1355
1362
  },
1356
1363
  :'rules.ignore_url_regexes' => {
1357
1364
  :default => [],
@@ -1359,7 +1366,7 @@ module NewRelic
1359
1366
  :type => Array,
1360
1367
  :allowed_from_server => true,
1361
1368
  :transform => DefaultSource.method(:convert_to_regexp_list),
1362
- :description => 'A list of patterns that will cause a transaction to be ignored if any of them match the URI.'
1369
+ :description => 'Define transactions you want the agent to ignore, by specifying a list of patterns matching the URI you want to ignore.'
1363
1370
  },
1364
1371
  :'synthetics.traces_limit' => {
1365
1372
  :default => 20,
@@ -1380,14 +1387,14 @@ module NewRelic
1380
1387
  :public => true,
1381
1388
  :type => Boolean,
1382
1389
  :allowed_from_server => true,
1383
- :description => 'Enable or disable custom Insights event recording.'
1390
+ :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>.'
1384
1391
  },
1385
1392
  :'custom_insights_events.max_samples_stored' => {
1386
1393
  :default => 1000,
1387
1394
  :public => true,
1388
1395
  :type => Fixnum,
1389
1396
  :allowed_from_server => true,
1390
- :description => 'Maximum number of custom Insights events buffered in memory at a time.',
1397
+ :description => 'Specify a maximum number of custom Insights events to buffer in memory at a time.',
1391
1398
  :dynamic_name => true
1392
1399
  },
1393
1400
  :disable_grape_instrumentation => {
@@ -1395,21 +1402,21 @@ module NewRelic
1395
1402
  :public => false,
1396
1403
  :type => Boolean,
1397
1404
  :allowed_from_server => false,
1398
- :description => 'Disables installation of Grape instrumentation.'
1405
+ :description => 'If <code>true</code>, the agent won\'t install Grape instrumentation.'
1399
1406
  },
1400
1407
  :disable_grape => {
1401
1408
  :default => false,
1402
1409
  :public => true,
1403
1410
  :type => Boolean,
1404
1411
  :allowed_from_server => false,
1405
- :description => 'Disables installation of Grape instrumentation.'
1412
+ :description => 'If <code>true</code>, the agent won\'t install Grape instrumentation.'
1406
1413
  },
1407
1414
  :'attributes.enabled' => {
1408
1415
  :default => true,
1409
1416
  :public => false,
1410
1417
  :type => Boolean,
1411
1418
  :allowed_from_server => false,
1412
- :description => 'Enable or disable capture of attributes for all destinations.'
1419
+ :description => 'If <code>true</code>, enables capture of attributes for all destinations.'
1413
1420
  },
1414
1421
  :'transaction_tracer.attributes.enabled' => {
1415
1422
  :default => value_of(:'transaction_tracer.capture_attributes'),
@@ -1524,14 +1531,14 @@ module NewRelic
1524
1531
  :public => true,
1525
1532
  :type => Boolean,
1526
1533
  :allowed_from_server => false,
1527
- :description => 'Enable or disable automatic AWS detection.'
1534
+ :description => 'If <code>true</code>, the agent automatically detects that it is running in an AWS environment.'
1528
1535
  },
1529
1536
  :'utilization.detect_docker' => {
1530
1537
  :default => true,
1531
1538
  :public => true,
1532
1539
  :type => Boolean,
1533
1540
  :allowed_from_server => false,
1534
- :description => 'Enable or disable automatic Docker detection.'
1541
+ :description => 'If <code>true</code>, the agent automatically detects that it is running in Docker.'
1535
1542
  },
1536
1543
  :'disable_utilization' => {
1537
1544
  :default => false,