newrelic_rpm 8.15.0 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -28
  3. data/.rubocop_todo.yml +41 -3
  4. data/CHANGELOG.md +191 -38
  5. data/CONTRIBUTING.md +1 -1
  6. data/README.md +3 -1
  7. data/bin/nrdebug +16 -16
  8. data/lib/new_relic/agent/agent_helpers/connect.rb +1 -1
  9. data/lib/new_relic/agent/agent_helpers/special_startup.rb +1 -2
  10. data/lib/new_relic/agent/attribute_filter.rb +0 -2
  11. data/lib/new_relic/agent/commands/thread_profiler_session.rb +3 -3
  12. data/lib/new_relic/agent/configuration/default_source.rb +139 -476
  13. data/lib/new_relic/agent/configuration/high_security_source.rb +0 -2
  14. data/lib/new_relic/agent/configuration/security_policy_source.rb +0 -16
  15. data/lib/new_relic/agent/database.rb +0 -14
  16. data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +1 -2
  17. data/lib/new_relic/agent/error_collector.rb +1 -1
  18. data/lib/new_relic/agent/error_filter.rb +3 -3
  19. data/lib/new_relic/agent/instrumentation/action_cable_subscriber.rb +6 -19
  20. data/lib/new_relic/agent/instrumentation/action_controller_other_subscriber.rb +39 -0
  21. data/lib/new_relic/agent/instrumentation/action_dispatch.rb +31 -0
  22. data/lib/new_relic/agent/instrumentation/action_dispatch_subscriber.rb +64 -0
  23. data/lib/new_relic/agent/instrumentation/action_mailbox.rb +30 -0
  24. data/lib/new_relic/agent/instrumentation/action_mailbox_subscriber.rb +33 -0
  25. data/lib/new_relic/agent/instrumentation/action_mailer.rb +30 -0
  26. data/lib/new_relic/agent/instrumentation/action_mailer_subscriber.rb +85 -0
  27. data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +7 -7
  28. data/lib/new_relic/agent/instrumentation/active_job.rb +15 -2
  29. data/lib/new_relic/agent/instrumentation/active_job_subscriber.rb +41 -0
  30. data/lib/new_relic/agent/instrumentation/active_storage.rb +4 -0
  31. data/lib/new_relic/agent/instrumentation/active_storage_subscriber.rb +2 -30
  32. data/lib/new_relic/agent/instrumentation/active_support.rb +21 -6
  33. data/lib/new_relic/agent/instrumentation/active_support_subscriber.rb +41 -0
  34. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +1 -1
  35. data/lib/new_relic/agent/instrumentation/custom_events.rb +12 -0
  36. data/lib/new_relic/agent/instrumentation/fiber/chain.rb +20 -0
  37. data/lib/new_relic/agent/instrumentation/fiber/instrumentation.rb +24 -0
  38. data/lib/new_relic/agent/instrumentation/fiber/prepend.rb +18 -0
  39. data/lib/new_relic/agent/instrumentation/fiber.rb +25 -0
  40. data/lib/new_relic/agent/instrumentation/grape.rb +1 -1
  41. data/lib/new_relic/agent/instrumentation/memcache.rb +2 -2
  42. data/lib/new_relic/agent/instrumentation/net_http.rb +1 -1
  43. data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +41 -0
  44. data/lib/new_relic/agent/instrumentation/rails_notifications/action_cable.rb +4 -4
  45. data/lib/new_relic/agent/instrumentation/rails_notifications/action_controller.rb +13 -1
  46. data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +1 -8
  47. data/lib/new_relic/agent/instrumentation/rake.rb +1 -1
  48. data/lib/new_relic/agent/instrumentation/redis.rb +1 -1
  49. data/lib/new_relic/agent/instrumentation/resque.rb +1 -1
  50. data/lib/new_relic/agent/instrumentation/sequel.rb +4 -5
  51. data/lib/new_relic/agent/instrumentation/thread/instrumentation.rb +3 -7
  52. data/lib/new_relic/agent/monitors/cross_app_monitor.rb +0 -1
  53. data/lib/new_relic/agent/new_relic_service/security_policy_settings.rb +0 -1
  54. data/lib/new_relic/agent/new_relic_service.rb +1 -1
  55. data/lib/new_relic/agent/rules_engine/segment_terms_rule.rb +0 -1
  56. data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +1 -1
  57. data/lib/new_relic/agent/tracer.rb +10 -1
  58. data/lib/new_relic/agent/transaction/abstract_segment.rb +2 -2
  59. data/lib/new_relic/agent/transaction/tracing.rb +2 -2
  60. data/lib/new_relic/agent/transaction.rb +17 -16
  61. data/lib/new_relic/agent.rb +1 -19
  62. data/lib/new_relic/cli/commands/install.rb +9 -9
  63. data/lib/new_relic/control/instance_methods.rb +1 -1
  64. data/lib/new_relic/local_environment.rb +0 -10
  65. data/lib/new_relic/supportability_helper.rb +0 -1
  66. data/lib/new_relic/version.rb +2 -2
  67. data/lib/newrelic_rpm.rb +1 -1
  68. data/lib/sequel/extensions/{newrelic_instrumentation.rb → new_relic_instrumentation.rb} +3 -3
  69. data/lib/sequel/plugins/{newrelic_instrumentation.rb → new_relic_instrumentation.rb} +3 -3
  70. data/lib/tasks/helpers/format.rb +1 -1
  71. data/lib/tasks/instrumentation_generator/instrumentation.thor +7 -10
  72. data/lib/tasks/instrumentation_generator/templates/Envfile.tt +1 -1
  73. data/newrelic.yml +15 -9
  74. data/newrelic_rpm.gemspec +17 -13
  75. data/test/agent_helper.rb +1 -1
  76. metadata +37 -14
  77. data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +0 -83
  78. data/lib/new_relic/agent/instrumentation/authlogic.rb +0 -33
  79. data/lib/new_relic/agent/instrumentation/data_mapper.rb +0 -215
  80. data/lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb +0 -36
  81. data/lib/new_relic/agent/instrumentation/sunspot.rb +0 -41
@@ -176,13 +176,6 @@ module NewRelic
176
176
  proc { NewRelic::Agent::Threading::BacktraceService.is_supported? }
177
177
  end
178
178
 
179
- # This check supports the js_errors_beta key we've asked clients to
180
- # set. Once JS errors are GA, browser_monitoring.loader can stop
181
- # being dynamic.
182
- def self.browser_monitoring_loader
183
- proc { NewRelic::Agent.config[:js_errors_beta] ? "full" : "rum" }
184
- end
185
-
186
179
  def self.transaction_tracer_transaction_threshold
187
180
  proc { NewRelic::Agent.config[:apdex_t] * 4 }
188
181
  end
@@ -348,7 +341,7 @@ module NewRelic
348
341
  :public => true,
349
342
  :type => String,
350
343
  :allowed_from_server => false,
351
- :description => 'Your New Relic [license key](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key).'
344
+ :description => 'Your New Relic <LicenseKey />.'
352
345
  },
353
346
  :log_level => {
354
347
  :default => 'info',
@@ -363,20 +356,19 @@ module NewRelic
363
356
  :public => true,
364
357
  :type => Array,
365
358
  :allowed_from_server => false,
366
- :description => <<-DESCRIPTION
367
- An array of ActiveSupport custom events names to subscribe to and provide
368
- instrumentation for. For example,
369
- - my.custom.event
370
- - another.event
371
- - a.third.event
359
+ :description => <<~DESCRIPTION
360
+ An array of ActiveSupport custom event names to subscribe to and instrument. For example,
361
+ - one.custom.event
362
+ - another.event
363
+ - a.third.event
372
364
  DESCRIPTION
373
365
  },
366
+ # this is only set via server side config
374
367
  :apdex_t => {
375
368
  :default => 0.5,
376
- :public => true,
369
+ :public => false,
377
370
  :type => Float,
378
371
  :allowed_from_server => true,
379
- :deprecated => true,
380
372
  :description => '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).'
381
373
  },
382
374
  :api_key => {
@@ -413,12 +405,12 @@ instrumentation for. For example,
413
405
  :public => true,
414
406
  :type => Boolean,
415
407
  :allowed_from_server => false,
416
- :description => <<-DESCRIPTION
417
- When `true`, the agent captures HTTP request parameters and attaches them to transaction traces, traced errors, and [`TransactionError` events](/attribute-dictionary?attribute_name=&events_tids%5B%5D=8241).
408
+ :description => <<~DESCRIPTION
409
+ When `true`, the agent captures HTTP request parameters and attaches them to transaction traces, traced errors, and [`TransactionError` events](/attribute-dictionary?attribute_name=&events_tids%5B%5D=8241).
418
410
 
419
- <Callout variant="caution">
420
- When using the `capture_params` setting, the Ruby agent will not attempt to filter secret information. <b>Recommendation:</b> To filter secret information from request parameters, use the [`attributes.include` setting](/docs/agents/ruby-agent/attributes/enable-disable-attributes-ruby) instead. For more information, see the <a href="/docs/agents/ruby-agent/attributes/ruby-attribute-examples#ex_req_params">Ruby attribute examples</a>.
421
- </Callout>
411
+ <Callout variant="caution">
412
+ When using the `capture_params` setting, the Ruby agent will not attempt to filter secret information. <b>Recommendation:</b> To filter secret information from request parameters, use the [`attributes.include` setting](/docs/agents/ruby-agent/attributes/enable-disable-attributes-ruby) instead. For more information, see the <a href="/docs/agents/ruby-agent/attributes/ruby-attribute-examples#ex_req_params">Ruby attribute examples</a>.
413
+ </Callout>
422
414
  DESCRIPTION
423
415
  },
424
416
  :'clear_transaction_state_after_fork' => {
@@ -466,7 +458,7 @@ When `true`, the agent captures HTTP request parameters and attaches them to tra
466
458
  :public => true,
467
459
  :type => String,
468
460
  :allowed_from_server => false,
469
- :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>`.'
461
+ :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, `Server:One;Data Center:Primary`.'
470
462
  },
471
463
  :log_file_name => {
472
464
  :default => 'newrelic_agent.log',
@@ -567,14 +559,6 @@ When `true`, the agent captures HTTP request parameters and attaches them to tra
567
559
  :description => 'Defines the maximum number of seconds the agent should spend attempting to connect to the collector.'
568
560
  },
569
561
  # Transaction tracer
570
- :'transaction_tracer.capture_attributes' => {
571
- :default => true,
572
- :public => true,
573
- :type => Boolean,
574
- :deprecated => true,
575
- :allowed_from_server => false,
576
- :description => 'Use [`transaction_tracer.attributes.enabled`](#transaction_tracer-attributes-enabled) instead.'
577
- },
578
562
  :'transaction_tracer.enabled' => {
579
563
  :default => true,
580
564
  :public => true,
@@ -640,26 +624,18 @@ When `true`, the agent captures HTTP request parameters and attaches them to tra
640
624
  :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`.'
641
625
  },
642
626
  # Error collector
643
- :'error_collector.capture_attributes' => {
644
- :default => true,
645
- :public => true,
646
- :type => Boolean,
647
- :deprecated => true,
648
- :allowed_from_server => false,
649
- :description => 'Use [`error_collector.attributes.enabled`](#error_collector-attributes-enabled) instead.'
650
- },
651
627
  :'error_collector.ignore_classes' => {
652
- :default => [],
628
+ :default => ['ActionController::RoutingError', 'Sinatra::NotFound'],
653
629
  :public => true,
654
630
  :type => Array,
655
631
  :allowed_from_server => true,
656
632
  :dynamic_name => true,
657
- :description => <<-DESCRIPTION
658
- A list of error classes that the agent should ignore.
633
+ :description => <<~DESCRIPTION
634
+ A list of error classes that the agent should ignore.
659
635
 
660
- <Callout variant="caution">
661
- This option can't be set via environment variable.
662
- </Callout>
636
+ <Callout variant="caution">
637
+ This option can't be set via environment variable.
638
+ </Callout>
663
639
  DESCRIPTION
664
640
  },
665
641
  :'error_collector.capture_events' => {
@@ -684,12 +660,12 @@ A list of error classes that the agent should ignore.
684
660
  :type => Array,
685
661
  :allowed_from_server => true,
686
662
  :dynamic_name => true,
687
- :description => <<-DESCRIPTION
688
- A list of error classes that the agent should treat as expected.
663
+ :description => <<~DESCRIPTION
664
+ A list of error classes that the agent should treat as expected.
689
665
 
690
- <Callout variant="caution">
691
- This option can't be set via environment variable.
692
- </Callout>
666
+ <Callout variant="caution">
667
+ This option can't be set via environment variable.
668
+ </Callout>
693
669
  DESCRIPTION
694
670
  },
695
671
  :'error_collector.expected_messages' => {
@@ -698,12 +674,12 @@ A list of error classes that the agent should treat as expected.
698
674
  :type => Hash,
699
675
  :allowed_from_server => true,
700
676
  :dynamic_name => true,
701
- :description => <<-DESCRIPTION
702
- 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.
677
+ :description => <<~DESCRIPTION
678
+ 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.
703
679
 
704
- <Callout variant="caution">
705
- This option can't be set via environment variable.
706
- </Callout>
680
+ <Callout variant="caution">
681
+ This option can't be set via environment variable.
682
+ </Callout>
707
683
  DESCRIPTION
708
684
  },
709
685
  :'error_collector.expected_status_codes' => {
@@ -714,33 +690,19 @@ A map of error classes to a list of messages. When an error of one of the classe
714
690
  :dynamic_name => true,
715
691
  :description => 'A comma separated list of status codes, possibly including ranges. Errors associated with these status codes, where applicable, will be treated as expected.'
716
692
  },
717
- :'error_collector.ignore_errors' => {
718
- :default => 'ActionController::RoutingError,Sinatra::NotFound',
719
- :public => true,
720
- :type => String,
721
- :deprecated => true,
722
- :allowed_from_server => true,
723
- :dynamic_name => true,
724
- :description => <<-DESCRIPTION
725
- Use `error_collector.ignore_classes` instead. Specify a comma-delimited list of error classes that the agent should ignore.
726
693
 
727
- <Callout variant="caution">
728
- Server side configuration takes precedence for this setting over all environment configurations. This differs from all other configuration settings where environment variable take precedence over server side configuration.
729
- </Callout>
730
- DESCRIPTION
731
- },
732
694
  :'error_collector.ignore_messages' => {
733
695
  :default => {},
734
696
  :public => true,
735
697
  :type => Hash,
736
698
  :allowed_from_server => true,
737
699
  :dynamic_name => true,
738
- :description => <<-DESCRIPTION
739
- 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.
700
+ :description => <<~DESCRIPTION
701
+ 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.
740
702
 
741
- <Callout variant="caution">
742
- This option can't be set via environment variable.
743
- </Callout>
703
+ <Callout variant="caution">
704
+ This option can't be set via environment variable.
705
+ </Callout>
744
706
  DESCRIPTION
745
707
  },
746
708
  :'error_collector.ignore_status_codes' => {
@@ -774,51 +736,16 @@ A map of error classes to a list of messages. When an error of one of the classe
774
736
  :allowed_from_server => true,
775
737
  :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).'
776
738
  },
777
- :'browser_monitoring.capture_attributes' => {
778
- :default => false,
779
- :public => true,
780
- :type => Boolean,
781
- :deprecated => true,
782
- :allowed_from_server => false,
783
- :description => 'Use [`browser_monitoring.attributes.enabled`](#browser_monitoring-attributes-enabled) instead.'
784
- },
785
- # Analytics events
786
- :'analytics_events.capture_attributes' => {
787
- :default => true,
788
- :public => true,
789
- :type => Boolean,
790
- :deprecated => true,
791
- :allowed_from_server => false,
792
- :description => 'Use [`transaction_events.attributes.enabled`](#transaction_events-attributes-enabled) instead.'
793
- },
794
- :'analytics_events.enabled' => {
795
- :default => true,
796
- :public => true,
797
- :type => Boolean,
798
- :deprecated => true,
799
- :allowed_from_server => true,
800
- :description => deprecated_description(:'transaction_events.enabled', 'If `true`, enables analytics event sampling.')
801
- },
802
- :'analytics_events.max_samples_stored' => {
803
- :default => 1200,
804
- :public => true,
805
- :type => Integer,
806
- :deprecated => true,
807
- :allowed_from_server => true,
808
- :description => deprecated_description(:'transaction_events.max_samples_stored', 'Defines the maximum number of request events reported from a single harvest.')
809
- },
810
739
  # Transaction events
811
740
  :'transaction_events.enabled' => {
812
- :default => value_of(:'analytics_events.enabled'),
813
- :documentation_default => true,
741
+ :default => true,
814
742
  :public => true,
815
743
  :type => Boolean,
816
744
  :allowed_from_server => true,
817
745
  :description => 'If `true`, enables transaction event sampling.'
818
746
  },
819
747
  :'transaction_events.max_samples_stored' => {
820
- :default => value_of(:'analytics_events.max_samples_stored'),
821
- :documentation_default => 1200,
748
+ :default => 1200,
822
749
  :public => true,
823
750
  :type => Integer,
824
751
  :allowed_from_server => true,
@@ -886,8 +813,7 @@ A map of error classes to a list of messages. When an error of one of the classe
886
813
  :description => 'Prefix of attributes to include in all destinations. Allows `*` as wildcard at end.'
887
814
  },
888
815
  :'browser_monitoring.attributes.enabled' => {
889
- :default => value_of(:'browser_monitoring.capture_attributes'),
890
- :documentation_default => false,
816
+ :default => false,
891
817
  :public => true,
892
818
  :type => Boolean,
893
819
  :allowed_from_server => false,
@@ -910,8 +836,7 @@ A map of error classes to a list of messages. When an error of one of the classe
910
836
  :description => 'Prefix of attributes to include in browser monitoring. Allows `*` as wildcard at end.'
911
837
  },
912
838
  :'error_collector.attributes.enabled' => {
913
- :default => value_of(:'error_collector.capture_attributes'),
914
- :documentation_default => true,
839
+ :default => true,
915
840
  :public => true,
916
841
  :type => Boolean,
917
842
  :allowed_from_server => false,
@@ -957,8 +882,7 @@ A map of error classes to a list of messages. When an error of one of the classe
957
882
  :description => 'Prefix of attributes to include on span events. Allows `*` as wildcard at end.'
958
883
  },
959
884
  :'transaction_events.attributes.enabled' => {
960
- :default => value_of(:'analytics_events.capture_attributes'),
961
- :documentation_default => true,
885
+ :default => true,
962
886
  :public => true,
963
887
  :type => Boolean,
964
888
  :allowed_from_server => false,
@@ -1004,8 +928,7 @@ A map of error classes to a list of messages. When an error of one of the classe
1004
928
  :description => 'Prefix of attributes to include on transaction segments. Allows `*` as wildcard at end.'
1005
929
  },
1006
930
  :'transaction_tracer.attributes.enabled' => {
1007
- :default => value_of(:'transaction_tracer.capture_attributes'),
1008
- :documentation_default => true,
931
+ :default => true,
1009
932
  :public => true,
1010
933
  :type => Boolean,
1011
934
  :allowed_from_server => false,
@@ -1138,151 +1061,97 @@ A map of error classes to a list of messages. When an error of one of the classe
1138
1061
  :default => false,
1139
1062
  :public => true,
1140
1063
  :type => Boolean,
1141
- :dynamic_name => true,
1142
1064
  :allowed_from_server => false,
1143
1065
  :description => 'If `true`, disables Action Cable instrumentation.'
1144
1066
  },
1145
- :disable_activejob => {
1146
- :default => false,
1147
- :public => true,
1148
- :type => Boolean,
1149
- :dynamic_name => true,
1150
- :allowed_from_server => false,
1151
- :description => 'If `true`, disables ActiveJob instrumentation.'
1152
- },
1153
- :disable_active_storage => {
1154
- :default => false,
1155
- :public => true,
1156
- :type => Boolean,
1157
- :dynamic_name => true,
1158
- :allowed_from_server => false,
1159
- :description => 'If `true`, disables ActiveStorage instrumentation.'
1160
- },
1161
- :disable_activerecord_instrumentation => {
1162
- :default => value_of(:skip_ar_instrumentation),
1163
- :documentation_default => false,
1164
- :public => true,
1067
+ # TODO: by subscribing to process_middleware.action_dispatch events,
1068
+ # we duplicate the efforts already performed by non-notifications
1069
+ # based instrumentation. In future, we ought to determine the
1070
+ # extent of the overlap and duplication and end up with only this
1071
+ # notifications based approach existing and the monkey patching
1072
+ # approach removed entirely. NOTE that we will likely not want to
1073
+ # do so until we are okay with dropping support for Rails < v6,
1074
+ # given that these events are available only for v6+.
1075
+ :disable_action_dispatch => {
1076
+ :default => true,
1077
+ :public => false,
1165
1078
  :type => Boolean,
1166
1079
  :allowed_from_server => false,
1167
- :description => 'If `true`, disables active record instrumentation.'
1080
+ :description => 'If `true`, disables Action Dispatch instrumentation.'
1168
1081
  },
1169
- :disable_active_record_notifications => {
1082
+ :disable_action_controller => {
1170
1083
  :default => false,
1171
1084
  :public => true,
1172
1085
  :type => Boolean,
1173
- :dynamic_name => true,
1174
1086
  :allowed_from_server => false,
1175
- :description => 'If `true`, disables instrumentation for ActiveRecord 4, 5, and 6.'
1087
+ :description => 'If `true`, disables Action Controller instrumentation.'
1176
1088
  },
1177
- :disable_bunny => {
1089
+ :disable_action_mailbox => {
1178
1090
  :default => false,
1179
1091
  :public => true,
1180
1092
  :type => Boolean,
1181
- :deprecated => true,
1182
- :dynamic_name => true,
1183
1093
  :allowed_from_server => false,
1184
- :description => deprecated_description(:'instrumentation.bunny', 'If `true`, disables instrumentation for the bunny gem.')
1094
+ :description => 'If `true`, disables Action Mailbox instrumentation.'
1185
1095
  },
1186
- :disable_cpu_sampler => {
1096
+ :disable_action_mailer => {
1187
1097
  :default => false,
1188
1098
  :public => true,
1189
1099
  :type => Boolean,
1190
- :dynamic_name => true,
1191
1100
  :allowed_from_server => false,
1192
- :description => 'If `true`, the agent won\'t sample the CPU usage of the host process.'
1101
+ :description => 'If `true`, disables Action Mailer instrumentation.'
1193
1102
  },
1194
- :disable_curb => {
1103
+ :disable_activejob => {
1195
1104
  :default => false,
1196
1105
  :public => true,
1197
1106
  :type => Boolean,
1198
- :deprecated => true,
1199
- :dynamic_name => true,
1200
1107
  :allowed_from_server => false,
1201
- :description => deprecated_description(:'instrumentation.curb', 'If `true`, disables instrumentation for the curb gem.')
1108
+ :description => 'If `true`, disables Active Job instrumentation.'
1202
1109
  },
1203
- :disable_database_instrumentation => {
1110
+ :disable_active_storage => {
1204
1111
  :default => false,
1205
1112
  :public => true,
1206
1113
  :type => Boolean,
1207
1114
  :allowed_from_server => false,
1208
- :deprecated => true,
1209
- :description => 'Use [`disable_sequel_instrumentation`](#disable_sequel_instrumentation) instead.'
1115
+ :description => 'If `true`, disables Active Storage instrumentation.'
1210
1116
  },
1211
- :disable_data_mapper => {
1117
+ :disable_active_support => {
1212
1118
  :default => false,
1213
1119
  :public => true,
1214
1120
  :type => Boolean,
1215
1121
  :allowed_from_server => false,
1216
- :description => 'If `true`, disables DataMapper instrumentation.'
1217
- },
1218
- :disable_dalli => {
1219
- :default => value_of(:disable_memcache_instrumentation),
1220
- :documentation_default => false,
1221
- :public => true,
1222
- :type => Boolean,
1223
- :deprecated => true,
1224
- :allowed_from_server => false,
1225
- :description => deprecated_description(:'instrumentation.memcache', 'If `true`, disables instrumentation for the dalli gem.')
1122
+ :description => 'If `true`, disables Active Support instrumentation.'
1226
1123
  },
1227
- :disable_dalli_cas_client => {
1228
- :default => value_of(:disable_memcache_instrumentation),
1124
+ :disable_activerecord_instrumentation => {
1125
+ :default => value_of(:skip_ar_instrumentation),
1229
1126
  :documentation_default => false,
1230
1127
  :public => true,
1231
1128
  :type => Boolean,
1232
- :deprecated => true,
1233
1129
  :allowed_from_server => false,
1234
- :description => deprecated_description(:'instrumentation.memcache', "If `true`, disables instrumentation for the dalli gem's additional CAS client support.")
1130
+ :description => 'If `true`, disables Active Record instrumentation.'
1235
1131
  },
1236
- :disable_delayed_job_sampler => {
1132
+ :disable_active_record_notifications => {
1237
1133
  :default => false,
1238
1134
  :public => true,
1239
1135
  :type => Boolean,
1240
1136
  :dynamic_name => true,
1241
1137
  :allowed_from_server => false,
1242
- :description => 'If `true`, the agent won\'t measure the depth of Delayed Job queues.'
1138
+ :description => 'If `true`, disables instrumentation for Active Record 4+'
1243
1139
  },
1244
- :disable_dj => {
1245
- :default => false,
1246
- :public => true,
1247
- :deprecated => true,
1248
- :type => Boolean,
1249
- :allowed_from_server => false,
1250
- :description => deprecated_description(:'instrumentation.delayed_job', 'If `true`, disables [Delayed::Job instrumentation](/docs/agents/ruby-agent/background-jobs/delayedjob).')
1251
- },
1252
- :disable_excon => {
1140
+ :disable_cpu_sampler => {
1253
1141
  :default => false,
1254
1142
  :public => true,
1255
1143
  :type => Boolean,
1256
1144
  :dynamic_name => true,
1257
- :deprecated => true,
1258
- :allowed_from_server => false,
1259
- :description => deprecated_description(:'instrumentation.excon', 'If `true`, disables instrumentation for the excon gem.')
1260
- },
1261
- :disable_memcached => {
1262
- :default => value_of(:disable_memcache_instrumentation),
1263
- :documentation_default => false,
1264
- :public => true,
1265
- :type => Boolean,
1266
- :deprecated => true,
1267
1145
  :allowed_from_server => false,
1268
- :description => deprecated_description(:'instrumentation.memcached', 'If `true`, disables instrumentation for the memcached gem.')
1269
- },
1270
- :disable_memcache_client => {
1271
- :default => value_of(:disable_memcache_instrumentation),
1272
- :documentation_default => false,
1273
- :public => true,
1274
- :type => Boolean,
1275
- :deprecated => true,
1276
- :allowed_from_server => false,
1277
- :description => deprecated_description(:'instrumentation.memcache-client', 'If `true`, disables instrumentation for the memcache-client gem.')
1146
+ :description => 'If `true`, the agent won\'t sample the CPU usage of the host process.'
1278
1147
  },
1279
- :disable_memcache_instrumentation => {
1148
+ :disable_delayed_job_sampler => {
1280
1149
  :default => false,
1281
1150
  :public => true,
1282
1151
  :type => Boolean,
1283
- :deprecated => true,
1152
+ :dynamic_name => true,
1284
1153
  :allowed_from_server => false,
1285
- :description => deprecated_description(:'instrumentation.memcache', 'If `true`, disables memcache instrumentation.')
1154
+ :description => 'If `true`, the agent won\'t measure the depth of Delayed Job queues.'
1286
1155
  },
1287
1156
  :disable_gc_profiler => {
1288
1157
  :default => false,
@@ -1291,42 +1160,6 @@ A map of error classes to a list of messages. When an error of one of the classe
1291
1160
  :allowed_from_server => false,
1292
1161
  :description => 'If `true`, disables the use of GC::Profiler to measure time spent in garbage collection'
1293
1162
  },
1294
- :disable_grape => {
1295
- :default => false,
1296
- :public => true,
1297
- :type => Boolean,
1298
- :allowed_from_server => false,
1299
- :deprecated => true,
1300
- :description => deprecated_description(:'instrumentation.grape',
1301
- 'If `true`, the agent won\'t install Grape instrumentation.')
1302
- },
1303
- :disable_httpclient => {
1304
- :default => false,
1305
- :public => true,
1306
- :type => Boolean,
1307
- :dynamic_name => true,
1308
- :deprecated => true,
1309
- :allowed_from_server => false,
1310
- :description => deprecated_description(:'instrumentation.httpclient', 'If `true`, disables instrumentation for the httpclient gem.')
1311
- },
1312
- :disable_httprb => {
1313
- :default => false,
1314
- :public => true,
1315
- :type => Boolean,
1316
- :dynamic_name => true,
1317
- :deprecated => true,
1318
- :allowed_from_server => false,
1319
- :description => deprecated_description(:'instrumentation.httprb', 'If `true`, the agent won\'t install instrumentation for the http.rb gem.')
1320
- },
1321
- :disable_mongo => {
1322
- :default => false,
1323
- :public => true,
1324
- :type => Boolean,
1325
- :allowed_from_server => false,
1326
- :dynamic_name => true,
1327
- :deprecated => true,
1328
- :description => deprecated_description(:'instrumentation.mongo', 'If `true`, the agent won\'t install [instrumentation for the Mongo gem](/docs/agents/ruby-agent/frameworks/mongo-instrumentation).')
1329
- },
1330
1163
  :disable_memory_sampler => {
1331
1164
  :default => false,
1332
1165
  :public => true,
@@ -1342,78 +1175,6 @@ A map of error classes to a list of messages. When an error of one of the classe
1342
1175
  :allowed_from_server => false,
1343
1176
  :description => 'If `true`, the agent won\'t wrap third-party middlewares in instrumentation (regardless of whether they are installed via Rack::Builder or Rails).'
1344
1177
  },
1345
- :disable_net_http => {
1346
- :default => false,
1347
- :public => true,
1348
- :type => Boolean,
1349
- :dynamic_name => true,
1350
- :allowed_from_server => false,
1351
- :deprecated => true,
1352
- :description => deprecated_description(:'instrumentation.net_http',
1353
- 'If `true`, disables instrumentation for Net::HTTP.')
1354
- },
1355
- :disable_puma_rack => {
1356
- :default => value_of(:disable_rack),
1357
- :documentation_default => false,
1358
- :public => true,
1359
- :type => Boolean,
1360
- :dynamic_name => true,
1361
- :allowed_from_server => false,
1362
- :deprecated => true,
1363
- :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.')
1364
- },
1365
- :disable_puma_rack_urlmap => {
1366
- :default => value_of(:disable_rack_urlmap),
1367
- :documentation_default => false,
1368
- :public => true,
1369
- :type => Boolean,
1370
- :dynamic_name => true,
1371
- :allowed_from_server => false,
1372
- :deprecated => true,
1373
- :description => deprecated_description(:'instrumentation.puma_rack_urlmap', 'If `true`, prevents the agent from hooking into Puma::Rack::URLMap to install middleware tracing.')
1374
- },
1375
- :disable_rack => {
1376
- :default => false,
1377
- :public => true,
1378
- :type => Boolean,
1379
- :dynamic_name => true,
1380
- :allowed_from_server => false,
1381
- :deprecated => true,
1382
- :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.')
1383
- },
1384
- :disable_rack_urlmap => {
1385
- :default => false,
1386
- :public => true,
1387
- :type => Boolean,
1388
- :dynamic_name => true,
1389
- :allowed_from_server => false,
1390
- :deprecated => true,
1391
- :description => deprecated_description(:'instrumentation.rack_urlmap', 'If `true`, prevents the agent from hooking into Rack::URLMap to install middleware tracing.')
1392
- },
1393
- :disable_rake => {
1394
- :default => false,
1395
- :public => true,
1396
- :type => Boolean,
1397
- :allowed_from_server => false,
1398
- :deprecated => true,
1399
- :description => deprecated_description(:'instrumentation.rake', 'If `true`, disables Rake instrumentation.')
1400
- },
1401
- :disable_redis => {
1402
- :default => false,
1403
- :public => true,
1404
- :type => Boolean,
1405
- :deprecated => true,
1406
- :allowed_from_server => false,
1407
- :description => deprecated_description(:'instrumentation.redis', 'If `true`, the agent won\'t install [instrumentation for Redis](/docs/agents/ruby-agent/frameworks/redis-instrumentation).')
1408
- },
1409
- :disable_resque => {
1410
- :default => false,
1411
- :public => true,
1412
- :type => Boolean,
1413
- :deprecated => true,
1414
- :allowed_from_server => false,
1415
- :description => deprecated_description(:'instrumentation.resque', 'If `true`, disables [Resque instrumentation](/docs/agents/ruby-agent/background-jobs/resque-instrumentation).')
1416
- },
1417
1178
  :disable_samplers => {
1418
1179
  :default => false,
1419
1180
  :public => true,
@@ -1435,47 +1196,30 @@ A map of error classes to a list of messages. When an error of one of the classe
1435
1196
  :allowed_from_server => false,
1436
1197
  :description => 'If `true`, disables [Sidekiq instrumentation](/docs/agents/ruby-agent/background-jobs/sidekiq-instrumentation).'
1437
1198
  },
1438
- :disable_sinatra => {
1439
- :default => false,
1440
- :public => true,
1441
- :type => Boolean,
1442
- :deprecated => true,
1443
- :allowed_from_server => false,
1444
- :description => deprecated_description(:'instrumentation.sinatra', 'If `true` , disables [Sinatra instrumentation](/docs/agents/ruby-agent/frameworks/sinatra-support).')
1445
- },
1446
1199
  :disable_sinatra_auto_middleware => {
1447
1200
  :default => false,
1448
1201
  :public => true,
1449
1202
  :type => Boolean,
1450
1203
  :allowed_from_server => false,
1451
- :description => <<-DESCRIPTION
1452
- 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).
1204
+ :description => <<~DESCRIPTION
1205
+ 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).
1453
1206
 
1454
- <Callout variant="important">
1455
- Cross application tracing is deprecated in favor of [distributed tracing](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing). Distributed tracing is on by default for Ruby agent versions 8.0.0 and above. Middlewares are not required to support distributed tracing.
1207
+ <Callout variant="important">
1208
+ Cross application tracing is deprecated in favor of [distributed tracing](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing). Distributed tracing is on by default for Ruby agent versions 8.0.0 and above. Middlewares are not required to support distributed tracing.
1456
1209
 
1457
- To continue using cross application tracing, update the following options in your `newrelic.yml` configuration file:
1210
+ To continue using cross application tracing, update the following options in your `newrelic.yml` configuration file:
1458
1211
 
1459
- ```
1460
- # newrelic.yml
1212
+ ```
1213
+ # newrelic.yml
1461
1214
 
1462
- cross_application_tracer:
1463
- enabled: true
1464
- distributed_tracing:
1465
- enabled: false
1466
- ```
1467
- </Callout>
1215
+ cross_application_tracer:
1216
+ enabled: true
1217
+ distributed_tracing:
1218
+ enabled: false
1219
+ ```
1220
+ </Callout>
1468
1221
  DESCRIPTION
1469
1222
  },
1470
- :disable_typhoeus => {
1471
- :default => false,
1472
- :public => true,
1473
- :type => Boolean,
1474
- :dynamic_name => true,
1475
- :deprecated => true,
1476
- :allowed_from_server => false,
1477
- :description => deprecated_description(:'instrumentation.typhoeus', 'If `true`, the agent won\'t install instrumentation for the typhoeus gem.')
1478
- },
1479
1223
  :disable_view_instrumentation => {
1480
1224
  :default => false,
1481
1225
  :public => true,
@@ -1537,9 +1281,9 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1537
1281
  :type => String,
1538
1282
  :allowed_from_server => false,
1539
1283
  :external => :infinite_tracing,
1540
- :description => "Configures the hostname for the Trace Observer Host. " \
1284
+ :description => "Configures the hostname for the trace observer Host. " \
1541
1285
  "When configured, enables tail-based sampling by sending all recorded spans " \
1542
- "to a Trace Observer for further sampling decisions, irrespective of any usual " \
1286
+ "to a trace observer for further sampling decisions, irrespective of any usual " \
1543
1287
  "agent sampling decision."
1544
1288
  },
1545
1289
  :'infinite_tracing.trace_observer.port' => {
@@ -1548,7 +1292,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1548
1292
  :type => Integer,
1549
1293
  :allowed_from_server => false,
1550
1294
  :external => :infinite_tracing,
1551
- :description => "Configures the TCP/IP port for the Trace Observer Host"
1295
+ :description => "Configures the TCP/IP port for the trace observer Host"
1552
1296
  },
1553
1297
  # Instrumentation
1554
1298
  :'instrumentation.active_support_logger' => {
@@ -1561,14 +1305,21 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1561
1305
  :description => 'Controls auto-instrumentation of ActiveSupport::Logger at start up. May be one of [auto|prepend|chain|disabled].'
1562
1306
  },
1563
1307
  :'instrumentation.bunny' => {
1564
- :default => instrumentation_value_of(:disable_bunny),
1565
- :documentation_default => 'auto',
1308
+ :default => 'auto',
1566
1309
  :public => true,
1567
1310
  :type => String,
1568
1311
  :dynamic_name => true,
1569
1312
  :allowed_from_server => false,
1570
1313
  :description => 'Controls auto-instrumentation of bunny at start up. May be one of [auto|prepend|chain|disabled].'
1571
1314
  },
1315
+ :'instrumentation.fiber' => {
1316
+ :default => 'auto',
1317
+ :public => true,
1318
+ :type => String,
1319
+ :dynamic_name => true,
1320
+ :allowed_from_server => false,
1321
+ :description => 'Controls auto-instrumentation of the Fiber class at start up. May be one of [auto|prepend|chain|disabled].'
1322
+ },
1572
1323
  :'instrumentation.concurrent_ruby' => {
1573
1324
  :default => 'auto',
1574
1325
  :public => true,
@@ -1578,7 +1329,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1578
1329
  :description => 'Controls auto-instrumentation of the concurrent-ruby library at start up. May be one of [auto|prepend|chain|disabled].'
1579
1330
  },
1580
1331
  :'instrumentation.curb' => {
1581
- :default => instrumentation_value_of(:disable_curb),
1332
+ :default => 'auto',
1582
1333
  :documentation_default => 'auto',
1583
1334
  :public => true,
1584
1335
  :type => String,
@@ -1587,7 +1338,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1587
1338
  :description => 'Controls auto-instrumentation of Curb at start up. May be one of [auto|prepend|chain|disabled].'
1588
1339
  },
1589
1340
  :'instrumentation.delayed_job' => {
1590
- :default => instrumentation_value_of(:disable_dj),
1341
+ :default => 'auto',
1591
1342
  :documentation_default => 'auto',
1592
1343
  :public => true,
1593
1344
  :type => String,
@@ -1604,18 +1355,17 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1604
1355
  :description => 'Controls auto-instrumentation of the elasticsearch library at start up. May be one of [auto|prepend|chain|disabled].'
1605
1356
  },
1606
1357
  :'instrumentation.excon' => {
1607
- :default => instrumentation_value_of(:disable_excon),
1358
+ :default => 'enabled',
1608
1359
  :documentation_default => 'enabled',
1609
- :public => :true,
1360
+ :public => true,
1610
1361
  :type => String,
1611
1362
  :dynamic_name => true,
1612
1363
  :allowed_from_server => false,
1613
1364
  :description => "Controls auto-instrumentation of Excon at start up. May be one of [enabled|disabled]."
1614
1365
  },
1615
1366
  :'instrumentation.grape' => {
1616
- :default => instrumentation_value_of(:disable_grape_instrumentation),
1617
- :documentation_default => 'auto',
1618
- :public => :true,
1367
+ :default => 'auto',
1368
+ :public => true,
1619
1369
  :type => String,
1620
1370
  :dynamic_name => true,
1621
1371
  :allowed_from_server => false,
@@ -1648,7 +1398,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1648
1398
  :description => 'Controls auto-instrumentation of gRPC servers at start up. May be one of [auto|prepend|chain|disabled].'
1649
1399
  },
1650
1400
  :'instrumentation.httpclient' => {
1651
- :default => instrumentation_value_of(:disable_httpclient),
1401
+ :default => 'auto',
1652
1402
  :documentation_default => 'auto',
1653
1403
  :public => true,
1654
1404
  :type => String,
@@ -1657,7 +1407,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1657
1407
  :description => "Controls auto-instrumentation of HTTPClient at start up. May be one of [auto|prepend|chain|disabled]."
1658
1408
  },
1659
1409
  :'instrumentation.httprb' => {
1660
- :default => instrumentation_value_of(:disable_httprb),
1410
+ :default => 'auto',
1661
1411
  :documentation_default => 'auto',
1662
1412
  :public => true,
1663
1413
  :type => String,
@@ -1675,8 +1425,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1675
1425
  :description => 'Controls auto-instrumentation of Ruby standard library Logger at start up. May be one of [auto|prepend|chain|disabled].'
1676
1426
  },
1677
1427
  :'instrumentation.memcache' => {
1678
- :default => instrumentation_value_of(:disable_dalli),
1679
- :documentation_default => 'auto',
1428
+ :default => 'auto',
1680
1429
  :public => true,
1681
1430
  :type => String,
1682
1431
  :dynamic_name => true,
@@ -1684,7 +1433,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1684
1433
  :description => 'Controls auto-instrumentation of dalli gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
1685
1434
  },
1686
1435
  :'instrumentation.memcached' => {
1687
- :default => instrumentation_value_of(:disable_memcached),
1436
+ :default => 'auto',
1688
1437
  :documentation_default => 'auto',
1689
1438
  :public => true,
1690
1439
  :type => String,
@@ -1702,16 +1451,16 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1702
1451
  :description => 'Controls auto-instrumentation of memcache-client gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
1703
1452
  },
1704
1453
  :'instrumentation.mongo' => {
1705
- :default => instrumentation_value_of(:disable_mongo),
1454
+ :default => 'enabled',
1706
1455
  :documentation_default => 'enabled',
1707
- :public => :true,
1456
+ :public => true,
1708
1457
  :type => String,
1709
1458
  :dynamic_name => true,
1710
1459
  :allowed_from_server => false,
1711
1460
  :description => "Controls auto-instrumentation of Mongo at start up. May be one of [enabled|disabled]."
1712
1461
  },
1713
1462
  :'instrumentation.net_http' => {
1714
- :default => instrumentation_value_of(:disable_net_http, :prepend_net_instrumentation),
1463
+ :default => 'auto',
1715
1464
  :documentation_default => 'auto',
1716
1465
  :public => true,
1717
1466
  :type => String,
@@ -1720,7 +1469,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1720
1469
  :description => "Controls auto-instrumentation of Net::HTTP at start up. May be one of [auto|prepend|chain|disabled]."
1721
1470
  },
1722
1471
  :'instrumentation.puma_rack' => {
1723
- :default => instrumentation_value_of(:disable_puma_rack), # TODO: MAJOR VERSION - change to value_of(:'instrumentation.rack') when we remove :disable_puma_rack in 8.0)
1472
+ :default => value_of(:'instrumentation.rack'),
1724
1473
  :documentation_default => 'auto',
1725
1474
  :public => true,
1726
1475
  :type => String,
@@ -1731,7 +1480,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1731
1480
  "application startup. May be one of [auto|prepend|chain|disabled]."
1732
1481
  },
1733
1482
  :'instrumentation.puma_rack_urlmap' => {
1734
- :default => instrumentation_value_of(:disable_puma_rack_urlmap), # TODO: MAJOR VERSION - change to value_of(:'instrumentation.rack_urlmap') when we remove :disable_puma_rack_urlmap in 8.0)
1483
+ :default => value_of(:'instrumentation.rack_urlmap'),
1735
1484
  :documentation_default => 'auto',
1736
1485
  :public => true,
1737
1486
  :type => String,
@@ -1740,7 +1489,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1740
1489
  :description => 'Controls auto-instrumentation of Puma::Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
1741
1490
  },
1742
1491
  :'instrumentation.rack' => {
1743
- :default => instrumentation_value_of(:disable_rack),
1492
+ :default => 'auto',
1744
1493
  :documentation_default => 'auto',
1745
1494
  :public => true,
1746
1495
  :type => String,
@@ -1751,7 +1500,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1751
1500
  "application startup. May be one of [auto|prepend|chain|disabled]."
1752
1501
  },
1753
1502
  :'instrumentation.rack_urlmap' => {
1754
- :default => instrumentation_value_of(:disable_rack_urlmap),
1503
+ :default => 'auto',
1755
1504
  :documentation_default => 'auto',
1756
1505
  :public => true,
1757
1506
  :type => String,
@@ -1760,17 +1509,15 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1760
1509
  :description => 'Controls auto-instrumentation of Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
1761
1510
  },
1762
1511
  :'instrumentation.rake' => {
1763
- :default => instrumentation_value_of(:disable_rake),
1764
- :documentation_default => 'auto',
1765
- :public => :true,
1512
+ :default => 'auto',
1513
+ :public => true,
1766
1514
  :type => String,
1767
1515
  :dynamic_name => true,
1768
1516
  :allowed_from_server => false,
1769
1517
  :description => "Controls auto-instrumentation of rake at start up. May be one of [auto|prepend|chain|disabled]."
1770
1518
  },
1771
1519
  :'instrumentation.redis' => {
1772
- :default => instrumentation_value_of(:disable_redis),
1773
- :documentation_default => 'auto',
1520
+ :default => 'auto',
1774
1521
  :public => true,
1775
1522
  :type => String,
1776
1523
  :dynamic_name => true,
@@ -1778,7 +1525,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1778
1525
  :description => "Controls auto-instrumentation of Redis at start up. May be one of [auto|prepend|chain|disabled]."
1779
1526
  },
1780
1527
  :'instrumentation.resque' => {
1781
- :default => instrumentation_value_of(:disable_resque),
1528
+ :default => 'auto',
1782
1529
  :documentation_default => 'auto',
1783
1530
  :public => true,
1784
1531
  :type => String,
@@ -1787,9 +1534,8 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1787
1534
  :description => "Controls auto-instrumentation of resque at start up. May be one of [auto|prepend|chain|disabled]."
1788
1535
  },
1789
1536
  :'instrumentation.sinatra' => {
1790
- :default => instrumentation_value_of(:disable_sinatra),
1791
- :documentation_default => 'auto',
1792
- :public => :true,
1537
+ :default => 'auto',
1538
+ :public => true,
1793
1539
  :type => String,
1794
1540
  :dynamic_name => true,
1795
1541
  :allowed_from_server => false,
@@ -1804,7 +1550,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1804
1550
  :description => "Controls auto-instrumentation of the Thread class at start up to allow the agent to correctly nest spans inside of an asynchronous transaction. This does not enable the agent to automatically trace all threads created (see `instrumentation.thread.tracing`). May be one of [auto|prepend|chain|disabled]."
1805
1551
  },
1806
1552
  :'instrumentation.thread.tracing' => {
1807
- :default => false,
1553
+ :default => true,
1808
1554
  :public => true,
1809
1555
  :type => Boolean,
1810
1556
  :allowed_from_server => false,
@@ -1826,7 +1572,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1826
1572
  :description => 'Controls auto-instrumentation of the Tilt template rendering library at start up. May be one of [auto|prepend|chain|disabled].'
1827
1573
  },
1828
1574
  :'instrumentation.typhoeus' => {
1829
- :default => instrumentation_value_of(:disable_typhoeus),
1575
+ :default => 'auto',
1830
1576
  :documentation_default => 'auto',
1831
1577
  :public => true,
1832
1578
  :type => String,
@@ -1868,12 +1614,17 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1868
1614
  # Rails
1869
1615
  :'defer_rails_initialization' => {
1870
1616
  :default => false,
1871
- :public => false,
1617
+ :public => true,
1872
1618
  :type => Boolean,
1619
+ :external => true, # this config is used directly from the ENV variables
1873
1620
  :allowed_from_server => false,
1874
- :description => 'This configuration option is currently unreachable. Please do not use. ' \
1875
- 'If `true`, when the agent is in an application using Ruby on Rails, it will start after ' \
1876
- 'config/initializers have run.'
1621
+ :description => <<-DESCRIPTION
1622
+ If `true`, when the agent is in an application using Ruby on Rails, it will start after `config/initializers` run.
1623
+
1624
+ <Callout variant="caution">
1625
+ This option may only be set by environment variable.
1626
+ </Callout>
1627
+ DESCRIPTION
1877
1628
  },
1878
1629
  # Rake
1879
1630
  :'rake.tasks' => {
@@ -1895,16 +1646,6 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1895
1646
  :allowed_from_server => false,
1896
1647
  :description => 'Timeout for waiting on connect to complete before a rake task'
1897
1648
  },
1898
- # Resque
1899
- :'resque.capture_params' => {
1900
- :default => false,
1901
- :public => true,
1902
- :type => Boolean,
1903
- :allowed_from_server => false,
1904
- :dynamic_name => true,
1905
- :deprecated => true,
1906
- :description => 'If `true`, enables the capture of job arguments for transaction traces and traced errors in Resque.'
1907
- },
1908
1649
  # Rules
1909
1650
  :'rules.ignore_url_regexes' => {
1910
1651
  :default => [],
@@ -1914,16 +1655,6 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
1914
1655
  :transform => DefaultSource.method(:convert_to_regexp_list),
1915
1656
  :description => 'Define transactions you want the agent to ignore, by specifying a list of patterns matching the URI you want to ignore. For more detail, see [the docs on ignoring specific transactions](/docs/agents/ruby-agent/api-guides/ignoring-specific-transactions/#config-ignoring).'
1916
1657
  },
1917
- # Sidekiq
1918
- :'sidekiq.capture_params' => {
1919
- :default => false,
1920
- :public => true,
1921
- :type => Boolean,
1922
- :allowed_from_server => false,
1923
- :dynamic_name => true,
1924
- :deprecated => true,
1925
- :description => 'If `true`, enables the capture of job arguments for transaction traces and traced errors in Sidekiq.'
1926
- },
1927
1658
  # Slow SQL
1928
1659
  :'slow_sql.enabled' => {
1929
1660
  :default => value_of(:'transaction_tracer.enabled'),
@@ -2112,7 +1843,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
2112
1843
  :description => 'Real user monitoring license key for the browser timing header.'
2113
1844
  },
2114
1845
  :'browser_monitoring.loader' => {
2115
- :default => DefaultSource.browser_monitoring_loader,
1846
+ :default => 'rum',
2116
1847
  :public => false,
2117
1848
  :type => String,
2118
1849
  :allowed_from_server => true,
@@ -2168,15 +1899,6 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
2168
1899
  :allowed_from_server => true,
2169
1900
  :description => 'Number of seconds betwixt connections to the New Relic data collection service.'
2170
1901
  },
2171
- :disable_grape_instrumentation => {
2172
- :default => false,
2173
- :public => false,
2174
- :type => Boolean,
2175
- :allowed_from_server => false,
2176
- :deprecated => true,
2177
- :description => deprecated_description(:'instrumentation.grape',
2178
- 'If `true`, the agent won\'t install Grape instrumentation.')
2179
- },
2180
1902
  :dispatcher => {
2181
1903
  :default => DefaultSource.dispatcher,
2182
1904
  :public => false,
@@ -2198,31 +1920,6 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
2198
1920
  :allowed_from_server => false,
2199
1921
  :description => 'Internal name for controlling Rails 3+ middleware instrumentation'
2200
1922
  },
2201
- :disable_rake_instrumentation => {
2202
- :default => false,
2203
- :public => false,
2204
- :type => Boolean,
2205
- :allowed_from_server => false,
2206
- :deprecated => true,
2207
- :description => deprecated_description(:'instrumentation.rake', 'Enable or disable Rake instrumentation. Preferred key is `disable_rake`')
2208
- },
2209
- :disable_redis_instrumentation => {
2210
- :default => false,
2211
- :public => false,
2212
- :type => Boolean,
2213
- :deprecated => true,
2214
- :allowed_from_server => false,
2215
- :description => deprecated_description(:'instrumentation.redis', 'Disables installation of Redis instrumentation. Standard key to use is disable_redis.')
2216
- },
2217
- :cross_application_tracing => {
2218
- :default => nil,
2219
- :allow_nil => true,
2220
- :public => false,
2221
- :type => Boolean,
2222
- :allowed_from_server => false,
2223
- :deprecated => true,
2224
- :description => 'Deprecated in favor of distributed_tracing.enabled'
2225
- },
2226
1923
  :enabled => {
2227
1924
  :default => true,
2228
1925
  :public => false,
@@ -2260,17 +1957,8 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
2260
1957
  :allowed_from_server => true,
2261
1958
  :description => 'Number of seconds betwixt connections to the New Relic event collection services.'
2262
1959
  },
2263
- :'event_report_period.analytic_event_data' => {
2264
- :default => 60,
2265
- :public => false,
2266
- :type => Integer,
2267
- :dynamic_name => true,
2268
- :deprecated => true,
2269
- :allowed_from_server => true,
2270
- :description => deprecated_description(:'event_report_period.transaction_event_data', 'Number of seconds betwixt connections to the New Relic transaction event collection services.')
2271
- },
2272
1960
  :'event_report_period.transaction_event_data' => {
2273
- :default => value_of(:'event_report_period.analytic_event_data'),
1961
+ :default => 60,
2274
1962
  :public => false,
2275
1963
  :type => Integer,
2276
1964
  :dynamic_name => true,
@@ -2336,8 +2024,8 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
2336
2024
  :type => Boolean,
2337
2025
  :allowed_from_server => false,
2338
2026
  :external => :infinite_tracing,
2339
- :description => "If true (the default), data sent to the Trace Observer will be batched\ninstead of each " \
2340
- "span being sent individually"
2027
+ :description => "If `true` (the default), data sent to the trace observer is batched\ninstead of sending " \
2028
+ "each span individually."
2341
2029
  },
2342
2030
  :'infinite_tracing.compression_level' => {
2343
2031
  :default => :high,
@@ -2345,7 +2033,7 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
2345
2033
  :type => Symbol,
2346
2034
  :allowed_from_server => false,
2347
2035
  :external => :infinite_tracing,
2348
- :description => "Configure the compression level for data sent to the Trace Observer\nMay be one of " \
2036
+ :description => "Configure the compression level for data sent to the trace observer\nMay be one of " \
2349
2037
  "[none|low|medium|high]\n'high' is the default. Set the level to 'none' to disable compression"
2350
2038
  },
2351
2039
  :js_agent_file => {
@@ -2362,14 +2050,6 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
2362
2050
  :allowed_from_server => true,
2363
2051
  :description => 'JavaScript agent loader content.'
2364
2052
  },
2365
- :js_errors_beta => {
2366
- :default => false,
2367
- :public => false,
2368
- :type => Boolean,
2369
- :allowed_from_server => false,
2370
- :deprecated => true,
2371
- :description => 'Enable or disable beta JavaScript error reporting.'
2372
- },
2373
2053
  :keep_alive_timeout => {
2374
2054
  :default => 60,
2375
2055
  :public => false,
@@ -2377,14 +2057,6 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
2377
2057
  :allowed_from_server => true,
2378
2058
  :description => 'Timeout for keep alive on TCP connection to collector if supported by Ruby version. Only used in conjunction when aggressive_keepalive is enabled.'
2379
2059
  },
2380
- :keep_retrying => {
2381
- :default => true,
2382
- :public => false,
2383
- :type => Boolean,
2384
- :deprecated => true,
2385
- :allowed_from_server => false,
2386
- :description => 'Enable or disable retrying failed connections to the New Relic data collection service.'
2387
- },
2388
2060
  :max_payload_size_in_bytes => {
2389
2061
  :default => 1000000,
2390
2062
  :public => false,
@@ -2406,15 +2078,6 @@ If `true`, disables agent middleware for Sinatra. This middleware is responsible
2406
2078
  :allowed_from_server => false,
2407
2079
  :description => 'Port for the New Relic data collection service.'
2408
2080
  },
2409
- :prepend_net_instrumentation => {
2410
- :default => true,
2411
- :public => false,
2412
- :type => Boolean,
2413
- :allowed_from_server => false,
2414
- :deprecated => true,
2415
- :description => deprecated_description(:'instrumentation.net_http',
2416
- 'If `true`, uses `Module#prepend` rather than alias_method for Net::HTTP instrumentation.')
2417
- },
2418
2081
  :primary_application_id => {
2419
2082
  :default => nil,
2420
2083
  :allow_nil => true,