newrelic_rpm 8.6.0 → 8.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +83 -3
- data/README.md +1 -1
- data/Rakefile +1 -1
- data/docker-compose.yml +1 -1
- data/lib/new_relic/agent/agent.rb +5 -2
- data/lib/new_relic/agent/autostart.rb +13 -10
- data/lib/new_relic/agent/configuration/default_source.rb +144 -42
- data/lib/new_relic/agent/configuration/environment_source.rb +2 -0
- data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +2 -2
- data/lib/new_relic/agent/instrumentation/active_merchant.rb +14 -0
- data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +10 -0
- data/lib/new_relic/agent/instrumentation/authlogic.rb +10 -0
- data/lib/new_relic/agent/instrumentation/data_mapper.rb +12 -0
- data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +19 -0
- data/lib/new_relic/agent/instrumentation/rack/helpers.rb +2 -0
- data/lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb +11 -0
- data/lib/new_relic/agent/instrumentation/sidekiq.rb +15 -0
- data/lib/new_relic/agent/instrumentation/sinatra.rb +21 -11
- data/lib/new_relic/agent/instrumentation/sunspot.rb +10 -0
- data/lib/new_relic/agent/instrumentation/thread/chain.rb +24 -0
- data/lib/new_relic/agent/instrumentation/thread/instrumentation.rb +27 -0
- data/lib/new_relic/agent/instrumentation/thread/prepend.rb +22 -0
- data/lib/new_relic/agent/instrumentation/thread.rb +20 -0
- data/lib/new_relic/agent/pipe_service.rb +1 -2
- data/lib/new_relic/agent/stats.rb +48 -23
- data/lib/new_relic/agent/tracer.rb +14 -1
- data/lib/new_relic/agent/transaction/abstract_segment.rb +2 -1
- data/lib/new_relic/agent/transaction/tracing.rb +8 -3
- data/lib/new_relic/agent/transaction.rb +24 -4
- data/lib/new_relic/agent/transaction_error_primitive.rb +2 -0
- data/lib/new_relic/agent/transaction_metrics.rb +5 -4
- data/lib/new_relic/agent/vm/mri_vm.rb +13 -1
- data/lib/new_relic/control/instrumentation.rb +31 -0
- data/lib/new_relic/dependency_detection.rb +1 -1
- data/lib/new_relic/language_support.rb +17 -0
- data/lib/new_relic/local_environment.rb +2 -0
- data/lib/new_relic/supportability_helper.rb +1 -0
- data/lib/new_relic/traced_thread.rb +36 -0
- data/lib/new_relic/version.rb +1 -1
- data/lib/tasks/config.rake +11 -3
- data/newrelic.yml +12 -1
- data/newrelic_rpm.gemspec +5 -2
- metadata +12 -3
@@ -247,17 +247,15 @@ module NewRelic
|
|
247
247
|
end
|
248
248
|
|
249
249
|
def self.convert_to_constant_list(raw_value)
|
250
|
-
|
251
|
-
const_names.map! do |class_name|
|
252
|
-
const = ::NewRelic::LanguageSupport.constantize(class_name)
|
253
|
-
|
254
|
-
unless const
|
255
|
-
NewRelic::Agent.logger.warn("Ignoring unrecognized constant '#{class_name}' in #{raw_value}")
|
256
|
-
end
|
250
|
+
return NewRelic::EMPTY_ARRAY if raw_value.nil? || raw_value.empty?
|
257
251
|
|
252
|
+
constants = convert_to_list(raw_value).map! do |class_name|
|
253
|
+
const = ::NewRelic::LanguageSupport.constantize(class_name)
|
254
|
+
NewRelic::Agent.logger.warn("Ignoring invalid constant '#{class_name}' in #{raw_value}") unless const
|
258
255
|
const
|
259
256
|
end
|
260
|
-
|
257
|
+
constants.compact!
|
258
|
+
constants
|
261
259
|
end
|
262
260
|
|
263
261
|
def self.enforce_fallback(allowed_values: nil, fallback: nil)
|
@@ -329,10 +327,11 @@ module NewRelic
|
|
329
327
|
:public => true,
|
330
328
|
:type => String,
|
331
329
|
:allowed_from_server => false,
|
332
|
-
:description => 'Your New Relic [license key](/docs/
|
330
|
+
:description => 'Your New Relic [license key](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key).'
|
333
331
|
},
|
334
332
|
:agent_enabled => {
|
335
333
|
:default => DefaultSource.agent_enabled,
|
334
|
+
:documentation_default => true,
|
336
335
|
:public => true,
|
337
336
|
:type => Boolean,
|
338
337
|
:allowed_from_server => false,
|
@@ -364,10 +363,11 @@ module NewRelic
|
|
364
363
|
},
|
365
364
|
:monitor_mode => {
|
366
365
|
:default => value_of(:enabled),
|
366
|
+
:documentation_default => true,
|
367
367
|
:public => true,
|
368
368
|
:type => Boolean,
|
369
369
|
:allowed_from_server => false,
|
370
|
-
:description => 'When `true`, the agent transmits data about your
|
370
|
+
:description => 'When `true`, the agent transmits data about your app to the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector).'
|
371
371
|
},
|
372
372
|
:test_mode => {
|
373
373
|
:default => false,
|
@@ -436,20 +436,13 @@ module NewRelic
|
|
436
436
|
:public => true,
|
437
437
|
:type => Boolean,
|
438
438
|
:allowed_from_server => false,
|
439
|
-
:description =>
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
'to filter secret information. <b>Recommendation:</b> To filter secret information from ' \
|
447
|
-
'request parameters, use the [`attributes.include` setting](/docs/agents/ruby-agent/attributes/enable-disable-attributes-ruby) ' \
|
448
|
-
'instead. For more information, see the ' \
|
449
|
-
'<a href="/docs/agents/ruby-agent/attributes/ruby-attribute-examples#ex_req_params">' \
|
450
|
-
'Ruby attribute examples</a>.' \
|
451
|
-
"\n" \
|
452
|
-
'</div>'
|
439
|
+
:description => <<-DESCRIPTION
|
440
|
+
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).
|
441
|
+
|
442
|
+
<Callout variant="caution">
|
443
|
+
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>.
|
444
|
+
</Callout>
|
445
|
+
DESCRIPTION
|
453
446
|
},
|
454
447
|
:config_path => {
|
455
448
|
:default => DefaultSource.config_path,
|
@@ -523,7 +516,11 @@ module NewRelic
|
|
523
516
|
:type => Array,
|
524
517
|
:allowed_from_server => false,
|
525
518
|
:transform => DefaultSource.method(:convert_to_regexp_list),
|
526
|
-
:description => 'Specify an
|
519
|
+
:description => 'Specify an Array of Rake tasks to automatically instrument. ' \
|
520
|
+
'This configuration option converts the Array to a RegEx list. If you\'d like '\
|
521
|
+
'to allow all tasks by default, use `rake.tasks: [.+]`. No rake tasks will be '\
|
522
|
+
'instrumented unless they\'re added to this list. For more information, '\
|
523
|
+
'visit the (New Relic Rake Instrumentation docs)[/docs/apm/agents/ruby-agent/background-jobs/rake-instrumentation].'
|
527
524
|
},
|
528
525
|
:'rake.connect_timeout' => {
|
529
526
|
:default => 10,
|
@@ -542,6 +539,7 @@ module NewRelic
|
|
542
539
|
},
|
543
540
|
:'strip_exception_messages.enabled' => {
|
544
541
|
:default => value_of(:high_security),
|
542
|
+
:documentation_default => false,
|
545
543
|
:public => true,
|
546
544
|
:type => Boolean,
|
547
545
|
:allowed_from_server => false,
|
@@ -759,6 +757,7 @@ module NewRelic
|
|
759
757
|
},
|
760
758
|
:'audit_log.path' => {
|
761
759
|
:default => DefaultSource.audit_log_path,
|
760
|
+
:documentation_default => 'config/newrelic_audit.log',
|
762
761
|
:public => true,
|
763
762
|
:type => String,
|
764
763
|
:allowed_from_server => false,
|
@@ -815,7 +814,24 @@ module NewRelic
|
|
815
814
|
:public => true,
|
816
815
|
:type => Boolean,
|
817
816
|
:allowed_from_server => false,
|
818
|
-
:description =>
|
817
|
+
:description => <<-DESCRIPTION
|
818
|
+
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).
|
819
|
+
|
820
|
+
<Callout variant="important">
|
821
|
+
Cross application tracing is deprecated in favor of [distributed tracing](https://docs.newrelic.com/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.
|
822
|
+
|
823
|
+
To continue using cross application tracing, update the following options in your `newrelic.yml` configuration file:
|
824
|
+
|
825
|
+
```
|
826
|
+
# newrelic.yml
|
827
|
+
|
828
|
+
cross_application_tracer:
|
829
|
+
enabled: true
|
830
|
+
distributed_tracing:
|
831
|
+
enabled: false
|
832
|
+
```
|
833
|
+
</Callout>
|
834
|
+
DESCRIPTION
|
819
835
|
},
|
820
836
|
:disable_view_instrumentation => {
|
821
837
|
:default => false,
|
@@ -840,6 +856,7 @@ module NewRelic
|
|
840
856
|
},
|
841
857
|
:disable_activerecord_instrumentation => {
|
842
858
|
:default => value_of(:skip_ar_instrumentation),
|
859
|
+
:documentation_default => false,
|
843
860
|
:public => true,
|
844
861
|
:type => Boolean,
|
845
862
|
:allowed_from_server => false,
|
@@ -863,6 +880,7 @@ module NewRelic
|
|
863
880
|
},
|
864
881
|
:'instrumentation.net_http' => {
|
865
882
|
:default => instrumentation_value_of(:disable_net_http, :prepend_net_instrumentation),
|
883
|
+
:documentation_default => 'auto',
|
866
884
|
:public => true,
|
867
885
|
:type => String,
|
868
886
|
:dynamic_name => true,
|
@@ -871,6 +889,7 @@ module NewRelic
|
|
871
889
|
},
|
872
890
|
:'instrumentation.typhoeus' => {
|
873
891
|
:default => instrumentation_value_of(:disable_typhoeus),
|
892
|
+
:documentation_default => 'auto',
|
874
893
|
:public => true,
|
875
894
|
:type => String,
|
876
895
|
:dynamic_name => true,
|
@@ -879,6 +898,7 @@ module NewRelic
|
|
879
898
|
},
|
880
899
|
:'instrumentation.bunny' => {
|
881
900
|
:default => instrumentation_value_of(:disable_bunny),
|
901
|
+
:documentation_default => 'auto',
|
882
902
|
:public => true,
|
883
903
|
:type => String,
|
884
904
|
:dynamic_name => true,
|
@@ -887,6 +907,7 @@ module NewRelic
|
|
887
907
|
},
|
888
908
|
:'instrumentation.httprb' => {
|
889
909
|
:default => instrumentation_value_of(:disable_httprb),
|
910
|
+
:documentation_default => 'auto',
|
890
911
|
:public => true,
|
891
912
|
:type => String,
|
892
913
|
:dynamic_name => true,
|
@@ -895,14 +916,31 @@ module NewRelic
|
|
895
916
|
},
|
896
917
|
:'instrumentation.resque' => {
|
897
918
|
:default => instrumentation_value_of(:disable_resque),
|
919
|
+
:documentation_default => 'auto',
|
898
920
|
:public => true,
|
899
921
|
:type => String,
|
900
922
|
:dynamic_name => true,
|
901
923
|
:allowed_from_server => false,
|
902
924
|
:description => "Controls auto-instrumentation of resque at start up. May be one of [auto|prepend|chain|disabled]."
|
903
925
|
},
|
926
|
+
:'instrumentation.thread' => {
|
927
|
+
:default => 'auto',
|
928
|
+
:public => true,
|
929
|
+
:type => String,
|
930
|
+
:dynamic_name => true,
|
931
|
+
:allowed_from_server => false,
|
932
|
+
:description => "Controls auto-instrumentation of the Thread class at start up to allow the agent to correctly nest spans inside of an asyncronous 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]."
|
933
|
+
},
|
934
|
+
:'instrumentation.thread.tracing' => {
|
935
|
+
:default => false,
|
936
|
+
:public => true,
|
937
|
+
:type => Boolean,
|
938
|
+
:allowed_from_server => false,
|
939
|
+
:description => "Controls auto-instrumentation of the Thread class at start up to automatically add tracing to all Threads created in the application."
|
940
|
+
},
|
904
941
|
:'instrumentation.redis' => {
|
905
942
|
:default => instrumentation_value_of(:disable_redis),
|
943
|
+
:documentation_default => 'auto',
|
906
944
|
:public => true,
|
907
945
|
:type => String,
|
908
946
|
:dynamic_name => true,
|
@@ -911,6 +949,7 @@ module NewRelic
|
|
911
949
|
},
|
912
950
|
:'instrumentation.rake' => {
|
913
951
|
:default => instrumentation_value_of(:disable_rake),
|
952
|
+
:documentation_default => 'auto',
|
914
953
|
:public => :true,
|
915
954
|
:type => String,
|
916
955
|
:dynamic_name => true,
|
@@ -919,6 +958,7 @@ module NewRelic
|
|
919
958
|
},
|
920
959
|
:'instrumentation.mongo' => {
|
921
960
|
:default => instrumentation_value_of(:disable_mongo),
|
961
|
+
:documentation_default => 'enabled',
|
922
962
|
:public => :true,
|
923
963
|
:type => String,
|
924
964
|
:dynamic_name => true,
|
@@ -927,6 +967,7 @@ module NewRelic
|
|
927
967
|
},
|
928
968
|
:'instrumentation.delayed_job' => {
|
929
969
|
:default => instrumentation_value_of(:disable_dj),
|
970
|
+
:documentation_default => 'auto',
|
930
971
|
:public => true,
|
931
972
|
:type => String,
|
932
973
|
:dynamic_name => true,
|
@@ -935,6 +976,7 @@ module NewRelic
|
|
935
976
|
},
|
936
977
|
:'instrumentation.httpclient' => {
|
937
978
|
:default => instrumentation_value_of(:disable_httpclient),
|
979
|
+
:documentation_default => 'auto',
|
938
980
|
:public => true,
|
939
981
|
:type => String,
|
940
982
|
:dynamic_name => true,
|
@@ -943,6 +985,7 @@ module NewRelic
|
|
943
985
|
},
|
944
986
|
:'instrumentation.curb' => {
|
945
987
|
:default => instrumentation_value_of(:disable_curb),
|
988
|
+
:documentation_default => 'auto',
|
946
989
|
:public => true,
|
947
990
|
:type => String,
|
948
991
|
:dynamic_name => true,
|
@@ -951,6 +994,7 @@ module NewRelic
|
|
951
994
|
},
|
952
995
|
:'instrumentation.sinatra' => {
|
953
996
|
:default => instrumentation_value_of(:disable_sinatra),
|
997
|
+
:documentation_default => 'auto',
|
954
998
|
:public => :true,
|
955
999
|
:type => String,
|
956
1000
|
:dynamic_name => true,
|
@@ -959,6 +1003,7 @@ module NewRelic
|
|
959
1003
|
},
|
960
1004
|
:'instrumentation.rack' => {
|
961
1005
|
:default => instrumentation_value_of(:disable_rack),
|
1006
|
+
:documentation_default => 'auto',
|
962
1007
|
:public => true,
|
963
1008
|
:type => String,
|
964
1009
|
:dynamic_name => true,
|
@@ -969,6 +1014,7 @@ module NewRelic
|
|
969
1014
|
},
|
970
1015
|
:'instrumentation.rack_urlmap' => {
|
971
1016
|
:default => instrumentation_value_of(:disable_rack_urlmap),
|
1017
|
+
:documentation_default => 'auto',
|
972
1018
|
:public => true,
|
973
1019
|
:type => String,
|
974
1020
|
:dynamic_name => true,
|
@@ -976,7 +1022,8 @@ module NewRelic
|
|
976
1022
|
:description => 'Controls auto-instrumentation of Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
|
977
1023
|
},
|
978
1024
|
:'instrumentation.puma_rack' => {
|
979
|
-
:default => instrumentation_value_of(:disable_puma_rack), # TODO: change to value_of(:'instrumentation.rack') when we remove :disable_puma_rack in 8.0)
|
1025
|
+
: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)
|
1026
|
+
:documentation_default => 'auto',
|
980
1027
|
:public => true,
|
981
1028
|
:type => String,
|
982
1029
|
:dynamic_name => true,
|
@@ -986,7 +1033,8 @@ module NewRelic
|
|
986
1033
|
"application startup. May be one of [auto|prepend|chain|disabled]."
|
987
1034
|
},
|
988
1035
|
:'instrumentation.puma_rack_urlmap' => {
|
989
|
-
:default => instrumentation_value_of(:disable_puma_rack_urlmap), # TODO: change to value_of(:'instrumentation.rack_urlmap') when we remove :disable_puma_rack_urlmap in 8.0)
|
1036
|
+
: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)
|
1037
|
+
:documentation_default => 'auto',
|
990
1038
|
:public => true,
|
991
1039
|
:type => String,
|
992
1040
|
:dynamic_name => true,
|
@@ -995,6 +1043,7 @@ module NewRelic
|
|
995
1043
|
},
|
996
1044
|
:'instrumentation.memcached' => {
|
997
1045
|
:default => instrumentation_value_of(:disable_memcached),
|
1046
|
+
:documentation_default => 'auto',
|
998
1047
|
:public => true,
|
999
1048
|
:type => String,
|
1000
1049
|
:dynamic_name => true,
|
@@ -1003,6 +1052,7 @@ module NewRelic
|
|
1003
1052
|
},
|
1004
1053
|
:'instrumentation.memcache_client' => {
|
1005
1054
|
:default => instrumentation_value_of(:disable_memcache_client),
|
1055
|
+
:documentation_default => 'auto',
|
1006
1056
|
:public => true,
|
1007
1057
|
:type => String,
|
1008
1058
|
:dynamic_name => true,
|
@@ -1011,6 +1061,7 @@ module NewRelic
|
|
1011
1061
|
},
|
1012
1062
|
:'instrumentation.memcache' => {
|
1013
1063
|
:default => instrumentation_value_of(:disable_dalli),
|
1064
|
+
:documentation_default => 'auto',
|
1014
1065
|
:public => true,
|
1015
1066
|
:type => String,
|
1016
1067
|
:dynamic_name => true,
|
@@ -1019,6 +1070,7 @@ module NewRelic
|
|
1019
1070
|
},
|
1020
1071
|
:'instrumentation.logger' => {
|
1021
1072
|
:default => instrumentation_value_from_boolean(:'application_logging.enabled'),
|
1073
|
+
:documentation_default => 'auto',
|
1022
1074
|
:public => true,
|
1023
1075
|
:type => String,
|
1024
1076
|
:dynamic_name => true,
|
@@ -1066,6 +1118,7 @@ module NewRelic
|
|
1066
1118
|
},
|
1067
1119
|
:disable_memcached => {
|
1068
1120
|
:default => value_of(:disable_memcache_instrumentation),
|
1121
|
+
:documentation_default => false,
|
1069
1122
|
:public => true,
|
1070
1123
|
:type => Boolean,
|
1071
1124
|
:deprecated => true,
|
@@ -1074,6 +1127,7 @@ module NewRelic
|
|
1074
1127
|
},
|
1075
1128
|
:disable_memcache_client => {
|
1076
1129
|
:default => value_of(:disable_memcache_instrumentation),
|
1130
|
+
:documentation_default => false,
|
1077
1131
|
:public => true,
|
1078
1132
|
:type => Boolean,
|
1079
1133
|
:deprecated => true,
|
@@ -1082,6 +1136,7 @@ module NewRelic
|
|
1082
1136
|
},
|
1083
1137
|
:disable_dalli => {
|
1084
1138
|
:default => value_of(:disable_memcache_instrumentation),
|
1139
|
+
:documentation_default => false,
|
1085
1140
|
:public => true,
|
1086
1141
|
:type => Boolean,
|
1087
1142
|
:deprecated => true,
|
@@ -1090,6 +1145,7 @@ module NewRelic
|
|
1090
1145
|
},
|
1091
1146
|
:disable_dalli_cas_client => {
|
1092
1147
|
:default => value_of(:disable_memcache_instrumentation),
|
1148
|
+
:documentation_default => false,
|
1093
1149
|
:public => true,
|
1094
1150
|
:type => Boolean,
|
1095
1151
|
:deprecated => true,
|
@@ -1166,11 +1222,9 @@ module NewRelic
|
|
1166
1222
|
|
1167
1223
|
By default, this is set to `obfuscated`, which strips out the numeric and string literals.
|
1168
1224
|
|
1169
|
-
|
1170
|
-
|
1171
|
-
|
1172
|
-
<li>When you enable [high security mode](/docs/agents/manage-apm-agents/configuration/high-security-mode), this is automatically set to `obfuscated`.</li>
|
1173
|
-
</ul>
|
1225
|
+
- If you do not want the agent to capture query information, set this to `none`.
|
1226
|
+
- If you want the agent to capture all query information in its original form, set this to `raw`.
|
1227
|
+
- When you enable [high security mode](/docs/agents/manage-apm-agents/configuration/high-security-mode), this is automatically set to `obfuscated`.
|
1174
1228
|
'
|
1175
1229
|
},
|
1176
1230
|
:'transaction_tracer.record_redis_arguments' => {
|
@@ -1265,6 +1319,7 @@ module NewRelic
|
|
1265
1319
|
},
|
1266
1320
|
:'slow_sql.enabled' => {
|
1267
1321
|
:default => value_of(:'transaction_tracer.enabled'),
|
1322
|
+
:documentation_default => true,
|
1268
1323
|
:public => true,
|
1269
1324
|
:type => Boolean,
|
1270
1325
|
:allowed_from_server => true,
|
@@ -1272,6 +1327,7 @@ module NewRelic
|
|
1272
1327
|
},
|
1273
1328
|
:'slow_sql.explain_threshold' => {
|
1274
1329
|
:default => value_of(:'transaction_tracer.explain_threshold'),
|
1330
|
+
:documentation_default => 0.5,
|
1275
1331
|
:public => true,
|
1276
1332
|
:type => Float,
|
1277
1333
|
:allowed_from_server => true,
|
@@ -1279,6 +1335,7 @@ module NewRelic
|
|
1279
1335
|
},
|
1280
1336
|
:'slow_sql.explain_enabled' => {
|
1281
1337
|
:default => value_of(:'transaction_tracer.explain_enabled'),
|
1338
|
+
:documentation_default => true,
|
1282
1339
|
:public => true,
|
1283
1340
|
:type => Boolean,
|
1284
1341
|
:allowed_from_server => true,
|
@@ -1286,6 +1343,7 @@ module NewRelic
|
|
1286
1343
|
},
|
1287
1344
|
:'slow_sql.record_sql' => {
|
1288
1345
|
:default => value_of(:'transaction_tracer.record_sql'),
|
1346
|
+
:documentation_default => 'obfuscated',
|
1289
1347
|
:public => true,
|
1290
1348
|
:type => String,
|
1291
1349
|
:allowed_from_server => true,
|
@@ -1334,7 +1392,13 @@ module NewRelic
|
|
1334
1392
|
:deprecated => true,
|
1335
1393
|
:allowed_from_server => true,
|
1336
1394
|
:dynamic_name => true,
|
1337
|
-
:description =>
|
1395
|
+
:description => <<-DESCRIPTION
|
1396
|
+
Use `error_collector.ignore_classes` instead. Specify a comma-delimited list of error classes that the agent should ignore.
|
1397
|
+
|
1398
|
+
<Callout variant="caution">
|
1399
|
+
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.
|
1400
|
+
</Callout>
|
1401
|
+
DESCRIPTION
|
1338
1402
|
},
|
1339
1403
|
:'error_collector.ignore_classes' => {
|
1340
1404
|
:default => [],
|
@@ -1342,7 +1406,13 @@ module NewRelic
|
|
1342
1406
|
:type => Array,
|
1343
1407
|
:allowed_from_server => true,
|
1344
1408
|
:dynamic_name => true,
|
1345
|
-
:description =>
|
1409
|
+
:description => <<-DESCRIPTION
|
1410
|
+
A list of error classes that the agent should ignore.
|
1411
|
+
|
1412
|
+
<Callout variant="caution">
|
1413
|
+
This option can't be set via environment variable.
|
1414
|
+
</Callout>
|
1415
|
+
DESCRIPTION
|
1346
1416
|
},
|
1347
1417
|
:'error_collector.ignore_messages' => {
|
1348
1418
|
:default => {},
|
@@ -1350,7 +1420,13 @@ module NewRelic
|
|
1350
1420
|
:type => Hash,
|
1351
1421
|
:allowed_from_server => true,
|
1352
1422
|
:dynamic_name => true,
|
1353
|
-
:description =>
|
1423
|
+
:description => <<-DESCRIPTION
|
1424
|
+
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.
|
1425
|
+
|
1426
|
+
<Callout variant="caution">
|
1427
|
+
This option can't be set via environment variable.
|
1428
|
+
</Callout>
|
1429
|
+
DESCRIPTION
|
1354
1430
|
},
|
1355
1431
|
:'error_collector.ignore_status_codes' => {
|
1356
1432
|
:default => '',
|
@@ -1366,7 +1442,13 @@ module NewRelic
|
|
1366
1442
|
:type => Array,
|
1367
1443
|
:allowed_from_server => true,
|
1368
1444
|
:dynamic_name => true,
|
1369
|
-
:description =>
|
1445
|
+
:description => <<-DESCRIPTION
|
1446
|
+
A list of error classes that the agent should treat as expected.
|
1447
|
+
|
1448
|
+
<Callout variant="caution">
|
1449
|
+
This option can't be set via environment variable.
|
1450
|
+
</Callout>
|
1451
|
+
DESCRIPTION
|
1370
1452
|
},
|
1371
1453
|
:'error_collector.expected_messages' => {
|
1372
1454
|
:default => {},
|
@@ -1374,7 +1456,13 @@ module NewRelic
|
|
1374
1456
|
:type => Hash,
|
1375
1457
|
:allowed_from_server => true,
|
1376
1458
|
:dynamic_name => true,
|
1377
|
-
:description =>
|
1459
|
+
:description => <<-DESCRIPTION
|
1460
|
+
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.
|
1461
|
+
|
1462
|
+
<Callout variant="caution">
|
1463
|
+
This option can't be set via environment variable.
|
1464
|
+
</Callout>
|
1465
|
+
DESCRIPTION
|
1378
1466
|
},
|
1379
1467
|
:'error_collector.expected_status_codes' => {
|
1380
1468
|
:default => '',
|
@@ -1393,6 +1481,7 @@ module NewRelic
|
|
1393
1481
|
},
|
1394
1482
|
:'error_collector.capture_events' => {
|
1395
1483
|
:default => value_of(:'error_collector.enabled'),
|
1484
|
+
:documentation_default => true,
|
1396
1485
|
:public => true,
|
1397
1486
|
:type => Boolean,
|
1398
1487
|
:allowed_from_server => true,
|
@@ -1450,6 +1539,7 @@ module NewRelic
|
|
1450
1539
|
},
|
1451
1540
|
:'browser_monitoring.auto_instrument' => {
|
1452
1541
|
:default => value_of(:'rum.enabled'),
|
1542
|
+
:documentation_default => true,
|
1453
1543
|
:public => true,
|
1454
1544
|
:type => Boolean,
|
1455
1545
|
:allowed_from_server => true,
|
@@ -1550,6 +1640,7 @@ module NewRelic
|
|
1550
1640
|
},
|
1551
1641
|
:'thread_profiler.enabled' => {
|
1552
1642
|
:default => DefaultSource.thread_profiler_enabled,
|
1643
|
+
:documentation_default => false,
|
1553
1644
|
:public => true,
|
1554
1645
|
:type => Boolean,
|
1555
1646
|
:allowed_from_server => true,
|
@@ -1587,6 +1678,7 @@ module NewRelic
|
|
1587
1678
|
},
|
1588
1679
|
:'transaction_events.enabled' => {
|
1589
1680
|
:default => value_of(:'analytics_events.enabled'),
|
1681
|
+
:documentation_default => true,
|
1590
1682
|
:public => true,
|
1591
1683
|
:type => Boolean,
|
1592
1684
|
:allowed_from_server => true,
|
@@ -1594,6 +1686,7 @@ module NewRelic
|
|
1594
1686
|
},
|
1595
1687
|
:'transaction_events.max_samples_stored' => {
|
1596
1688
|
:default => value_of(:'analytics_events.max_samples_stored'),
|
1689
|
+
:documentation_default => 1200,
|
1597
1690
|
:public => true,
|
1598
1691
|
:type => Integer,
|
1599
1692
|
:allowed_from_server => true,
|
@@ -1697,6 +1790,7 @@ module NewRelic
|
|
1697
1790
|
},
|
1698
1791
|
:'instrumentation.excon' => {
|
1699
1792
|
:default => instrumentation_value_of(:disable_excon),
|
1793
|
+
:documentation_default => 'enabled',
|
1700
1794
|
:public => :true,
|
1701
1795
|
:type => String,
|
1702
1796
|
:dynamic_name => true,
|
@@ -1742,6 +1836,7 @@ module NewRelic
|
|
1742
1836
|
},
|
1743
1837
|
:disable_puma_rack => {
|
1744
1838
|
:default => value_of(:disable_rack),
|
1839
|
+
:documentation_default => false,
|
1745
1840
|
:public => true,
|
1746
1841
|
:type => Boolean,
|
1747
1842
|
:dynamic_name => true,
|
@@ -1751,6 +1846,7 @@ module NewRelic
|
|
1751
1846
|
},
|
1752
1847
|
:disable_puma_rack_urlmap => {
|
1753
1848
|
:default => value_of(:disable_rack_urlmap),
|
1849
|
+
:documentation_default => false,
|
1754
1850
|
:public => true,
|
1755
1851
|
:type => Boolean,
|
1756
1852
|
:dynamic_name => true,
|
@@ -1817,7 +1913,7 @@ module NewRelic
|
|
1817
1913
|
:public => true,
|
1818
1914
|
:type => String,
|
1819
1915
|
:allowed_from_server => false,
|
1820
|
-
: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
|
1916
|
+
: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>`.'
|
1821
1917
|
},
|
1822
1918
|
:aggressive_keepalive => {
|
1823
1919
|
:default => true,
|
@@ -1875,7 +1971,7 @@ module NewRelic
|
|
1875
1971
|
:public => true,
|
1876
1972
|
:type => Integer,
|
1877
1973
|
:allowed_from_server => true,
|
1878
|
-
:description => '
|
1974
|
+
:description => 'Specify a maximum number of custom events to buffer in memory at a time.',
|
1879
1975
|
:dynamic_name => true
|
1880
1976
|
},
|
1881
1977
|
:'application_logging.enabled' => {
|
@@ -1886,7 +1982,7 @@ module NewRelic
|
|
1886
1982
|
:description => 'If `true`, enables log decoration and the collection of log events and metrics.'
|
1887
1983
|
},
|
1888
1984
|
:'application_logging.forwarding.enabled' => {
|
1889
|
-
:default =>
|
1985
|
+
:default => true,
|
1890
1986
|
:public => true,
|
1891
1987
|
:type => Boolean,
|
1892
1988
|
:allowed_from_server => false,
|
@@ -1916,6 +2012,7 @@ module NewRelic
|
|
1916
2012
|
},
|
1917
2013
|
:'instrumentation.active_support_logger' => {
|
1918
2014
|
:default => instrumentation_value_from_boolean(:'application_logging.enabled'),
|
2015
|
+
:documentation_default => 'auto',
|
1919
2016
|
:dynamic_name => true,
|
1920
2017
|
:public => true,
|
1921
2018
|
:type => String,
|
@@ -1942,6 +2039,7 @@ module NewRelic
|
|
1942
2039
|
},
|
1943
2040
|
:'instrumentation.grape' => {
|
1944
2041
|
:default => instrumentation_value_of(:disable_grape_instrumentation),
|
2042
|
+
:documentation_default => 'auto',
|
1945
2043
|
:public => :true,
|
1946
2044
|
:type => String,
|
1947
2045
|
:dynamic_name => true,
|
@@ -1957,6 +2055,7 @@ module NewRelic
|
|
1957
2055
|
},
|
1958
2056
|
:'transaction_tracer.attributes.enabled' => {
|
1959
2057
|
:default => value_of(:'transaction_tracer.capture_attributes'),
|
2058
|
+
:documentation_default => true,
|
1960
2059
|
:public => true,
|
1961
2060
|
:type => Boolean,
|
1962
2061
|
:allowed_from_server => false,
|
@@ -1964,6 +2063,7 @@ module NewRelic
|
|
1964
2063
|
},
|
1965
2064
|
:'transaction_events.attributes.enabled' => {
|
1966
2065
|
:default => value_of(:'analytics_events.capture_attributes'),
|
2066
|
+
:documentation_default => true,
|
1967
2067
|
:public => true,
|
1968
2068
|
:type => Boolean,
|
1969
2069
|
:allowed_from_server => false,
|
@@ -1971,6 +2071,7 @@ module NewRelic
|
|
1971
2071
|
},
|
1972
2072
|
:'error_collector.attributes.enabled' => {
|
1973
2073
|
:default => value_of(:'error_collector.capture_attributes'),
|
2074
|
+
:documentation_default => true,
|
1974
2075
|
:public => true,
|
1975
2076
|
:type => Boolean,
|
1976
2077
|
:allowed_from_server => false,
|
@@ -1978,6 +2079,7 @@ module NewRelic
|
|
1978
2079
|
},
|
1979
2080
|
:'browser_monitoring.attributes.enabled' => {
|
1980
2081
|
:default => value_of(:'browser_monitoring.capture_attributes'),
|
2082
|
+
:documentation_default => false,
|
1981
2083
|
:public => true,
|
1982
2084
|
:type => Boolean,
|
1983
2085
|
:allowed_from_server => false,
|
@@ -2272,7 +2374,7 @@ module NewRelic
|
|
2272
2374
|
:public => true,
|
2273
2375
|
:type => Integer,
|
2274
2376
|
:allowed_from_server => true,
|
2275
|
-
:description => 'Defines the maximum number of span events reported from a single harvest.'
|
2377
|
+
:description => 'Defines the maximum number of span events reported from a single harvest. Any Integer between 1 and 10000 is valid.'
|
2276
2378
|
},
|
2277
2379
|
:'exclude_newrelic_header' => {
|
2278
2380
|
:default => false,
|
@@ -90,6 +90,8 @@ module NewRelic
|
|
90
90
|
self[config_key] = value.to_f
|
91
91
|
elsif type == Symbol
|
92
92
|
self[config_key] = value.to_sym
|
93
|
+
elsif type == Array
|
94
|
+
self[config_key] = value.split(/\s*,\s*/)
|
93
95
|
elsif type == NewRelic::Agent::Configuration::Boolean
|
94
96
|
if value =~ /false|off|no/i
|
95
97
|
self[config_key] = false
|
@@ -71,8 +71,8 @@ module NewRelic
|
|
71
71
|
)
|
72
72
|
end
|
73
73
|
|
74
|
-
def format_metric_name(metric_action,
|
75
|
-
controller_class =
|
74
|
+
def format_metric_name(metric_action, controller)
|
75
|
+
controller_class = controller.is_a?(Class) ? controller : Object.const_get(controller)
|
76
76
|
"Controller/#{controller_class.controller_path}/#{metric_action}"
|
77
77
|
end
|
78
78
|
|
@@ -34,4 +34,18 @@ DependencyDetection.defer do
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
37
|
+
|
38
|
+
executes do
|
39
|
+
next unless Gem::Version.new(ActiveMerchant::VERSION) < Gem::Version.new('1.65.0')
|
40
|
+
deprecation_msg = 'The Ruby Agent is dropping support for ActiveMerchant versions below 1.65.0 ' \
|
41
|
+
'in version 9.0.0. Please upgrade your ActiveMerchant version to continue receiving full support. ' \
|
42
|
+
|
43
|
+
::NewRelic::Agent.logger.log_once(
|
44
|
+
:warn,
|
45
|
+
:deprecated_active_merchant_version,
|
46
|
+
deprecation_msg
|
47
|
+
)
|
48
|
+
|
49
|
+
::NewRelic::Agent.record_metric("Supportability/Deprecated/ActiveMerchant", 1)
|
50
|
+
end
|
37
51
|
end
|
@@ -44,6 +44,16 @@ DependencyDetection.defer do
|
|
44
44
|
|
45
45
|
executes do
|
46
46
|
::NewRelic::Agent.logger.info 'Installing ActsAsSolr instrumentation'
|
47
|
+
deprecation_msg = 'The instrumentation for ActsAsSolr is deprecated. ' \
|
48
|
+
'It will be removed in version 9.0.0.' \
|
49
|
+
|
50
|
+
::NewRelic::Agent.logger.log_once(
|
51
|
+
:warn,
|
52
|
+
:deprecated_acts_as_solr,
|
53
|
+
deprecation_msg
|
54
|
+
)
|
55
|
+
|
56
|
+
::NewRelic::Agent.record_metric("Supportability/Deprecated/ActsAsSolr", 1)
|
47
57
|
end
|
48
58
|
|
49
59
|
executes do
|