forked from 18F/analytics.usa.gov
-
Notifications
You must be signed in to change notification settings - Fork 0
/
newrelic.yml
829 lines (635 loc) · 34.4 KB
/
newrelic.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
#
# This file configures the New Relic agent. New Relic monitors Ruby, Java,
# .NET, PHP, Python, Node, and Go applications with deep visibility and low
# overhead. For more information, visit www.newrelic.com.
# Generated <%= Time.now.strftime('%B %d, %Y') %><%= ", for version #{@agent_version}" if @agent_version %>
#<%= "\n# #{generated_for_user}\n#" if generated_for_user %>
# For full documentation of agent configuration options, please refer to
# https://docs.newrelic.com/docs/agents/ruby-agent/installation-configuration/ruby-agent-configuration
common:
&default_settings # Required license key associated with your New Relic account.
license_key: <%= license_key %>
# Your application name. Renaming here affects where data displays in New
# Relic. For more details, see https://docs.newrelic.com/docs/apm/new-relic-apm/maintenance/renaming-applications
app_name: <%= app_name %>
# To disable the agent regardless of other settings, uncomment the following:
# agent_enabled: false
# Logging level for log/newrelic_agent.log; options are error, warn, info, or
# debug.
log_level: info
# All of the following configuration options are optional. Review them, and
# uncomment or edit them if they appear relevant to your application needs.
# An array of ActiveSupport custom event names to subscribe to and instrument. For
# example,
# - one.custom.event
# - another.event
# - a.third.event
# active_support_custom_events_names: []
# If true, enables capture of all HTTP request headers for all destinations.
# allow_all_headers: false
# Your New Relic userKey. Required when using the New Relic REST API v2 to record
# deployments using the newrelic deployments command.
# api_key: ""
# If true, enables log decoration and the collection of log events and metrics.
# application_logging.enabled: true
# A hash with key/value pairs to add as custom attributes to all log events
# forwarded to New Relic. If sending using an environment variable, the value must
# be formatted like: "key1=value1,key2=value2"
# application_logging.forwarding.custom_attributes: {}
# If true, the agent captures log records emitted by your application.
# application_logging.forwarding.enabled: true
# Sets the minimum level a log event must have to be forwarded to New Relic.
# This is based on the integer values of Ruby's Logger::Severity constants:
# https://github.com/ruby/ruby/blob/master/lib/logger/severity.rb
# The intention is to forward logs with the level given to the configuration, as
# well as any logs with a higher level of severity.
# For example, setting this value to "debug" will forward all log events to New
# Relic. Setting this value to "error" will only forward log events with the
# levels "error", "fatal", and "unknown".
# Valid values (ordered lowest to highest):
# * "debug"
# * "info"
# * "warn"
# * "error"
# * "fatal"
# * "unknown"
# application_logging.forwarding.log_level: debug
# Defines the maximum number of log records to buffer in memory at a time.
# application_logging.forwarding.max_samples_stored: 10000
# If true, the agent decorates logs with metadata to link to entities, hosts,
# traces, and spans.
# application_logging.local_decorating.enabled: false
# If true, the agent captures metrics related to logging for your application.
# application_logging.metrics.enabled: true
# If true, enables capture of attributes for all destinations.
# attributes.enabled: true
# Prefix of attributes to exclude from all destinations. Allows * as wildcard at
# end.
# attributes.exclude: []
# Prefix of attributes to include in all destinations. Allows * as wildcard at
# end.
# attributes.include: []
# If true, enables an audit log which logs communications with the New Relic
# collector.
# audit_log.enabled: false
# List of allowed endpoints to include in audit log.
# audit_log.endpoints: [".*"]
# Specifies a path to the audit log file (including the filename).
# audit_log.path: log/newrelic_audit.log
# Specify a list of constants that should prevent the agent from starting
# automatically. Separate individual constants with a comma ,. For example,
# "Rails::Console,UninstrumentedBackgroundJob".
# autostart.denylisted_constants: Rails::Command::ConsoleCommand,Rails::Command::CredentialsCommand,Rails::Command::Db::System::ChangeCommand,Rails::Command::DbConsoleCommand,Rails::Command::DestroyCommand,Rails::Command::DevCommand,Rails::Command::EncryptedCommand,Rails::Command::GenerateCommand,Rails::Command::InitializersCommand,Rails::Command::NotesCommand,Rails::Command::RoutesCommand,Rails::Command::SecretsCommand,Rails::Console,Rails::DBConsole
# Defines a comma-delimited list of executables that the agent should not
# instrument. For example, "rake,my_ruby_script.rb".
# autostart.denylisted_executables: irb,rspec
# Defines a comma-delimited list of Rake tasks that the agent should not
# instrument. For example, "assets:precompile,db:migrate".
# autostart.denylisted_rake_tasks: about,assets:clean,assets:clobber,assets:environment,assets:precompile,assets:precompile:all,db:create,db:drop,db:fixtures:load,db:migrate,db:migrate:status,db:rollback,db:schema:cache:clear,db:schema:cache:dump,db:schema:dump,db:schema:load,db:seed,db:setup,db:structure:dump,db:version,doc:app,log:clear,middleware,notes,notes:custom,rails:template,rails:update,routes,secret,spec,spec:features,spec:requests,spec:controllers,spec:helpers,spec:models,spec:views,spec:routing,spec:rcov,stats,test,test:all,test:all:db,test:recent,test:single,test:uncommitted,time:zones:all,tmp:clear,tmp:create,webpacker:compile
# Backports the faster ActiveRecord connection lookup introduced in Rails 6, which
# improves agent performance when instrumenting ActiveRecord. Note that this
# setting may not be compatible with other gems that patch ActiveRecord.
# backport_fast_active_record_connection_lookup: false
# If true, the agent captures attributes from browser monitoring.
# browser_monitoring.attributes.enabled: false
# Prefix of attributes to exclude from browser monitoring. Allows * as wildcard at
# end.
# browser_monitoring.attributes.exclude: []
# Prefix of attributes to include in browser monitoring. Allows * as wildcard at
# end.
# browser_monitoring.attributes.include: []
# If true, enables auto-injection of the JavaScript header for page load timing
# (sometimes referred to as real user monitoring or RUM).
# browser_monitoring.auto_instrument: true
# Manual override for the path to your local CA bundle. This CA bundle will be
# used to validate the SSL certificate presented by New Relic's data collection
# service.
# ca_bundle_path: nil
# Enable or disable the capture of memcache keys from transaction traces.
# capture_memcache_keys: false
# When true, the agent captures HTTP request parameters and attaches them to
# transaction traces, traced errors, and TransactionError events.
# When using the capture_params setting, the Ruby agent will not attempt to filter
# secret information. Recommendation: To filter secret information from request
# parameters, use the attributes.include setting instead. For more information,
# see the Ruby attribute examples.
# capture_params: false
# If true, the agent will clear Tracer::State in Agent.drop_buffered_data.
# clear_transaction_state_after_fork: false
# If true, the agent will report source code level metrics for traced methods.
# see:
# https://docs.newrelic.com/docs/apm/agents/ruby-agent/features/ruby-codestream-integration/
# code_level_metrics.enabled: true
# Path to newrelic.yml. If undefined, the agent checks the following directories
# (in order):
# * config/newrelic.yml
# * newrelic.yml
# * $HOME/.newrelic/newrelic.yml
# * $HOME/newrelic.yml
# config_path: newrelic.yml
# If false, custom attributes will not be sent on events.
# custom_attributes.enabled: true
# If true, the agent captures custom events.
# custom_insights_events.enabled: true
# Specify a maximum number of custom events to buffer in memory at a time.
# custom_insights_events.max_samples_stored: 3000
# If false, the agent will not add database_name parameter to transaction or slow
# sql traces.
# datastore_tracer.database_name_reporting.enabled: true
# If false, the agent will not report datastore instance metrics, nor add host or
# port_path_or_id parameters to transaction or slow SQL traces.
# datastore_tracer.instance_reporting.enabled: true
# If true, disables Action Cable instrumentation.
# disable_action_cable_instrumentation: false
# If true, disables Action Controller instrumentation.
# disable_action_controller: false
# If true, disables Action Mailbox instrumentation.
# disable_action_mailbox: false
# If true, disables Action Mailer instrumentation.
# disable_action_mailer: false
# If true, disables Active Record instrumentation.
# disable_active_record_instrumentation: false
# If true, disables instrumentation for Active Record 4+
# disable_active_record_notifications: false
# If true, disables Active Storage instrumentation.
# disable_active_storage: false
# If true, disables Active Support instrumentation.
# disable_active_support: false
# If true, disables Active Job instrumentation.
# disable_activejob: false
# If true, the agent won't sample the CPU usage of the host process.
# disable_cpu_sampler: false
# If true, the agent won't measure the depth of Delayed Job queues.
# disable_delayed_job_sampler: false
# If true, disables the use of GC::Profiler to measure time spent in garbage
# collection
# disable_gc_profiler: false
# If true, the agent won't sample the memory usage of the host process.
# disable_memory_sampler: false
# If true, the agent won't wrap third-party middlewares in instrumentation
# (regardless of whether they are installed via Rack::Builder or Rails).
# When middleware instrumentation is disabled, if an application is using
# middleware that could alter the response code, the HTTP status code reported on
# the transaction may not reflect the altered value.
# disable_middleware_instrumentation: false
# If true, disables agent middleware for Roda. This middleware is responsible for
# advanced feature support such as page load timing and error collection.
# disable_roda_auto_middleware: false
# If true, disables the collection of sampler metrics. Sampler metrics are metrics
# that are not event-based (such as CPU time or memory usage).
# disable_samplers: false
# If true, disables Sequel instrumentation.
# disable_sequel_instrumentation: false
# If true, disables Sidekiq instrumentation.
# disable_sidekiq: false
# If true, disables agent middleware for Sinatra. This middleware is responsible
# for advanced feature support such as cross application tracing, page load
# timing, and error collection.
# Cross application tracing is deprecated in favor of 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.
# To continue using cross application tracing, update the following options in
# your newrelic.yml configuration file:
# ``yaml
# # newrelic.yml
# cross_application_tracer:
# enabled: true
# distributed_tracing:
# enabled: false
# ``
# disable_sinatra_auto_middleware: false
# If true, disables view instrumentation.
# disable_view_instrumentation: false
# If true, the agent won't sample performance measurements from the Ruby VM.
# disable_vm_sampler: false
# Distributed tracing lets you see the path that a request takes through your
# distributed system. Enabling distributed tracing changes the behavior of some
# New Relic features, so carefully consult the transition guide before you enable
# this feature.
# distributed_tracing.enabled: true
# If true, the agent captures Elasticsearch queries in transaction traces.
# elasticsearch.capture_queries: true
# If true, the agent obfuscates Elasticsearch queries in transaction traces.
# elasticsearch.obfuscate_queries: true
# If true, the agent captures attributes from error collection.
# error_collector.attributes.enabled: true
# Prefix of attributes to exclude from error collection. Allows * as wildcard at
# end.
# error_collector.attributes.exclude: []
# Prefix of attributes to include in error collection. Allows * as wildcard at
# end.
# error_collector.attributes.include: []
# If true, the agent collects TransactionError events.
# error_collector.capture_events: true
# If true, the agent captures traced errors and error count metrics.
# error_collector.enabled: true
# A list of error classes that the agent should treat as expected.
# This option can't be set via environment variable.
# error_collector.expected_classes: []
# 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.
# This option can't be set via environment variable.
# error_collector.expected_messages: {}
# A comma separated list of status codes, possibly including ranges. Errors
# associated with these status codes, where applicable, will be treated as
# expected.
# error_collector.expected_status_codes: ""
# A list of error classes that the agent should ignore.
# This option can't be set via environment variable.
# error_collector.ignore_classes: ["ActionController::RoutingError", "Sinatra::NotFound"]
# 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.
# This option can't be set via environment variable.
# error_collector.ignore_messages: {}
# A comma separated list of status codes, possibly including ranges. Errors
# associated with these status codes, where applicable, will be ignored.
# error_collector.ignore_status_codes: ""
# Defines the maximum number of frames in an error backtrace. Backtraces over this
# amount are truncated at the beginning and end.
# error_collector.max_backtrace_frames: 50
# Defines the maximum number of TransactionError events reported per harvest
# cycle.
# error_collector.max_event_samples_stored: 100
# Allows newrelic distributed tracing headers to be suppressed on outbound
# requests.
# exclude_newrelic_header: false
# Forces the exit handler that sends all cached data to collector before shutting
# down to be installed regardless of detecting scenarios where it generally should
# not be. Known use-case for this option is where Sinatra is running as an
# embedded service within another framework and the agent is detecting the Sinatra
# app and skipping the at_exit handler as a result. Sinatra classically runs the
# entire application in an at_exit block and would otherwise misbehave if the
# agent's at_exit handler was also installed in those circumstances. Note:
# send_data_on_exit should also be set to true in tandem with this setting.
# force_install_exit_handler: false
# Ordinarily the agent reports dyno names with a trailing dot and process ID (for
# example, worker.3). You can remove this trailing data by specifying the prefixes
# you want to report without trailing data (for example, worker).
# heroku.dyno_name_prefixes_to_shorten: ["scheduler", "run"]
# If true, the agent uses Heroku dyno names as the hostname.
# heroku.use_dyno_names: true
# If true, enables high security mode. Ensure you understand the implications of
# high security mode before enabling this setting.
# high_security: false
# If true (the default), data sent to the trace observer is batched instead of
# sending each span individually.
# infinite_tracing.batching: true
# Configure the compression level for data sent to the trace observer.
# May be one of: :none, :low, :medium, :high.
# Set the level to :none to disable compression.
# infinite_tracing.compression_level: high
# Configures the hostname for the trace observer Host. When configured, enables
# tail-based sampling by sending all recorded spans to a trace observer for
# further sampling decisions, irrespective of any usual agent sampling decision.
# infinite_tracing.trace_observer.host: ""
# Configures the TCP/IP port for the trace observer Host
# infinite_tracing.trace_observer.port: 443
# Controls auto-instrumentation of ActiveSupport::BroadcastLogger at start up. May
# be one of: auto, prepend, chain, disabled. Used in Rails versions >= 7.1.
# instrumentation.active_support_broadcast_logger: auto
# Controls auto-instrumentation of ActiveSupport::Logger at start up. May be one
# of: auto, prepend, chain, disabled. Used in Rails versions below 7.1.
# instrumentation.active_support_logger: auto
# Controls auto-instrumentation of Async::HTTP at start up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.async_http: auto
# Controls auto-instrumentation of bunny at start-up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.bunny: auto
# Controls auto-instrumentation of the concurrent-ruby library at start-up. May be
# one of: auto, prepend, chain, disabled.
# instrumentation.concurrent_ruby: auto
# Controls auto-instrumentation of Curb at start-up. May be one of: auto, prepend,
# chain, disabled.
# instrumentation.curb: auto
# Controls auto-instrumentation of Delayed Job at start-up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.delayed_job: auto
# Controls auto-instrumentation of the elasticsearch library at start-up. May be
# one of: auto, prepend, chain, disabled.
# instrumentation.elasticsearch: auto
# Controls auto-instrumentation of ethon at start up. May be one of
# [auto|prepend|chain|disabled]
# instrumentation.ethon: auto
# Controls auto-instrumentation of Excon at start-up. May be one of: enabled,
# disabled.
# instrumentation.excon: enabled
# Controls auto-instrumentation of the Fiber class at start-up. May be one of:
# auto, prepend, chain, disabled.
# instrumentation.fiber: auto
# Controls auto-instrumentation of Grape at start-up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.grape: auto
# Specifies a list of hostname patterns separated by commas that will match gRPC
# hostnames that traffic is to be ignored by New Relic for. New Relic's gRPC
# client instrumentation will ignore traffic streamed to a host matching any of
# these patterns, and New Relic's gRPC server instrumentation will ignore traffic
# for a server running on a host whose hostname matches any of these patterns. By
# default, no traffic is ignored when gRPC instrumentation is itself enabled. For
# example, "private.com$,exception.*"
# instrumentation.grpc.host_denylist: []
# Controls auto-instrumentation of gRPC clients at start-up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.grpc_client: auto
# Controls auto-instrumentation of gRPC servers at start-up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.grpc_server: auto
# Controls auto-instrumentation of HTTPClient at start-up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.httpclient: auto
# Controls auto-instrumentation of http.rb gem at start-up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.httprb: auto
# Controls auto-instrumentation of httpx at start up. May be one of
# [auto|prepend|chain|disabled]
# instrumentation.httpx: auto
# Controls auto-instrumentation of Ruby standard library Logger at start-up. May
# be one of: auto, prepend, chain, disabled.
# instrumentation.logger: auto
# Controls auto-instrumentation of dalli gem for Memcache at start-up. May be one
# of: auto, prepend, chain, disabled.
# instrumentation.memcache: auto
# Controls auto-instrumentation of memcache-client gem for Memcache at start-up.
# May be one of: auto, prepend, chain, disabled.
# instrumentation.memcache_client: auto
# Controls auto-instrumentation of memcached gem for Memcache at start-up. May be
# one of: auto, prepend, chain, disabled.
# instrumentation.memcached: auto
# Controls auto-instrumentation of Mongo at start-up. May be one of: enabled,
# disabled.
# instrumentation.mongo: enabled
# Controls auto-instrumentation of Net::HTTP at start-up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.net_http: auto
# Controls auto-instrumentation of Puma::Rack. When enabled, the agent hooks into
# the to_app method in Puma::Rack::Builder to find gems to instrument during
# application startup. May be one of: auto, prepend, chain, disabled.
# instrumentation.puma_rack: auto
# Controls auto-instrumentation of Puma::Rack::URLMap at start-up. May be one of:
# auto, prepend, chain, disabled.
# instrumentation.puma_rack_urlmap: auto
# Controls auto-instrumentation of Rack. When enabled, the agent hooks into the
# to_app method in Rack::Builder to find gems to instrument during application
# startup. May be one of: auto, prepend, chain, disabled.
# instrumentation.rack: auto
# Controls auto-instrumentation of Rack::URLMap at start-up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.rack_urlmap: auto
# Controls auto-instrumentation of rake at start-up. May be one of: auto, prepend,
# chain, disabled.
# instrumentation.rake: auto
# Controls auto-instrumentation of Redis at start-up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.redis: auto
# Controls auto-instrumentation of resque at start-up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.resque: auto
# Controls auto-instrumentation of Roda at start-up. May be one of: auto, prepend,
# chain, disabled.
# instrumentation.roda: auto
# Controls auto-instrumentation of Sinatra at start-up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.sinatra: auto
# Controls auto-instrumentation of Stripe at startup. May be one of: enabled,
# disabled.
# instrumentation.stripe: enabled
# 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.
# instrumentation.thread: auto
# Controls auto-instrumentation of the Thread class at start-up to automatically
# add tracing to all Threads created in the application.
# instrumentation.thread.tracing: true
# Controls auto-instrumentation of the Tilt template rendering library at
# start-up. May be one of: auto, prepend, chain, disabled.
# instrumentation.tilt: auto
# Controls auto-instrumentation of Typhoeus at start-up. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.typhoeus: auto
# Controls auto-instrumentation of ViewComponent at startup. May be one of: auto,
# prepend, chain, disabled.
# instrumentation.view_component: auto
# A dictionary of label names 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.
# labels: ""
# Defines a name for the log file.
# log_file_name: newrelic_agent.log
# Defines a path to the agent log file, excluding the filename.
# log_file_path: log/
# Specifies a marshaller for transmitting data to the New Relic collector.
# Currently json is the only valid value for this setting.
# marshaller: json
# If true, the agent will collect metadata about messages and attach them as
# segment parameters.
# message_tracer.segment_parameters.enabled: true
# If true, the agent captures Mongo queries in transaction traces.
# mongo.capture_queries: true
# If true, the agent obfuscates Mongo queries in transaction traces.
# mongo.obfuscate_queries: true
# When true, the agent transmits data about your app to the New Relic collector.
# monitor_mode: true
# If true, uses Module#prepend rather than alias_method for ActiveRecord
# instrumentation.
# prepend_active_record_instrumentation: false
# Specify a custom host name for display in the New Relic UI.
# process_host.display_name: default hostname
# Defines a host for communicating with the New Relic collector via a proxy
# server.
# proxy_host: nil
# Defines a password for communicating with the New Relic collector via a proxy
# server.
# proxy_pass: nil
# Defines a port for communicating with the New Relic collector via a proxy
# server.
# proxy_port: 8080
# Defines a user for communicating with the New Relic collector via a proxy
# server.
# proxy_user: nil
# Timeout for waiting on connect to complete before a rake task
# rake.connect_timeout: 10
# Specify an Array of Rake tasks to automatically instrument. This configuration
# option converts the Array to a RegEx list. If you'd like to allow all tasks by
# default, use rake.tasks: [.+]. No rake tasks will be instrumented unless they're
# added to this list. For more information, visit the New Relic Rake
# Instrumentation docs.
# rake.tasks: []
# 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.
# rules.ignore_url_regexes: []
# Applies Language Agent Security Policy settings.
# security_policies_token: ""
# If true, enables the exit handler that sends data to the New Relic collector
# before shutting down.
# send_data_on_exit: true
# An array of strings that will collectively serve as a denylist for filtering
# which Sidekiq job arguments get reported to New Relic. To capture any Sidekiq
# arguments, 'job.sidekiq.args.*' must be added to the separate
# :'attributes.include' configuration option. Each string in this array will be
# turned into a regular expression via Regexp.new to permit advanced matching. For
# job argument hashes, if either a key or value matches the pair will be excluded.
# All matching job argument array elements and job argument scalars will be
# excluded.
# sidekiq.args.exclude: []
# An array of strings that will collectively serve as an allowlist for filtering
# which Sidekiq job arguments get reported to New Relic. To capture any Sidekiq
# arguments, 'job.sidekiq.args.*' must be added to the separate
# :'attributes.include' configuration option. Each string in this array will be
# turned into a regular expression via Regexp.new to permit advanced matching. For
# job argument hashes, if either a key or value matches the pair will be included.
# All matching job argument array elements and job argument scalars will be
# included.
# sidekiq.args.include: []
# If true, the agent collects slow SQL queries.
# slow_sql.enabled: true
# If true, the agent collects explain plans in slow SQL queries. If this setting
# is omitted, the transaction_tracer.explain_enabled setting will be applied as
# the default setting for explain plans in slow SQL as well.
# slow_sql.explain_enabled: true
# Specify a threshold in seconds. The agent collects slow SQL queries and explain
# plans that exceed this threshold.
# slow_sql.explain_threshold: 0.5
# Defines an obfuscation level for slow SQL queries. Valid options are obfuscated,
# raw, or none.
# slow_sql.record_sql: obfuscated
# Generate a longer sql_id for slow SQL traces. sql_id is used for aggregation of
# similar queries.
# slow_sql.use_longer_sql_id: false
# If true, the agent captures attributes on span events.
# span_events.attributes.enabled: true
# Prefix of attributes to exclude from span events. Allows * as wildcard at end.
# span_events.attributes.exclude: []
# Prefix of attributes to include on span events. Allows * as wildcard at end.
# span_events.attributes.include: []
# If true, enables span event sampling.
# span_events.enabled: true
# Defines the maximum number of span events reported from a single harvest. Any
# Integer between 1 and 10000 is valid.
# span_events.max_samples_stored: 2000
# Sets the maximum number of span events to buffer when streaming to the trace
# observer.
# span_events.queue_size: 10000
# Specify a list of exceptions you do not want the agent to strip when
# strip_exception_messages is true. Separate exceptions with a comma. For example,
# "ImportantException,PreserveMessageException".
# strip_exception_messages.allowed_classes: ""
# If true, the agent strips messages from all exceptions except those in the
# allowlist. Enabled automatically in high security mode.
# strip_exception_messages.enabled: false
# An array of strings to specify which keys and/or values inside a Stripe event's
# user_data hash should
# not be reported to New Relic. Each string in this array will be turned into a
# regular expression via
# Regexp.new to permit advanced matching. For each hash pair, if either the key or
# value is matched the
# pair will not be reported. By default, no user_data is reported, so this option
# should only be used if
# the stripe.user_data.include option is being used.
# stripe.user_data.exclude: []
# An array of strings to specify which keys inside a Stripe event's user_data hash
# should be reported
# to New Relic. Each string in this array will be turned into a regular expression
# via Regexp.new to
# permit advanced matching. Setting the value to ["."] will report all user_data.
# stripe.user_data.include: []
# When set to true, forces a synchronous connection to the New Relic collector
# during application startup. For very short-lived processes, this helps ensure
# the New Relic agent has time to report.
# sync_startup: false
# If true, enables use of the thread profiler.
# thread_profiler.enabled: false
# Defines the maximum number of seconds the agent should spend attempting to
# connect to the collector.
# timeout: 120
# If true, the agent captures attributes from transaction events.
# transaction_events.attributes.enabled: true
# Prefix of attributes to exclude from transaction events. Allows * as wildcard at
# end.
# transaction_events.attributes.exclude: []
# Prefix of attributes to include in transaction events. Allows * as wildcard at
# end.
# transaction_events.attributes.include: []
# If true, enables transaction event sampling.
# transaction_events.enabled: true
# Defines the maximum number of transaction events reported from a single harvest.
# transaction_events.max_samples_stored: 1200
# If true, the agent captures attributes on transaction segments.
# transaction_segments.attributes.enabled: true
# Prefix of attributes to exclude from transaction segments. Allows * as wildcard
# at end.
# transaction_segments.attributes.exclude: []
# Prefix of attributes to include on transaction segments. Allows * as wildcard at
# end.
# transaction_segments.attributes.include: []
# If true, the agent captures attributes from transaction traces.
# transaction_tracer.attributes.enabled: true
# Prefix of attributes to exclude from transaction traces. Allows * as wildcard at
# end.
# transaction_tracer.attributes.exclude: []
# Prefix of attributes to include in transaction traces. Allows * as wildcard at
# end.
# transaction_tracer.attributes.include: []
# If true, enables collection of transaction traces.
# transaction_tracer.enabled: true
# If true, enables the collection of explain plans in transaction traces. This
# setting will also apply to explain plans in slow SQL traces if
# slow_sql.explain_enabled is not set separately.
# transaction_tracer.explain_enabled: true
# Threshold (in seconds) above which the agent will collect explain plans.
# Relevant only when explain_enabled is true.
# transaction_tracer.explain_threshold: 0.5
# Maximum number of transaction trace nodes to record in a single transaction
# trace.
# transaction_tracer.limit_segments: 4000
# If true, the agent records Redis command arguments in transaction traces.
# transaction_tracer.record_redis_arguments: false
# Obfuscation level for SQL queries reported in transaction trace nodes.
# By default, this is set to obfuscated, which strips out the numeric and string
# literals.
# - If you do not want the agent to capture query information, set this to none.
# - If you want the agent to capture all query information in its original form,
# set this to raw.
# - When you enable high security mode, this is automatically set to obfuscated.
# transaction_tracer.record_sql: obfuscated
# Specify a threshold in seconds. The agent includes stack traces in transaction
# trace nodes when the stack trace duration exceeds this threshold.
# transaction_tracer.stack_trace_threshold: 0.5
# 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.
# transaction_tracer.transaction_threshold: 1.0
# If true, the agent automatically detects that it is running in an AWS
# environment.
# utilization.detect_aws: true
# If true, the agent automatically detects that it is running in an Azure
# environment.
# utilization.detect_azure: true
# If true, the agent automatically detects that it is running in Docker.
# utilization.detect_docker: true
# If true, the agent automatically detects that it is running in an Google Cloud
# Platform environment.
# utilization.detect_gcp: true
# If true, the agent automatically detects that it is running in Kubernetes.
# utilization.detect_kubernetes: true
# If true, the agent automatically detects that it is running in a Pivotal Cloud
# Foundry environment.
# utilization.detect_pcf: true
# Environment-specific settings are in this section.
# RAILS_ENV or RACK_ENV (as appropriate) is used to determine the environment.
# If your application has other named environments, configure them here.
development:
<<: *default_settings
app_name: <%= app_name %> (Development)
test:
<<: *default_settings
# It doesn't make sense to report to New Relic from automated test runs.
monitor_mode: false
staging:
<<: *default_settings
app_name: <%= app_name %> (Staging)
production:
<<: *default_settings