From dfa32f70a1df86e4ac985943dd95f17ec0880351 Mon Sep 17 00:00:00 2001 From: Diego Algorta Date: Fri, 22 Jul 2022 12:43:21 -0300 Subject: [PATCH] Correctly indent default configs in newrelic.yml template This is so that uncommenting any of these options and setting a value will be correctly included in the `common: &default_settings` block. I discovered this while investigating https://github.com/newrelic/newrelic-ruby-agent/issues/731#issuecomment-1192073156. --- newrelic.yml | 950 +++++++++++++++++++++++++-------------------------- 1 file changed, 475 insertions(+), 475 deletions(-) diff --git a/newrelic.yml b/newrelic.yml index c5ea327384..fe40a3635a 100644 --- a/newrelic.yml +++ b/newrelic.yml @@ -23,612 +23,612 @@ common: &default_settings # 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. + # All of the following configuration options are optional. Review them, and + # uncomment or edit them if they appear relevant to your application needs. -# If `true`, all logging-related features for the agent can be enabled or disabled -# independently. If `false`, all logging-related features are disabled. -# application_logging.enabled: true + # If `true`, all logging-related features for the agent can be enabled or disabled + # independently. If `false`, all logging-related features are disabled. + # application_logging.enabled: true -# If `true`, the agent captures log records emitted by this application. -# application_logging.forwarding.enabled: true + # If `true`, the agent captures log records emitted by this application. + # application_logging.forwarding.enabled: true -# Defines the maximum number of log records to buffer in memory at a time. -# application_logging.forwarding.max_samples_stored: 10000 + # 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 captures metrics related to logging for this application. -# application_logging.metrics.enabled: true + # If `true`, the agent captures metrics related to logging for this application. + # application_logging.metrics.enabled: true -# 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 decorates logs with metadata to link to entities, hosts, traces, and spans. + # application_logging.local_decorating.enabled: false -# If `true`, the agent will report source code level metrics for traced methods -# code_level_metrics.enabled: false + # If `true`, the agent will report source code level metrics for traced methods + # code_level_metrics.enabled: false -# If true, enables transaction event sampling. -# transaction_events.enabled: true + # If true, enables transaction event sampling. + # transaction_events.enabled: true -# Defines the maximum number of request events reported from a single harvest. -# transaction_events.max_samples_stored: 1200 + # Defines the maximum number of request events reported from a single harvest. + # transaction_events.max_samples_stored: 1200 -# Prefix of attributes to exclude from all destinations. Allows * as wildcard at -# end. -# attributes_exclude: [] + # 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: [] + # Prefix of attributes to include in all destinations. Allows * as wildcard at + # end. + # attributes_include: [] -# If true, enables capture of attributes for all destinations. -# attributes.enabled: true + # If true, enables capture of attributes for all destinations. + # attributes.enabled: true -# If true, enables an audit log which logs communications with the New Relic -# collector. -# audit_log.enabled: false + # 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: [".*"] + # 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: "/audit_log" + # Specifies a path to the audit log file (including the filename). + # audit_log.path: "/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::console" + # 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::console" -# 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 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" + # 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 Active Record connection lookup introduced in Rails 6, -# which improves agent performance when instrumenting Active Record. Note that -# this setting may not be compatible with other gems that patch Active Record. -# backport_fast_active_record_connection_lookup: false + # Backports the faster Active Record connection lookup introduced in Rails 6, + # which improves agent performance when instrumenting Active Record. Note that + # this setting may not be compatible with other gems that patch Active Record. + # backport_fast_active_record_connection_lookup: false -# If true, the agent captures attributes from browser monitoring. -# browser_monitoring.attributes.enabled: 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 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: [] + # Prefix of attributes to include in browser monitoring. Allows * as wildcard at + # end. + # browser_monitoring.attributes.include: [] -# This is true by default, this 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 + # This is true by default, this 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 + # 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 + # 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 + # 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 clear Tracer::State in Agent.drop_buffered_data. + # clear_transaction_state_after_fork: false -# Path to newrelic.yml. If undefined, the agent checks the following directories -# (in order): config/newrelic.yml, newrelic.yml, $HOME/.newrelic/newrelic.yml -# and $HOME/newrelic.yml. -# config_path: newrelic.yml + # Path to newrelic.yml. If undefined, the agent checks the following directories + # (in order): config/newrelic.yml, newrelic.yml, $HOME/.newrelic/newrelic.yml + # and $HOME/newrelic.yml. + # config_path: newrelic.yml -# If true, enables cross application tracing. Cross application tracing is now -# deprecated, and disabled by default. Distributed tracing is replacing cross -# application tracing as the default means of tracing between services. -# To continue using it, set `cross_application_tracer.enabled: true` and -# `distributed_tracing.enabled: false` -# cross_application_tracer.enabled: false + # If true, enables cross application tracing. Cross application tracing is now + # deprecated, and disabled by default. Distributed tracing is replacing cross + # application tracing as the default means of tracing between services. + # To continue using it, set `cross_application_tracer.enabled: true` and + # `distributed_tracing.enabled: false` + # cross_application_tracer.enabled: false -# If false, custom attributes will not be sent on New Relic Insights events. -# custom_attributes.enabled: true + # If false, custom attributes will not be sent on New Relic Insights events. + # custom_attributes.enabled: true -# If true, the agent captures New Relic Insights custom events. -# custom_insights_events.enabled: true + # If true, the agent captures New Relic Insights custom events. + # custom_insights_events.enabled: true -# Specify a maximum number of custom Insights events to buffer in memory at a -# time. -# custom_insights_events.max_samples_stored: 1000 + # Specify a maximum number of custom Insights events to buffer in memory at a + # time. + # custom_insights_events.max_samples_stored: 1000 -# 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 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 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 Cable instrumentation. + # disable_action_cable_instrumentation: false -# If true, disables instrumentation for Active Record 4, 5, and 6. -# disable_active_record_notifications: false + # If true, disables instrumentation for Active Record 4, 5, and 6. + # disable_active_record_notifications: false -# If true, disables Active Storage instrumentation. -# disable_active_storage: false + # If true, disables Active Storage instrumentation. + # disable_active_storage: false -# If true, disables Active Job instrumentation. -# disable_activejob: false + # If true, disables Active Job instrumentation. + # disable_activejob: false -# If true, disables Active Record instrumentation. -# disable_active_record_instrumentation: false + # If true, disables Active Record instrumentation. + # disable_active_record_instrumentation: 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 sample the CPU usage of the host process. + # disable_cpu_sampler: false -# If true, disables DataMapper instrumentation. -# disable_data_mapper: false + # If true, disables DataMapper instrumentation. + # disable_data_mapper: false -# If true, the agent won't measure the depth of Delayed Job queues. -# disable_delayed_job_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, 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 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). -# disable_middleware_instrumentation: false + # If true, the agent won't wrap third-party middlewares in instrumentation + # (regardless of whether they are installed via Rack::Builder or Rails). + # disable_middleware_instrumentation: 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 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 Sequel instrumentation. + # disable_sequel_instrumentation: false -# If true, disables Sidekiq instrumentation. -# disable_sidekiq: 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 distributed tracing, page load -# timing, and error collection. -# disable_sinatra_auto_middleware: false + # If true, disables agent middleware for Sinatra. This middleware is responsible + # for advanced feature support such as distributed tracing, page load + # timing, and error collection. + # disable_sinatra_auto_middleware: false -# If true, disables view instrumentation. -# disable_view_instrumentation: 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 + # If true, the agent won't sample performance measurements from the Ruby VM. + # disable_vm_sampler: false -# Distributed tracing tracks and observes service requests as they flow through distributed systems. -# With distributed tracing data, you can quickly pinpoint failures or performance issues and fix them. -# distributed_tracing.enabled: true + # Distributed tracing tracks and observes service requests as they flow through distributed systems. + # With distributed tracing data, you can quickly pinpoint failures or performance issues and fix them. + # distributed_tracing.enabled: true -# If true, the agent captures attributes from error collection. -# error_collector.attributes.enabled: false + # If true, the agent captures attributes from error collection. + # error_collector.attributes.enabled: false -# Prefix of attributes to exclude from error collection. -# Allows * as wildcard at end. -# error_collector.attributes.exclude: [] + # 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: [] + # 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 collects TransactionError events. + # error_collector.capture_events: true -# If true, the agent captures traced errors and error count metrics. -# error_collector.enabled: 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. -# error_collector.expected_classes: [] + # A list of error classes that the agent should treat as expected. + # 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. -# error_collector.expected_messages: {} + # 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. + # 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 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. -# error_collector.ignore_classes: [] + # A list of error classes that the agent should ignore. + # error_collector.ignore_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 ignored. -# error_collector.ignore_messages: "" + # 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. + # 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: "" + # 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 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 sent to Insights per -# harvest cycle. -# error_collector.max_event_samples_stored: 100 + # Defines the maximum number of TransactionError events sent to Insights 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 + # 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 bot 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 that you understand the -# implication of enabling high security mode before enabling this setting. -# https://docs.newrelic.com/docs/agents/manage-apm-agents/configuration/high-security-mode/ -# high_security: false - -# 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 bunny at start up. -# May be one of [auto|prepend|chain|disabled]. -# instrumentation.bunny: 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 Excon at start up. -# May be one of [enabled|disabled]. -# instrumentation.excon: auto - -# Controls auto-instrumentation of Grape at start up. -# May be one of [auto|prepend|chain|disabled]. -# instrumentation.grape: 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 the Ruby standard library Logger.rb. -# May be one of [auto|prepend|chain|disabled]. -# instrumentation.logger: auto - -# Controls auto-instrumentation of ActiveSupport::Logger at start up. -# May be one of [auto|prepend|chain|disabled]. -# instrumentation.active_support.logger: 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 dalli gem for Memcache at start up. -# May be one of [auto|prepend|chain|disabled]. -# instrumentation.memcache: 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: auto - -# 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::URLMap at start up. -# May be one of [auto|prepend|chain|disabled]. -# instrumentation.puma_rack_urlmap: 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 Rack::URLMap at start up. -# May be one of [auto|prepend|chain|disabled]. -# instrumentation.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 rake at start up. -# May be one of [auto|prepend|chain|disabled]. -# instrumentation.rake: auto + # 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 bot 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 that you understand the + # implication of enabling high security mode before enabling this setting. + # https://docs.newrelic.com/docs/agents/manage-apm-agents/configuration/high-security-mode/ + # high_security: false + + # 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 bunny at start up. + # May be one of [auto|prepend|chain|disabled]. + # instrumentation.bunny: 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 Excon at start up. + # May be one of [enabled|disabled]. + # instrumentation.excon: auto + + # Controls auto-instrumentation of Grape at start up. + # May be one of [auto|prepend|chain|disabled]. + # instrumentation.grape: 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 the Ruby standard library Logger.rb. + # May be one of [auto|prepend|chain|disabled]. + # instrumentation.logger: auto + + # Controls auto-instrumentation of ActiveSupport::Logger at start up. + # May be one of [auto|prepend|chain|disabled]. + # instrumentation.active_support.logger: 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 dalli gem for Memcache at start up. + # May be one of [auto|prepend|chain|disabled]. + # instrumentation.memcache: 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: auto + + # 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::URLMap at start up. + # May be one of [auto|prepend|chain|disabled]. + # instrumentation.puma_rack_urlmap: 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 Rack::URLMap at start up. + # May be one of [auto|prepend|chain|disabled]. + # instrumentation.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 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 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 resque at start up. + # May be one of [auto|prepend|chain|disabled]. + # instrumentation.resque: auto -# Controls auto-instrumentation of Sinatra at start up. -# May be one of [auto|prepend|chain|disabled]. -# instrumentation.sinatra: auto + # Controls auto-instrumentation of Sinatra at start up. + # May be one of [auto|prepend|chain|disabled]. + # instrumentation.sinatra: auto -# Controls auto-instrumentation of Tilt at start up. -# May be one of [auto|prepend|chain|disabled]. -# instrumentation.tilt: auto + # Controls auto-instrumentation of Tilt 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 Typhoeus at start up. + # May be one of [auto|prepend|chain|disabled]. + # instrumentation.typhoeus: auto -# Controls auto-instrumentation of the Thread class at start up to allow the agent to correctly nest spans inside of an asyncronous transaction. -# May be one of [auto|prepend|chain|disabled]. -# instrumentation.thread: auto + # Controls auto-instrumentation of the Thread class at start up to allow the agent to correctly nest spans inside of an asyncronous transaction. + # 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: false + # Controls auto-instrumentation of the Thread class at start up to automatically add tracing to all Threads created in the application. + # instrumentation.thread.tracing: false -# A dictionary of label names and values that will be applied to the data sent -# from this agent. May also be expressed asa semicolon-delimited ; string of -# colon-separated : pairs. -# For example,Server:One;Data Center:Primary. -# labels: "" + # A dictionary of label names and values that will be applied to the data sent + # from this agent. May also be expressed asa 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 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/" + # 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 + # 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 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 captures Mongo queries in transaction traces. + # mongo.capture_queries: true -# If true, the agent obfuscates Mongo queries in transaction traces. -# mongo.obfuscate_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 + # 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 Active Record -# instrumentation. -# prepend_active_record_instrumentation: false + # If true, uses Module#prepend rather than alias_method for Active Record + # instrumentation. + # prepend_active_record_instrumentation: false -# Specify a custom host name for display in the New Relic UI -# Be be aware that you cannot rename a hostname, so please rename -# process_host.display_name: "default hostname" + # Specify a custom host name for display in the New Relic UI + # Be be aware that you cannot rename a hostname, so please rename + # 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 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 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: nil + # Defines a port for communicating with the New Relic collector via a proxy + # server. + # proxy_port: nil -# Defines a user for communicating with the New Relic collector via a proxy -# server. -# proxy_user: nil + # 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 + # 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: [.+]`. -# Rake tasks will not be instrumented unless they're added to this list. -# For more information, visit the (New Relic Rake Instrumentation docs)[/docs/apm/agents/ruby-agent/background-jobs/rake-instrumentation]. -# rake.tasks: [] + # 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: [.+]`. + # Rake tasks will not be instrumented unless they're added to this list. + # For more information, visit the (New Relic Rake Instrumentation docs)[/docs/apm/agents/ruby-agent/background-jobs/rake-instrumentation]. + # rake.tasks: [] -# Define transactions you want the agent to ignore, by specifying a list of -# patterns matching the URI you want to ignore. -# rules.ignore_url_regexes: [] + # Define transactions you want the agent to ignore, by specifying a list of + # patterns matching the URI you want to ignore. + # rules.ignore_url_regexes: [] -# Applies Language Agent Security Policy settings. -# security_policies_token: "" + # 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 + # If true, enables the exit handler that sends data to the New Relic collector + # before shutting down. + # send_data_on_exit: true -# If true, the agent collects slow SQL queries. -# slow_sql.enabled: false + # If true, the agent collects slow SQL queries. + # slow_sql.enabled: false -# 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: false + # 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: false -# Specify a threshold in seconds. The agent collects slow SQL queries and -# explain plans that exceed this threshold. -# slow_sql.explain_threshold: 1.0 + # Specify a threshold in seconds. The agent collects slow SQL queries and + # explain plans that exceed this threshold. + # slow_sql.explain_threshold: 1.0 -# Defines an obfuscation level for slow SQL queries. -# Valid options are obfuscated, raw, or none. -# slow_sql.record_sql: none + # Defines an obfuscation level for slow SQL queries. + # Valid options are obfuscated, raw, or none. + # slow_sql.record_sql: none -# 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 + # 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 + # If true, the agent captures attributes on span events. + # span_events_attributes.enabled: true -# Defines the maximum number of span events reported from a single harvest. -# This can be any integer between 1 and 10000. Increasing this value may impact -# memory usage. -# span_events.max_samples_stored: 2000 + # Defines the maximum number of span events reported from a single harvest. + # This can be any integer between 1 and 10000. Increasing this value may impact + # memory usage. + # span_events.max_samples_stored: 2000 -# Prefix of attributes to exclude from span events. Allows * as wildcard at end. -# span_events.attributes.exclude: [] + # 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: [] + # 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 + # If true, enables span event sampling. + # span_events.enabled: true -# Sets the maximum number of span events to buffer when streaming to the trace -# observer. -# span_events.queue_size: 10000 + # 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: "" + # 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: true + # If true, the agent strips messages from all exceptions except those in the + # allowlist. Enabled automatically in high security mode. + # strip_exception_messages.enabled: true -# 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 + # 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 + # 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 + # 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: false + # If true, the agent captures attributes from transaction events. + # transaction_events_attributes.enabled: false -# Prefix of attributes to exclude from transaction events. -# Allows * as wildcard at end. -# transaction_events.attributes.exclude: [] + # 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: [] + # Prefix of attributes to include in transaction events. + # Allows * as wildcard at end. + # transaction_events.attributes.include: [] -# If true, the agent captures attributes on transaction segments. -# transaction_segments_attributes.enabled: true + # 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 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: [] + # 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: false + # If true, the agent captures attributes from transaction traces. + # transaction_tracer.attributes.enabled: false -# Prefix of attributes to exclude from transaction traces. -# Allows * as wildcard at end. -# transaction_tracer.attributes.exclude: [] + # 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: [] + # 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 collection of transaction traces. + # transaction_tracer.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 + # Threshold (in seconds) above which the agent will collect explain plans. + # Relevant only when explain.enabled is true. + # transaction_tracer.explain_threshold: 0.5 -# 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 + # 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 -# Maximum number of transaction trace nodes to record in a single transaction -# trace. -# transaction_tracer.limit_segments: 4000 + # 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 + # 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' + # 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. 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 + # 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 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 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 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 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 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 + # 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.