newrelic_rpm 6.10.0.364 → 8.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +13 -1
- data/.rubocop.yml +1946 -0
- data/.rubocop_todo.yml +62 -0
- data/.simplecov +15 -0
- data/.snyk +11 -0
- data/.yardopts +1 -0
- data/Brewfile +12 -0
- data/CHANGELOG.md +3737 -2592
- data/CONTRIBUTING.md +132 -19
- data/DOCKER.md +167 -0
- data/Dockerfile +10 -0
- data/Gemfile +5 -2
- data/Guardfile +9 -8
- data/LICENSE +202 -38
- data/README.md +85 -87
- data/Rakefile +27 -27
- data/THIRD_PARTY_NOTICES.md +28 -0
- data/Thorfile +5 -0
- data/bin/newrelic +3 -2
- data/bin/newrelic_cmd +1 -0
- data/bin/nrdebug +77 -54
- data/config.dot +5 -5
- data/docker-compose.yml +107 -0
- data/init.rb +5 -7
- data/install.rb +3 -3
- data/lefthook.yml +9 -0
- data/lib/new_relic/agent/adaptive_sampler.rb +14 -10
- data/lib/new_relic/agent/agent.rb +97 -919
- data/lib/new_relic/agent/agent_helpers/connect.rb +227 -0
- data/lib/new_relic/agent/agent_helpers/harvest.rb +153 -0
- data/lib/new_relic/agent/agent_helpers/shutdown.rb +72 -0
- data/lib/new_relic/agent/agent_helpers/special_startup.rb +75 -0
- data/lib/new_relic/agent/agent_helpers/start_worker_thread.rb +167 -0
- data/lib/new_relic/agent/agent_helpers/startup.rb +202 -0
- data/lib/new_relic/agent/agent_helpers/transmit.rb +76 -0
- data/lib/new_relic/agent/agent_logger.rb +24 -20
- data/lib/new_relic/agent/attribute_filter.rb +67 -48
- data/lib/new_relic/agent/attribute_processing.rb +8 -8
- data/lib/new_relic/agent/attributes.rb +8 -5
- data/lib/new_relic/agent/audit_logger.rb +19 -4
- data/lib/new_relic/agent/autostart.rb +21 -20
- data/lib/new_relic/agent/chained_call.rb +2 -2
- data/lib/new_relic/agent/commands/agent_command.rb +4 -4
- data/lib/new_relic/agent/commands/agent_command_router.rb +13 -12
- data/lib/new_relic/agent/commands/thread_profiler_session.rb +10 -8
- data/lib/new_relic/agent/configuration/default_source.rb +1783 -1158
- data/lib/new_relic/agent/configuration/dotted_hash.rb +7 -6
- data/lib/new_relic/agent/configuration/environment_source.rb +12 -10
- data/lib/new_relic/agent/configuration/event_harvest_config.rb +41 -18
- data/lib/new_relic/agent/configuration/high_security_source.rb +10 -9
- data/lib/new_relic/agent/configuration/manager.rb +83 -70
- data/lib/new_relic/agent/configuration/manual_source.rb +2 -2
- data/lib/new_relic/agent/configuration/mask_defaults.rb +4 -4
- data/lib/new_relic/agent/configuration/security_policy_source.rb +91 -78
- data/lib/new_relic/agent/configuration/server_source.rb +22 -20
- data/lib/new_relic/agent/configuration/yaml_source.rb +32 -8
- data/lib/new_relic/agent/configuration.rb +2 -2
- data/lib/new_relic/agent/connect/request_builder.rb +19 -19
- data/lib/new_relic/agent/connect/response_handler.rb +6 -9
- data/lib/new_relic/agent/custom_event_aggregator.rb +15 -15
- data/lib/new_relic/agent/database/explain_plan_helpers.rb +5 -6
- data/lib/new_relic/agent/database/obfuscation_helpers.rb +16 -15
- data/lib/new_relic/agent/database/obfuscator.rb +3 -3
- data/lib/new_relic/agent/database/postgres_explain_obfuscator.rb +4 -4
- data/lib/new_relic/agent/database.rb +54 -48
- data/lib/new_relic/agent/database_adapter.rb +35 -0
- data/lib/new_relic/agent/datastores/metric_helper.rb +18 -19
- data/lib/new_relic/agent/datastores/mongo/event_formatter.rb +8 -7
- data/lib/new_relic/agent/datastores/mongo/metric_translator.rb +7 -11
- data/lib/new_relic/agent/datastores/mongo.rb +7 -12
- data/lib/new_relic/agent/datastores/nosql_obfuscator.rb +41 -0
- data/lib/new_relic/agent/datastores/redis.rb +6 -12
- data/lib/new_relic/agent/datastores.rb +14 -16
- data/lib/new_relic/agent/deprecator.rb +2 -2
- data/lib/new_relic/agent/distributed_tracing/cross_app_payload.rb +13 -12
- data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +40 -33
- data/lib/new_relic/agent/distributed_tracing/{distributed_trace_intrinsics.rb → distributed_trace_attributes.rb} +28 -24
- data/lib/new_relic/agent/distributed_tracing/distributed_trace_metrics.rb +20 -20
- data/lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb +53 -56
- data/lib/new_relic/agent/distributed_tracing/distributed_trace_transport_type.rb +6 -7
- data/lib/new_relic/agent/distributed_tracing/trace_context.rb +77 -78
- data/lib/new_relic/agent/distributed_tracing/trace_context_payload.rb +40 -39
- data/lib/new_relic/agent/distributed_tracing.rb +33 -101
- data/lib/new_relic/agent/encoding_normalizer.rb +5 -3
- data/lib/new_relic/agent/error_collector.rb +74 -55
- data/lib/new_relic/agent/error_event_aggregator.rb +5 -6
- data/lib/new_relic/agent/error_filter.rb +174 -0
- data/lib/new_relic/agent/error_trace_aggregator.rb +5 -4
- data/lib/new_relic/agent/event_aggregator.rb +23 -22
- data/lib/new_relic/agent/event_buffer.rb +8 -9
- data/lib/new_relic/agent/event_listener.rb +2 -3
- data/lib/new_relic/agent/event_loop.rb +27 -25
- data/lib/new_relic/agent/external.rb +12 -45
- data/lib/new_relic/agent/guid_generator.rb +14 -12
- data/lib/new_relic/agent/harvester.rb +5 -6
- data/lib/new_relic/agent/heap.rb +8 -10
- data/lib/new_relic/agent/hostname.rb +21 -14
- data/lib/new_relic/agent/http_clients/abstract.rb +11 -12
- data/lib/new_relic/agent/http_clients/curb_wrappers.rb +7 -12
- data/lib/new_relic/agent/http_clients/excon_wrappers.rb +9 -10
- data/lib/new_relic/agent/http_clients/http_rb_wrappers.rb +5 -6
- data/lib/new_relic/agent/http_clients/httpclient_wrappers.rb +3 -5
- data/lib/new_relic/agent/http_clients/net_http_wrappers.rb +9 -5
- data/lib/new_relic/agent/http_clients/typhoeus_wrappers.rb +5 -6
- data/lib/new_relic/agent/http_clients/uri_util.rb +10 -12
- data/lib/new_relic/agent/instrumentation/action_cable_subscriber.rb +9 -9
- data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +39 -32
- data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +16 -18
- data/lib/new_relic/agent/instrumentation/active_job.rb +21 -14
- data/lib/new_relic/agent/instrumentation/active_merchant.rb +21 -7
- data/lib/new_relic/agent/instrumentation/active_record.rb +94 -47
- data/lib/new_relic/agent/instrumentation/active_record_helper.rb +82 -61
- data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +50 -63
- data/lib/new_relic/agent/instrumentation/active_record_prepend.rb +36 -12
- data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +28 -21
- data/lib/new_relic/agent/instrumentation/active_storage.rb +4 -4
- data/lib/new_relic/agent/instrumentation/active_storage_subscriber.rb +19 -16
- data/lib/new_relic/agent/instrumentation/active_support.rb +12 -0
- data/lib/new_relic/agent/instrumentation/active_support_logger/chain.rb +23 -0
- data/lib/new_relic/agent/instrumentation/active_support_logger/instrumentation.rb +20 -0
- data/lib/new_relic/agent/instrumentation/active_support_logger/prepend.rb +12 -0
- data/lib/new_relic/agent/instrumentation/active_support_logger.rb +24 -0
- data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +12 -3
- data/lib/new_relic/agent/instrumentation/authlogic.rb +11 -3
- data/lib/new_relic/agent/instrumentation/bunny/chain.rb +45 -0
- data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +150 -0
- data/lib/new_relic/agent/instrumentation/bunny/prepend.rb +35 -0
- data/lib/new_relic/agent/instrumentation/bunny.rb +12 -153
- data/lib/new_relic/agent/instrumentation/concurrent_ruby/chain.rb +36 -0
- data/lib/new_relic/agent/instrumentation/concurrent_ruby/instrumentation.rb +21 -0
- data/lib/new_relic/agent/instrumentation/concurrent_ruby/prepend.rb +27 -0
- data/lib/new_relic/agent/instrumentation/concurrent_ruby.rb +31 -0
- data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +70 -60
- data/lib/new_relic/agent/instrumentation/curb/chain.rb +91 -0
- data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +221 -0
- data/lib/new_relic/agent/instrumentation/curb/prepend.rb +61 -0
- data/lib/new_relic/agent/instrumentation/curb.rb +14 -240
- data/lib/new_relic/agent/instrumentation/custom_events_subscriber.rb +37 -0
- data/lib/new_relic/agent/instrumentation/data_mapper.rb +77 -66
- data/lib/new_relic/agent/instrumentation/delayed_job/chain.rb +35 -0
- data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +48 -0
- data/lib/new_relic/agent/instrumentation/delayed_job/prepend.rb +33 -0
- data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +30 -52
- data/lib/new_relic/agent/instrumentation/elasticsearch/chain.rb +29 -0
- data/lib/new_relic/agent/instrumentation/elasticsearch/instrumentation.rb +66 -0
- data/lib/new_relic/agent/instrumentation/elasticsearch/prepend.rb +13 -0
- data/lib/new_relic/agent/instrumentation/elasticsearch.rb +31 -0
- data/lib/new_relic/agent/instrumentation/excon/middleware.rb +7 -7
- data/lib/new_relic/agent/instrumentation/excon.rb +28 -30
- data/lib/new_relic/agent/instrumentation/grape/chain.rb +24 -0
- data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +100 -0
- data/lib/new_relic/agent/instrumentation/grape/prepend.rb +17 -0
- data/lib/new_relic/agent/instrumentation/grape.rb +15 -116
- data/lib/new_relic/agent/instrumentation/grpc/client/chain.rb +97 -0
- data/lib/new_relic/agent/instrumentation/grpc/client/instrumentation.rb +89 -0
- data/lib/new_relic/agent/instrumentation/grpc/client/prepend.rb +111 -0
- data/lib/new_relic/agent/instrumentation/grpc/client/request_wrapper.rb +30 -0
- data/lib/new_relic/agent/instrumentation/grpc/helper.rb +32 -0
- data/lib/new_relic/agent/instrumentation/grpc/server/chain.rb +69 -0
- data/lib/new_relic/agent/instrumentation/grpc/server/instrumentation.rb +134 -0
- data/lib/new_relic/agent/instrumentation/grpc/server/rpc_desc_prepend.rb +35 -0
- data/lib/new_relic/agent/instrumentation/grpc/server/rpc_server_prepend.rb +26 -0
- data/lib/new_relic/agent/instrumentation/grpc_client.rb +23 -0
- data/lib/new_relic/agent/instrumentation/grpc_server.rb +25 -0
- data/lib/new_relic/agent/instrumentation/httpclient/chain.rb +24 -0
- data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +37 -0
- data/lib/new_relic/agent/instrumentation/httpclient/prepend.rb +15 -0
- data/lib/new_relic/agent/instrumentation/httpclient.rb +11 -33
- data/lib/new_relic/agent/instrumentation/httprb/chain.rb +22 -0
- data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +30 -0
- data/lib/new_relic/agent/instrumentation/httprb/prepend.rb +15 -0
- data/lib/new_relic/agent/instrumentation/httprb.rb +29 -0
- data/lib/new_relic/agent/instrumentation/ignore_actions.rb +5 -6
- data/lib/new_relic/agent/instrumentation/logger/chain.rb +21 -0
- data/lib/new_relic/agent/instrumentation/logger/instrumentation.rb +66 -0
- data/lib/new_relic/agent/instrumentation/logger/prepend.rb +13 -0
- data/lib/new_relic/agent/instrumentation/logger.rb +26 -0
- data/lib/new_relic/agent/instrumentation/memcache/chain.rb +15 -0
- data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +58 -129
- data/lib/new_relic/agent/instrumentation/memcache/helper.rb +59 -0
- data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +90 -0
- data/lib/new_relic/agent/instrumentation/memcache/prepend.rb +101 -0
- data/lib/new_relic/agent/instrumentation/memcache.rb +57 -73
- data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +14 -13
- data/lib/new_relic/agent/instrumentation/middleware_tracing.rb +10 -10
- data/lib/new_relic/agent/instrumentation/mongo.rb +7 -138
- data/lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb +41 -18
- data/lib/new_relic/agent/instrumentation/net_http/chain.rb +24 -0
- data/lib/new_relic/agent/instrumentation/net_http/instrumentation.rb +40 -0
- data/lib/new_relic/agent/instrumentation/net_http/prepend.rb +21 -0
- data/lib/new_relic/agent/instrumentation/net_http.rb +44 -0
- data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +12 -11
- data/lib/new_relic/agent/instrumentation/padrino/chain.rb +38 -0
- data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +28 -0
- data/lib/new_relic/agent/instrumentation/padrino/prepend.rb +20 -0
- data/lib/new_relic/agent/instrumentation/padrino.rb +22 -58
- data/lib/new_relic/agent/instrumentation/passenger_instrumentation.rb +7 -7
- data/lib/new_relic/agent/instrumentation/queue_time.rb +9 -10
- data/lib/new_relic/agent/instrumentation/rack/chain.rb +66 -0
- data/lib/new_relic/agent/instrumentation/rack/helpers.rb +33 -0
- data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +75 -0
- data/lib/new_relic/agent/instrumentation/rack/prepend.rb +43 -0
- data/lib/new_relic/agent/instrumentation/rack.rb +33 -141
- data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +19 -55
- data/lib/new_relic/agent/instrumentation/rails_middleware.rb +5 -5
- data/lib/new_relic/agent/instrumentation/rails_notifications/action_cable.rb +9 -8
- data/lib/new_relic/agent/instrumentation/rails_notifications/action_controller.rb +5 -5
- data/lib/new_relic/agent/instrumentation/rails_notifications/action_view.rb +9 -6
- data/lib/new_relic/agent/instrumentation/rails_notifications/custom_events.rb +30 -0
- data/lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb +15 -5
- data/lib/new_relic/agent/instrumentation/rake/chain.rb +20 -0
- data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +149 -0
- data/lib/new_relic/agent/instrumentation/rake/prepend.rb +14 -0
- data/lib/new_relic/agent/instrumentation/rake.rb +17 -157
- data/lib/new_relic/agent/instrumentation/redis/chain.rb +45 -0
- data/lib/new_relic/agent/instrumentation/redis/constants.rb +17 -0
- data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +93 -0
- data/lib/new_relic/agent/instrumentation/redis/middleware.rb +16 -0
- data/lib/new_relic/agent/instrumentation/redis/prepend.rb +29 -0
- data/lib/new_relic/agent/instrumentation/redis.rb +19 -108
- data/lib/new_relic/agent/instrumentation/resque/chain.rb +21 -0
- data/lib/new_relic/agent/instrumentation/resque/helper.rb +19 -0
- data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +34 -0
- data/lib/new_relic/agent/instrumentation/resque/prepend.rb +15 -0
- data/lib/new_relic/agent/instrumentation/resque.rb +33 -44
- data/lib/new_relic/agent/instrumentation/sequel.rb +16 -18
- data/lib/new_relic/agent/instrumentation/sequel_helper.rb +3 -3
- data/lib/new_relic/agent/instrumentation/sidekiq/client.rb +20 -0
- data/lib/new_relic/agent/instrumentation/sidekiq/extensions/delayed_class.rb +30 -0
- data/lib/new_relic/agent/instrumentation/sidekiq/server.rb +37 -0
- data/lib/new_relic/agent/instrumentation/sidekiq.rb +29 -45
- data/lib/new_relic/agent/instrumentation/sinatra/chain.rb +55 -0
- data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +31 -37
- data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +125 -0
- data/lib/new_relic/agent/instrumentation/sinatra/prepend.rb +33 -0
- data/lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb +3 -3
- data/lib/new_relic/agent/instrumentation/sinatra.rb +35 -165
- data/lib/new_relic/agent/instrumentation/sunspot.rb +14 -6
- data/lib/new_relic/agent/instrumentation/thread/chain.rb +24 -0
- data/lib/new_relic/agent/instrumentation/thread/instrumentation.rb +32 -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/instrumentation/tilt/chain.rb +24 -0
- data/lib/new_relic/agent/instrumentation/tilt/instrumentation.rb +41 -0
- data/lib/new_relic/agent/instrumentation/tilt/prepend.rb +13 -0
- data/lib/new_relic/agent/instrumentation/tilt.rb +25 -0
- data/lib/new_relic/agent/instrumentation/typhoeus/chain.rb +22 -0
- data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +80 -0
- data/lib/new_relic/agent/instrumentation/typhoeus/prepend.rb +14 -0
- data/lib/new_relic/agent/instrumentation/typhoeus.rb +13 -92
- data/lib/new_relic/agent/instrumentation.rb +2 -2
- data/lib/new_relic/agent/internal_agent_error.rb +3 -3
- data/lib/new_relic/agent/javascript_instrumentor.rb +49 -43
- data/lib/new_relic/agent/linking_metadata.rb +44 -0
- data/lib/new_relic/agent/local_log_decorator.rb +37 -0
- data/lib/new_relic/agent/log_event_aggregator.rb +235 -0
- data/lib/new_relic/agent/log_once.rb +2 -2
- data/lib/new_relic/agent/log_priority.rb +20 -0
- data/lib/new_relic/agent/logging.rb +25 -22
- data/lib/new_relic/agent/memory_logger.rb +3 -3
- data/lib/new_relic/agent/messaging.rb +66 -82
- data/lib/new_relic/agent/method_tracer.rb +152 -146
- data/lib/new_relic/agent/method_tracer_helpers.rb +89 -12
- data/lib/new_relic/agent/monitors/cross_app_monitor.rb +26 -18
- data/lib/new_relic/agent/monitors/distributed_tracing_monitor.rb +6 -5
- data/lib/new_relic/agent/monitors/inbound_request_monitor.rb +2 -3
- data/lib/new_relic/agent/monitors/synthetics_monitor.rb +7 -10
- data/lib/new_relic/agent/monitors.rb +7 -8
- data/lib/new_relic/agent/new_relic_service/encoders.rb +7 -7
- data/lib/new_relic/agent/new_relic_service/json_marshaller.rb +6 -6
- data/lib/new_relic/agent/new_relic_service/marshaller.rb +3 -3
- data/lib/new_relic/agent/new_relic_service/security_policy_settings.rb +6 -5
- data/lib/new_relic/agent/new_relic_service.rb +258 -184
- data/lib/new_relic/agent/{noticible_error.rb → noticeable_error.rb} +3 -6
- data/lib/new_relic/agent/null_logger.rb +8 -4
- data/lib/new_relic/agent/obfuscator.rb +9 -11
- data/lib/new_relic/agent/parameter_filtering.rb +25 -11
- data/lib/new_relic/agent/payload_metric_mapping.rb +10 -11
- data/lib/new_relic/agent/pipe_channel_manager.rb +28 -18
- data/lib/new_relic/agent/pipe_service.rb +9 -6
- data/lib/new_relic/agent/prepend_supportability.rb +3 -3
- data/lib/new_relic/agent/priority_sampled_buffer.rb +15 -15
- data/lib/new_relic/agent/range_extensions.rb +9 -29
- data/lib/new_relic/agent/rules_engine/replacement_rule.rb +12 -12
- data/lib/new_relic/agent/rules_engine/segment_terms_rule.rb +14 -14
- data/lib/new_relic/agent/rules_engine.rb +6 -5
- data/lib/new_relic/agent/sampler.rb +4 -5
- data/lib/new_relic/agent/sampler_collection.rb +4 -5
- data/lib/new_relic/agent/samplers/cpu_sampler.rb +4 -3
- data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +13 -10
- data/lib/new_relic/agent/samplers/memory_sampler.rb +26 -15
- data/lib/new_relic/agent/samplers/object_sampler.rb +2 -2
- data/lib/new_relic/agent/samplers/vm_sampler.rb +22 -20
- data/lib/new_relic/agent/span_event_aggregator.rb +13 -13
- data/lib/new_relic/agent/span_event_primitive.rb +85 -54
- data/lib/new_relic/agent/sql_sampler.rb +20 -20
- data/lib/new_relic/agent/stats.rb +79 -42
- data/lib/new_relic/agent/stats_engine/gc_profiler.rb +11 -13
- data/lib/new_relic/agent/stats_engine/stats_hash.rb +13 -14
- data/lib/new_relic/agent/stats_engine.rb +9 -9
- data/lib/new_relic/agent/synthetics_event_aggregator.rb +8 -9
- data/lib/new_relic/agent/system_info.rb +95 -66
- data/lib/new_relic/agent/threading/agent_thread.rb +19 -15
- data/lib/new_relic/agent/threading/backtrace_node.rb +13 -14
- data/lib/new_relic/agent/threading/backtrace_service.rb +15 -15
- data/lib/new_relic/agent/threading/thread_profile.rb +24 -24
- data/lib/new_relic/agent/timestamp_sampled_buffer.rb +2 -2
- data/lib/new_relic/agent/tracer.rb +81 -86
- data/lib/new_relic/agent/transaction/abstract_segment.rb +107 -43
- data/lib/new_relic/agent/transaction/datastore_segment.rb +22 -18
- data/lib/new_relic/agent/transaction/distributed_tracer.rb +67 -54
- data/lib/new_relic/agent/transaction/distributed_tracing.rb +45 -46
- data/lib/new_relic/agent/transaction/external_request_segment.rb +47 -37
- data/lib/new_relic/agent/transaction/message_broker_segment.rb +32 -36
- data/lib/new_relic/agent/transaction/request_attributes.rb +36 -36
- data/lib/new_relic/agent/transaction/segment.rb +41 -11
- data/lib/new_relic/agent/transaction/slowest_sample_buffer.rb +2 -4
- data/lib/new_relic/agent/transaction/synthetics_sample_buffer.rb +2 -2
- data/lib/new_relic/agent/transaction/trace.rb +16 -12
- data/lib/new_relic/agent/transaction/trace_builder.rb +11 -11
- data/lib/new_relic/agent/transaction/trace_context.rb +36 -36
- data/lib/new_relic/agent/transaction/trace_node.rb +26 -25
- data/lib/new_relic/agent/transaction/tracing.rb +15 -12
- data/lib/new_relic/agent/transaction/transaction_sample_buffer.rb +6 -6
- data/lib/new_relic/agent/transaction.rb +182 -146
- data/lib/new_relic/agent/transaction_error_primitive.rb +29 -27
- data/lib/new_relic/agent/transaction_event_aggregator.rb +13 -13
- data/lib/new_relic/agent/transaction_event_primitive.rb +34 -35
- data/lib/new_relic/agent/transaction_event_recorder.rb +17 -16
- data/lib/new_relic/agent/transaction_metrics.rb +11 -10
- data/lib/new_relic/agent/transaction_sampler.rb +6 -7
- data/lib/new_relic/agent/transaction_time_aggregator.rb +27 -26
- data/lib/new_relic/agent/utilization/aws.rb +34 -4
- data/lib/new_relic/agent/utilization/azure.rb +4 -4
- data/lib/new_relic/agent/utilization/gcp.rb +8 -8
- data/lib/new_relic/agent/utilization/pcf.rb +6 -5
- data/lib/new_relic/agent/utilization/vendor.rb +44 -29
- data/lib/new_relic/agent/utilization_data.rb +8 -6
- data/lib/new_relic/agent/vm/jruby_vm.rb +2 -2
- data/lib/new_relic/agent/vm/monotonic_gc_profiler.rb +3 -3
- data/lib/new_relic/agent/vm/mri_vm.rb +46 -19
- data/lib/new_relic/agent/vm/snapshot.rb +6 -6
- data/lib/new_relic/agent/vm.rb +2 -2
- data/lib/new_relic/agent/worker_loop.rb +11 -13
- data/lib/new_relic/agent.rb +80 -76
- data/lib/new_relic/cli/command.rb +21 -23
- data/lib/new_relic/cli/commands/deployments.rb +93 -44
- data/lib/new_relic/cli/commands/install.rb +13 -16
- data/lib/new_relic/coerce.rb +16 -14
- data/lib/new_relic/collection_helper.rb +51 -49
- data/lib/new_relic/constants.rb +7 -2
- data/lib/new_relic/control/class_methods.rb +4 -4
- data/lib/new_relic/control/frameworks/external.rb +3 -3
- data/lib/new_relic/control/frameworks/rails.rb +24 -18
- data/lib/new_relic/control/frameworks/rails3.rb +4 -5
- data/lib/new_relic/control/frameworks/rails4.rb +2 -2
- data/lib/new_relic/control/frameworks/rails_notifications.rb +2 -2
- data/lib/new_relic/control/frameworks/ruby.rb +4 -4
- data/lib/new_relic/control/frameworks/sinatra.rb +8 -2
- data/lib/new_relic/control/frameworks.rb +2 -2
- data/lib/new_relic/control/instance_methods.rb +28 -46
- data/lib/new_relic/control/instrumentation.rb +40 -12
- data/lib/new_relic/control/private_instance_methods.rb +48 -0
- data/lib/new_relic/control/server_methods.rb +4 -5
- data/lib/new_relic/control.rb +2 -3
- data/lib/new_relic/delayed_job_injection.rb +2 -2
- data/lib/new_relic/dependency_detection.rb +129 -18
- data/lib/new_relic/environment_report.rb +41 -35
- data/lib/new_relic/helper.rb +49 -8
- data/lib/new_relic/language_support.rb +30 -6
- data/lib/new_relic/latest_changes.rb +9 -8
- data/lib/new_relic/local_environment.rb +25 -19
- data/lib/new_relic/metric_data.rb +32 -27
- data/lib/new_relic/metric_spec.rb +9 -7
- data/lib/new_relic/noticed_error.rb +23 -31
- data/lib/new_relic/rack/agent_hooks.rb +2 -2
- data/lib/new_relic/rack/agent_middleware.rb +6 -4
- data/lib/new_relic/rack/browser_monitoring.rb +134 -124
- data/lib/new_relic/rack.rb +2 -2
- data/lib/new_relic/recipes/capistrano3.rb +4 -62
- data/lib/new_relic/recipes/capistrano_legacy.rb +24 -27
- data/lib/new_relic/recipes/helpers/send_deployment.rb +70 -0
- data/lib/new_relic/recipes.rb +2 -2
- data/lib/new_relic/supportability_helper.rb +12 -11
- data/lib/new_relic/traced_thread.rb +39 -0
- data/lib/new_relic/version.rb +7 -18
- data/lib/newrelic_rpm.rb +20 -33
- data/lib/sequel/extensions/newrelic_instrumentation.rb +14 -17
- data/lib/sequel/plugins/newrelic_instrumentation.rb +6 -12
- data/lib/tasks/all.rb +4 -4
- data/lib/tasks/config.rake +22 -117
- data/lib/tasks/coverage_report.rake +28 -0
- data/lib/tasks/helpers/config.html.erb +21 -0
- data/lib/tasks/{config.text.erb → helpers/config.text.erb} +0 -0
- data/lib/tasks/helpers/format.rb +123 -0
- data/lib/tasks/helpers/matches.rb +12 -0
- data/lib/tasks/helpers/prompt.rb +24 -0
- data/lib/tasks/helpers/removers.rb +33 -0
- data/lib/tasks/install.rake +4 -0
- data/lib/tasks/instrumentation_generator/README.md +63 -0
- data/lib/tasks/instrumentation_generator/TODO.md +33 -0
- data/lib/tasks/instrumentation_generator/instrumentation.thor +124 -0
- data/lib/tasks/instrumentation_generator/templates/Envfile.tt +9 -0
- data/lib/tasks/instrumentation_generator/templates/chain.tt +22 -0
- data/lib/tasks/instrumentation_generator/templates/chain_method.tt +8 -0
- data/lib/tasks/instrumentation_generator/templates/dependency_detection.tt +29 -0
- data/lib/tasks/instrumentation_generator/templates/instrumentation.tt +13 -0
- data/lib/tasks/instrumentation_generator/templates/instrumentation_method.tt +3 -0
- data/lib/tasks/instrumentation_generator/templates/newrelic.yml.tt +19 -0
- data/lib/tasks/instrumentation_generator/templates/prepend.tt +13 -0
- data/lib/tasks/instrumentation_generator/templates/prepend_method.tt +3 -0
- data/lib/tasks/instrumentation_generator/templates/test.tt +15 -0
- data/lib/tasks/multiverse.rake +4 -0
- data/lib/tasks/multiverse.rb +7 -25
- data/lib/tasks/newrelic.rb +2 -2
- data/lib/tasks/tests.rake +11 -16
- data/newrelic.yml +666 -3
- data/newrelic_rpm.gemspec +28 -27
- data/recipes/newrelic.rb +3 -3
- data/test/agent_helper.rb +245 -189
- metadata +182 -130
- data/.travis.yml +0 -225
- data/bin/mongrel_rpm +0 -33
- data/cert/cacert.pem +0 -1177
- data/lib/new_relic/agent/datastores/mongo/obfuscator.rb +0 -44
- data/lib/new_relic/agent/datastores/mongo/statement_formatter.rb +0 -53
- data/lib/new_relic/agent/instrumentation/excon/connection.rb +0 -49
- data/lib/new_relic/agent/instrumentation/http.rb +0 -49
- data/lib/new_relic/agent/instrumentation/merb/controller.rb +0 -44
- data/lib/new_relic/agent/instrumentation/merb/errors.rb +0 -33
- data/lib/new_relic/agent/instrumentation/net.rb +0 -53
- data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +0 -125
- data/lib/new_relic/agent/instrumentation/rails/action_web_service.rb +0 -46
- data/lib/new_relic/agent/supported_versions.rb +0 -275
- data/lib/new_relic/build.rb +0 -2
- data/lib/new_relic/control/frameworks/merb.rb +0 -29
- data/lib/new_relic/metrics.rb +0 -13
- data/lib/tasks/config.html.erb +0 -32
- data/true +0 -0
@@ -1,20 +1,56 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
# This file is distributed under New Relic's license terms.
|
3
|
-
# See https://github.com/newrelic/
|
2
|
+
# See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
|
3
|
+
# frozen_string_literal: true
|
4
4
|
|
5
5
|
require 'forwardable'
|
6
6
|
|
7
7
|
module NewRelic
|
8
8
|
module Agent
|
9
9
|
module Configuration
|
10
|
-
|
11
10
|
# Helper since default Procs are evaluated in the context of this module
|
12
11
|
def self.value_of(key)
|
13
|
-
|
12
|
+
proc do
|
14
13
|
NewRelic::Agent.config[key]
|
15
14
|
end
|
16
15
|
end
|
17
16
|
|
17
|
+
# Combines potentially two properties into one.
|
18
|
+
# Given the example:
|
19
|
+
# :disable_net_http and :prepend_net_instrumentation
|
20
|
+
# if :disable_net_http is true, then returned value is "disabled"
|
21
|
+
# if :prepend_net_instrumentation is false, then returned value is "chain"
|
22
|
+
# otherwise, "auto" is returned.
|
23
|
+
#
|
24
|
+
# Intent is:
|
25
|
+
# - if user sets disable_xxx property, then don't instrument
|
26
|
+
# - if user set prepend to `false` then we use method_alias chaining
|
27
|
+
# - auto, when returned means, try to use prepend unless conflicting gems discovered
|
28
|
+
#
|
29
|
+
def self.instrumentation_value_of(disable_key, prepend_key = nil)
|
30
|
+
proc do
|
31
|
+
if NewRelic::Agent.config[disable_key]
|
32
|
+
"disabled"
|
33
|
+
elsif prepend_key && !NewRelic::Agent.config[prepend_key]
|
34
|
+
"chain"
|
35
|
+
else
|
36
|
+
"auto"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.instrumentation_value_from_boolean(key)
|
42
|
+
proc do
|
43
|
+
NewRelic::Agent.config[key] ? 'auto' : 'disabled'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# Marks the config option as deprecated in the documentation once generated.
|
48
|
+
# Does not appear in logs.
|
49
|
+
def self.deprecated_description(new_setting, description)
|
50
|
+
link_ref = new_setting.to_s.tr(".", "-")
|
51
|
+
%{Please see: [#{new_setting}](docs/agents/ruby-agent/configuration/ruby-agent-configuration##{link_ref}). \n\n#{description}}
|
52
|
+
end
|
53
|
+
|
18
54
|
class Boolean
|
19
55
|
def self.===(o)
|
20
56
|
TrueClass === o or FalseClass === o
|
@@ -45,26 +81,33 @@ module NewRelic
|
|
45
81
|
end
|
46
82
|
|
47
83
|
def self.config_search_paths
|
48
|
-
|
84
|
+
proc {
|
49
85
|
paths = [
|
50
|
-
File.join("config","newrelic.yml"),
|
51
|
-
File.join("newrelic.yml")
|
86
|
+
File.join("config", "newrelic.yml"),
|
87
|
+
File.join("newrelic.yml"),
|
88
|
+
File.join("config", "newrelic.yml.erb"),
|
89
|
+
File.join("newrelic.yml.erb")
|
52
90
|
]
|
53
91
|
|
54
92
|
if NewRelic::Control.instance.root
|
55
93
|
paths << File.join(NewRelic::Control.instance.root, "config", "newrelic.yml")
|
56
94
|
paths << File.join(NewRelic::Control.instance.root, "newrelic.yml")
|
95
|
+
paths << File.join(NewRelic::Control.instance.root, "config", "newrelic.yml.erb")
|
96
|
+
paths << File.join(NewRelic::Control.instance.root, "newrelic.yml.erb")
|
57
97
|
end
|
58
98
|
|
59
|
-
if ENV[
|
60
|
-
paths << File.join(ENV[
|
61
|
-
paths << File.join(ENV[
|
99
|
+
if ENV['HOME']
|
100
|
+
paths << File.join(ENV['HOME'], ".newrelic", "newrelic.yml")
|
101
|
+
paths << File.join(ENV['HOME'], "newrelic.yml")
|
102
|
+
paths << File.join(ENV['HOME'], ".newrelic", "newrelic.yml.erb")
|
103
|
+
paths << File.join(ENV['HOME'], "newrelic.yml.erb")
|
62
104
|
end
|
63
105
|
|
64
106
|
# If we're packaged for warbler, we can tell from GEM_HOME
|
65
107
|
if ENV["GEM_HOME"] && ENV["GEM_HOME"].end_with?(".jar!")
|
66
108
|
app_name = File.basename(ENV["GEM_HOME"], ".jar!")
|
67
109
|
paths << File.join(ENV["GEM_HOME"], app_name, "config", "newrelic.yml")
|
110
|
+
paths << File.join(ENV["GEM_HOME"], app_name, "config", "newrelic.yml.erb")
|
68
111
|
end
|
69
112
|
|
70
113
|
paths
|
@@ -72,29 +115,27 @@ module NewRelic
|
|
72
115
|
end
|
73
116
|
|
74
117
|
def self.config_path
|
75
|
-
|
118
|
+
proc {
|
76
119
|
found_path = NewRelic::Agent.config[:config_search_paths].detect do |file|
|
77
|
-
File.expand_path(file) if File.exist?
|
120
|
+
File.expand_path(file) if File.exist?(file)
|
78
121
|
end
|
79
|
-
found_path ||
|
122
|
+
found_path || NewRelic::EMPTY_STR
|
80
123
|
}
|
81
124
|
end
|
82
125
|
|
83
126
|
def self.framework
|
84
|
-
|
127
|
+
proc {
|
85
128
|
case
|
86
129
|
when defined?(::NewRelic::TEST) then :test
|
87
|
-
when defined?(::Merb) && defined?(::Merb::Plugins) then :merb
|
88
130
|
when defined?(::Rails::VERSION)
|
89
131
|
case Rails::VERSION::MAJOR
|
90
|
-
when 0..2
|
91
|
-
:rails
|
92
132
|
when 3
|
93
133
|
:rails3
|
94
|
-
when 4..
|
134
|
+
when 4..7
|
95
135
|
:rails_notifications
|
96
136
|
else
|
97
|
-
::NewRelic::Agent.logger.
|
137
|
+
::NewRelic::Agent.logger.warn("Detected untested Rails version #{Rails::VERSION::STRING}")
|
138
|
+
:rails_notifications
|
98
139
|
end
|
99
140
|
when defined?(::Sinatra) && defined?(::Sinatra::Base) then :sinatra
|
100
141
|
when defined?(::NewRelic::IA) then :external
|
@@ -104,19 +145,19 @@ module NewRelic
|
|
104
145
|
end
|
105
146
|
|
106
147
|
def self.agent_enabled
|
107
|
-
|
148
|
+
proc {
|
108
149
|
NewRelic::Agent.config[:enabled] &&
|
109
|
-
|
110
|
-
|
150
|
+
(NewRelic::Agent.config[:test_mode] || NewRelic::Agent.config[:monitor_mode]) &&
|
151
|
+
NewRelic::Agent::Autostart.agent_should_start?
|
111
152
|
}
|
112
153
|
end
|
113
154
|
|
114
155
|
DEFAULT_LOG_DIR = 'log/'.freeze
|
115
156
|
|
116
157
|
def self.audit_log_path
|
117
|
-
|
158
|
+
proc {
|
118
159
|
log_file_path = NewRelic::Agent.config[:log_file_path]
|
119
|
-
wants_stdout
|
160
|
+
wants_stdout = (log_file_path.casecmp(NewRelic::STANDARD_OUT) == 0)
|
120
161
|
audit_log_dir = wants_stdout ? DEFAULT_LOG_DIR : log_file_path
|
121
162
|
|
122
163
|
File.join(audit_log_dir, 'newrelic_audit.log')
|
@@ -124,30 +165,30 @@ module NewRelic
|
|
124
165
|
end
|
125
166
|
|
126
167
|
def self.app_name
|
127
|
-
|
168
|
+
proc { NewRelic::Control.instance.env }
|
128
169
|
end
|
129
170
|
|
130
171
|
def self.dispatcher
|
131
|
-
|
172
|
+
proc { NewRelic::Control.instance.local_env.discovered_dispatcher }
|
132
173
|
end
|
133
174
|
|
134
175
|
def self.thread_profiler_enabled
|
135
|
-
|
176
|
+
proc { NewRelic::Agent::Threading::BacktraceService.is_supported? }
|
136
177
|
end
|
137
178
|
|
138
179
|
# This check supports the js_errors_beta key we've asked clients to
|
139
180
|
# set. Once JS errors are GA, browser_monitoring.loader can stop
|
140
181
|
# being dynamic.
|
141
182
|
def self.browser_monitoring_loader
|
142
|
-
|
183
|
+
proc { NewRelic::Agent.config[:js_errors_beta] ? "full" : "rum" }
|
143
184
|
end
|
144
185
|
|
145
186
|
def self.transaction_tracer_transaction_threshold
|
146
|
-
|
187
|
+
proc { NewRelic::Agent.config[:apdex_t] * 4 }
|
147
188
|
end
|
148
189
|
|
149
190
|
def self.profiling_available
|
150
|
-
|
191
|
+
proc {
|
151
192
|
begin
|
152
193
|
require 'ruby-prof'
|
153
194
|
true
|
@@ -158,7 +199,7 @@ module NewRelic
|
|
158
199
|
end
|
159
200
|
|
160
201
|
def self.host
|
161
|
-
|
202
|
+
proc do
|
162
203
|
regex = /\A(?<identifier>.+?)x/
|
163
204
|
if matches = regex.match(String(NewRelic::Agent.config[:license_key]))
|
164
205
|
"collector.#{matches['identifier']}.nr-data.net"
|
@@ -169,12 +210,16 @@ module NewRelic
|
|
169
210
|
end
|
170
211
|
|
171
212
|
def self.api_host
|
172
|
-
|
173
|
-
|
174
|
-
|
213
|
+
# only used for deployment task
|
214
|
+
proc do
|
215
|
+
api_version = if NewRelic::Agent.config[:api_key].nil? || NewRelic::Agent.config[:api_key].empty?
|
216
|
+
"rpm"
|
175
217
|
else
|
176
|
-
|
218
|
+
"api"
|
177
219
|
end
|
220
|
+
api_region = "eu." if String(NewRelic::Agent.config[:license_key]).start_with?('eu')
|
221
|
+
|
222
|
+
"#{api_version}.#{api_region}newrelic.com"
|
178
223
|
end
|
179
224
|
end
|
180
225
|
|
@@ -197,30 +242,28 @@ module NewRelic
|
|
197
242
|
end
|
198
243
|
|
199
244
|
SEMICOLON = ';'.freeze
|
200
|
-
def self.convert_to_list_on_semicolon
|
245
|
+
def self.convert_to_list_on_semicolon(value)
|
201
246
|
case value
|
202
247
|
when Array then value
|
203
248
|
when String then value.split(SEMICOLON)
|
204
|
-
else
|
249
|
+
else NewRelic::EMPTY_ARRAY
|
205
250
|
end
|
206
251
|
end
|
207
252
|
|
208
253
|
def self.convert_to_constant_list(raw_value)
|
209
|
-
|
210
|
-
const_names.map! do |class_name|
|
211
|
-
const = ::NewRelic::LanguageSupport.constantize(class_name)
|
212
|
-
|
213
|
-
unless const
|
214
|
-
NewRelic::Agent.logger.warn("Ignoring unrecognized constant '#{class_name}' in #{raw_value}")
|
215
|
-
end
|
254
|
+
return NewRelic::EMPTY_ARRAY if raw_value.nil? || raw_value.empty?
|
216
255
|
|
256
|
+
constants = convert_to_list(raw_value).map! do |class_name|
|
257
|
+
const = ::NewRelic::LanguageSupport.constantize(class_name)
|
258
|
+
NewRelic::Agent.logger.warn("Ignoring invalid constant '#{class_name}' in #{raw_value}") unless const
|
217
259
|
const
|
218
260
|
end
|
219
|
-
|
261
|
+
constants.compact!
|
262
|
+
constants
|
220
263
|
end
|
221
264
|
|
222
265
|
def self.enforce_fallback(allowed_values: nil, fallback: nil)
|
223
|
-
|
266
|
+
proc do |configured_value|
|
224
267
|
if allowed_values.any? { |v| v =~ /#{configured_value}/i }
|
225
268
|
configured_value
|
226
269
|
else
|
@@ -283,27 +326,14 @@ module NewRelic
|
|
283
326
|
].join(',').freeze
|
284
327
|
|
285
328
|
DEFAULTS = {
|
286
|
-
|
287
|
-
:default => '',
|
288
|
-
:public => true,
|
289
|
-
:type => String,
|
290
|
-
:allowed_from_server => false,
|
291
|
-
:description => 'Your New Relic <a href="https://docs.newrelic.com/docs/accounts-partnerships/accounts/account-setup/license-key">license key</a>.'
|
292
|
-
},
|
329
|
+
# Critical
|
293
330
|
:agent_enabled => {
|
294
331
|
:default => DefaultSource.agent_enabled,
|
332
|
+
:documentation_default => true,
|
295
333
|
:public => true,
|
296
334
|
:type => Boolean,
|
297
335
|
:allowed_from_server => false,
|
298
|
-
:description => 'If
|
299
|
-
},
|
300
|
-
:enabled => {
|
301
|
-
:default => true,
|
302
|
-
:public => false,
|
303
|
-
:type => Boolean,
|
304
|
-
:aliases => [:enable],
|
305
|
-
:allowed_from_server => false,
|
306
|
-
:description => 'Enable or disable the agent.'
|
336
|
+
:description => 'If `true`, allows the Ruby agent to run.'
|
307
337
|
},
|
308
338
|
:app_name => {
|
309
339
|
:default => DefaultSource.app_name,
|
@@ -311,105 +341,92 @@ module NewRelic
|
|
311
341
|
:type => String,
|
312
342
|
:allowed_from_server => false,
|
313
343
|
:transform => DefaultSource.method(:convert_to_list_on_semicolon),
|
314
|
-
:description => 'Specify the
|
344
|
+
:description => 'Specify the [application name](/docs/apm/new-relic-apm/installation-configuration/name-your-application) used to aggregate data in the New Relic UI. To report data to [multiple apps at the same time](/docs/apm/new-relic-apm/installation-configuration/using-multiple-names-app), specify a list of names separated by a semicolon `;`. For example, `MyApp` or `MyStagingApp;Instance1`.'
|
315
345
|
},
|
316
|
-
:
|
317
|
-
:default =>
|
318
|
-
:allow_nil => true,
|
346
|
+
:license_key => {
|
347
|
+
:default => '',
|
319
348
|
:public => true,
|
320
349
|
:type => String,
|
321
|
-
:allowed_from_server => true,
|
322
|
-
:description => 'The <a href="https://docs.newrelic.com/attribute-dictionary/span/entityguid">Entity GUID</a> for the entity running this agent.'
|
323
|
-
},
|
324
|
-
:monitor_mode => {
|
325
|
-
:default => value_of(:enabled),
|
326
|
-
:public => true,
|
327
|
-
:type => Boolean,
|
328
|
-
:allowed_from_server => false,
|
329
|
-
:description => 'When <code>true</code>, the agent transmits data about your app to the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>.'
|
330
|
-
},
|
331
|
-
:test_mode => {
|
332
|
-
:default => false,
|
333
|
-
:public => false,
|
334
|
-
:type => Boolean,
|
335
350
|
:allowed_from_server => false,
|
336
|
-
:description => '
|
351
|
+
:description => 'Your New Relic [license key](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key).'
|
337
352
|
},
|
338
353
|
:log_level => {
|
339
354
|
:default => 'info',
|
340
355
|
:public => true,
|
341
356
|
:type => String,
|
342
357
|
:allowed_from_server => false,
|
343
|
-
:description => 'Sets the level of detail of log messages. Possible log levels, in increasing verbosity, are:
|
358
|
+
:description => 'Sets the level of detail of log messages. Possible log levels, in increasing verbosity, are: `error`, `warn`, `info` or `debug`.'
|
344
359
|
},
|
345
|
-
|
346
|
-
|
360
|
+
# General
|
361
|
+
:active_support_custom_events_names => {
|
362
|
+
:default => [],
|
347
363
|
:public => true,
|
348
|
-
:type =>
|
364
|
+
:type => Array,
|
349
365
|
:allowed_from_server => false,
|
350
|
-
:description =>
|
366
|
+
:description => <<-DESCRIPTION
|
367
|
+
An array of ActiveSupport custom events names to subscribe to and provide
|
368
|
+
instrumentation for. For example,
|
369
|
+
- my.custom.event
|
370
|
+
- another.event
|
371
|
+
- a.third.event
|
372
|
+
DESCRIPTION
|
351
373
|
},
|
352
|
-
:
|
353
|
-
:default =>
|
374
|
+
:apdex_t => {
|
375
|
+
:default => 0.5,
|
354
376
|
:public => true,
|
355
|
-
:type =>
|
356
|
-
:allowed_from_server =>
|
357
|
-
:
|
377
|
+
:type => Float,
|
378
|
+
:allowed_from_server => true,
|
379
|
+
:deprecated => true,
|
380
|
+
:description => 'For agent versions 3.5.0 or higher, [set your Apdex T via the New Relic UI](/docs/apm/new-relic-apm/apdex/changing-your-apdex-settings).'
|
358
381
|
},
|
359
|
-
:
|
360
|
-
:default =>
|
361
|
-
:allow_nil => true,
|
382
|
+
:api_key => {
|
383
|
+
:default => '',
|
362
384
|
:public => true,
|
363
385
|
:type => String,
|
364
386
|
:allowed_from_server => false,
|
365
|
-
:description => '
|
387
|
+
:description => 'Your New Relic [user key](/docs/apis/intro-apis/new-relic-api-keys/#overview-keys). Required when using the New Relic REST API v2 to record deployments using the `newrelic deployments` command.'
|
366
388
|
},
|
367
|
-
:
|
368
|
-
:default =>
|
369
|
-
:allow_nil => true,
|
389
|
+
:backport_fast_active_record_connection_lookup => {
|
390
|
+
:default => false,
|
370
391
|
:public => true,
|
371
|
-
:type =>
|
392
|
+
:type => Boolean,
|
372
393
|
:allowed_from_server => false,
|
373
|
-
:description => '
|
394
|
+
:description => '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.'
|
374
395
|
},
|
375
|
-
:
|
396
|
+
:ca_bundle_path => {
|
376
397
|
:default => nil,
|
377
398
|
:allow_nil => true,
|
378
399
|
:public => true,
|
379
400
|
:type => String,
|
380
401
|
:allowed_from_server => false,
|
381
|
-
:
|
382
|
-
:description => 'Defines a user for communicating with the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a> via a proxy server.'
|
402
|
+
:description => "Manual override for the path to your local CA bundle. This CA bundle will be used to validate the SSL certificate presented by New Relic's data collection service."
|
383
403
|
},
|
384
|
-
:
|
385
|
-
:default =>
|
386
|
-
:allow_nil => true,
|
404
|
+
:capture_memcache_keys => {
|
405
|
+
:default => false,
|
387
406
|
:public => true,
|
388
|
-
:type =>
|
389
|
-
:allowed_from_server =>
|
390
|
-
:
|
391
|
-
:description => 'Defines a password for communicating with the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a> via a proxy server.'
|
407
|
+
:type => Boolean,
|
408
|
+
:allowed_from_server => true,
|
409
|
+
:description => 'Enable or disable the capture of memcache keys from transaction traces.'
|
392
410
|
},
|
393
411
|
:capture_params => {
|
394
412
|
:default => false,
|
395
413
|
:public => true,
|
396
414
|
:type => Boolean,
|
397
415
|
:allowed_from_server => false,
|
398
|
-
:description =>
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
'</div>'
|
416
|
+
:description => <<-DESCRIPTION
|
417
|
+
When `true`, the agent captures HTTP request parameters and attaches them to transaction traces, traced errors, and [`TransactionError` events](/attribute-dictionary?attribute_name=&events_tids%5B%5D=8241).
|
418
|
+
|
419
|
+
<Callout variant="caution">
|
420
|
+
When using the `capture_params` setting, the Ruby agent will not attempt to filter secret information. <b>Recommendation:</b> To filter secret information from request parameters, use the [`attributes.include` setting](/docs/agents/ruby-agent/attributes/enable-disable-attributes-ruby) instead. For more information, see the <a href="/docs/agents/ruby-agent/attributes/ruby-attribute-examples#ex_req_params">Ruby attribute examples</a>.
|
421
|
+
</Callout>
|
422
|
+
DESCRIPTION
|
423
|
+
},
|
424
|
+
:'clear_transaction_state_after_fork' => {
|
425
|
+
:default => false,
|
426
|
+
:public => true,
|
427
|
+
:type => Boolean,
|
428
|
+
:allowed_from_server => false,
|
429
|
+
:description => 'If `true`, the agent will clear `Tracer::State` in `Agent.drop_buffered_data`.'
|
413
430
|
},
|
414
431
|
:config_path => {
|
415
432
|
:default => DefaultSource.config_path,
|
@@ -418,1487 +435,2028 @@ module NewRelic
|
|
418
435
|
:allowed_from_server => false,
|
419
436
|
:description => 'Path to <b>newrelic.yml</b>. If undefined, the agent checks the following directories (in order): <b>config/newrelic.yml</b>, <b>newrelic.yml</b>, <b>$HOME/.newrelic/newrelic.yml</b> and <b>$HOME/newrelic.yml</b>.'
|
420
437
|
},
|
421
|
-
:
|
422
|
-
:default =>
|
423
|
-
:public =>
|
424
|
-
:type =>
|
425
|
-
:allowed_from_server =>
|
426
|
-
:description => "
|
427
|
-
},
|
428
|
-
:dispatcher => {
|
429
|
-
:default => DefaultSource.dispatcher,
|
430
|
-
:public => false,
|
431
|
-
:type => Symbol,
|
432
|
-
:allowed_from_server => false,
|
433
|
-
:description => 'Autodetected application component that reports metrics to New Relic.'
|
434
|
-
},
|
435
|
-
:framework => {
|
436
|
-
:default => DefaultSource.framework,
|
437
|
-
:public => false,
|
438
|
-
:type => Symbol,
|
439
|
-
:allowed_from_server => false,
|
440
|
-
:description => 'Autodetected application framework used to enable framework-specific functionality.'
|
438
|
+
:'exclude_newrelic_header' => {
|
439
|
+
:default => false,
|
440
|
+
:public => true,
|
441
|
+
:type => Boolean,
|
442
|
+
:allowed_from_server => true,
|
443
|
+
:description => "Allows newrelic distributed tracing headers to be suppressed on outbound requests."
|
441
444
|
},
|
442
|
-
:
|
443
|
-
:default =>
|
445
|
+
:force_install_exit_handler => {
|
446
|
+
:default => false,
|
444
447
|
:public => true,
|
445
|
-
:type =>
|
448
|
+
:type => Boolean,
|
446
449
|
:allowed_from_server => false,
|
447
|
-
:description => '
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
450
|
+
:description => 'Forces the exit handler that sends all cached data to collector ' \
|
451
|
+
'before shutting down to be installed regardless of detecting scenarios where it generally should not be. ' \
|
452
|
+
'Known use-case for this option is where Sinatra is running as an embedded service within another framework ' \
|
453
|
+
'and the agent is detecting the Sinatra app and skipping the `at_exit` handler as a result. Sinatra classically ' \
|
454
|
+
'runs the entire application in an `at_exit` block and would otherwise misbehave if the Agent\'s `at_exit` handler ' \
|
455
|
+
'was also installed in those circumstances. Note: `send_data_on_exit` should also be set to `true` in tandem with this setting.'
|
452
456
|
},
|
453
|
-
:
|
454
|
-
:default =>
|
457
|
+
:high_security => {
|
458
|
+
:default => false,
|
455
459
|
:public => true,
|
456
|
-
:type =>
|
460
|
+
:type => Boolean,
|
457
461
|
:allowed_from_server => false,
|
458
|
-
:description => '
|
462
|
+
:description => 'If `true`, enables [high security mode](/docs/accounts-partnerships/accounts/security/high-security). Ensure you understand the implications of high security mode before enabling this setting.'
|
459
463
|
},
|
460
|
-
:
|
461
|
-
:default => '
|
464
|
+
:labels => {
|
465
|
+
:default => '',
|
462
466
|
:public => true,
|
463
467
|
:type => String,
|
464
468
|
:allowed_from_server => false,
|
465
|
-
:description => '
|
466
|
-
'For agent versions 6.8.0 or higher, ' \
|
467
|
-
'use <a href="#autostart-denylisted_executables"><code>' \
|
468
|
-
'autostart.denylisted_executables' \
|
469
|
-
'</code></a> instead.'
|
469
|
+
:description => 'A dictionary of [label names](/docs/data-analysis/user-interface-functions/labels-categories-organize-your-apps-servers) and values that will be applied to the data sent from this agent. May also be expressed as a semicolon-delimited `;` string of colon-separated `:` pairs. For example, `<var>Server</var>:<var>One</var>;<var>Data Center</var>:<var>Primary</var>`.'
|
470
470
|
},
|
471
|
-
:
|
472
|
-
:default =>
|
471
|
+
:log_file_name => {
|
472
|
+
:default => 'newrelic_agent.log',
|
473
473
|
:public => true,
|
474
474
|
:type => String,
|
475
475
|
:allowed_from_server => false,
|
476
|
-
:description => 'Defines a
|
476
|
+
:description => 'Defines a name for the log file.'
|
477
477
|
},
|
478
|
-
:
|
479
|
-
:default =>
|
478
|
+
:log_file_path => {
|
479
|
+
:default => DefaultSource::DEFAULT_LOG_DIR,
|
480
480
|
:public => true,
|
481
481
|
:type => String,
|
482
482
|
:allowed_from_server => false,
|
483
|
-
:description => '
|
484
|
-
'For agent versions 6.8.0 or higher, ' \
|
485
|
-
'use <a href="#autostart-denylisted_rake_tasks"><code>' \
|
486
|
-
'autostart.denylisted_rake_tasks' \
|
487
|
-
'</code></a> instead.'
|
483
|
+
:description => 'Defines a path to the agent log file, excluding the filename.'
|
488
484
|
},
|
489
|
-
:
|
490
|
-
:default =>
|
485
|
+
:marshaller => {
|
486
|
+
:default => 'json',
|
491
487
|
:public => true,
|
492
488
|
:type => String,
|
493
489
|
:allowed_from_server => false,
|
494
|
-
:description => '
|
490
|
+
:description => 'Specifies a marshaller for transmitting data to the New Relic [collector](/docs/apm/new-relic-apm/getting-started/glossary#collector). Currently `json` is the only valid value for this setting.'
|
495
491
|
},
|
496
|
-
:
|
497
|
-
:default =>
|
492
|
+
:monitor_mode => {
|
493
|
+
:default => value_of(:enabled),
|
494
|
+
:documentation_default => true,
|
498
495
|
:public => true,
|
499
496
|
:type => Boolean,
|
500
497
|
:allowed_from_server => false,
|
501
|
-
:description => '
|
498
|
+
: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).'
|
502
499
|
},
|
503
|
-
:
|
500
|
+
:prepend_active_record_instrumentation => {
|
504
501
|
:default => false,
|
505
|
-
:public =>
|
502
|
+
:public => true,
|
506
503
|
:type => Boolean,
|
507
504
|
:allowed_from_server => false,
|
508
|
-
:description => '
|
505
|
+
:description => 'If `true`, uses `Module#prepend` rather than `alias_method` for ActiveRecord instrumentation.'
|
509
506
|
},
|
510
|
-
:
|
511
|
-
:default =>
|
507
|
+
:proxy_host => {
|
508
|
+
:default => nil,
|
509
|
+
:allow_nil => true,
|
512
510
|
:public => true,
|
513
|
-
:type =>
|
511
|
+
:type => String,
|
514
512
|
:allowed_from_server => false,
|
515
|
-
:
|
516
|
-
:description => 'Specify an array of Rake tasks to automatically instrument.'
|
513
|
+
:description => 'Defines a host for communicating with the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector) via a proxy server.'
|
517
514
|
},
|
518
|
-
:
|
519
|
-
:default =>
|
515
|
+
:proxy_pass => {
|
516
|
+
:default => nil,
|
517
|
+
:allow_nil => true,
|
520
518
|
:public => true,
|
521
|
-
:type =>
|
519
|
+
:type => String,
|
522
520
|
:allowed_from_server => false,
|
523
|
-
:
|
524
|
-
|
525
|
-
:apdex_t => {
|
526
|
-
:default => 0.5,
|
527
|
-
:public => true,
|
528
|
-
:type => Float,
|
529
|
-
:allowed_from_server => true,
|
530
|
-
:deprecated => true,
|
531
|
-
:description => 'Deprecated. For agent versions 3.5.0 or higher, <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/apdex/changing-your-apdex-settings">set your Apdex T via the New Relic UI</a>.'
|
521
|
+
:exclude_from_reported_settings => true,
|
522
|
+
:description => 'Defines a password for communicating with the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector) via a proxy server.'
|
532
523
|
},
|
533
|
-
:
|
534
|
-
:default =>
|
524
|
+
:proxy_port => {
|
525
|
+
:default => 8080,
|
526
|
+
:allow_nil => true,
|
535
527
|
:public => true,
|
536
|
-
:type =>
|
528
|
+
:type => Integer,
|
537
529
|
:allowed_from_server => false,
|
538
|
-
:description => '
|
530
|
+
:description => 'Defines a port for communicating with the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector) via a proxy server.'
|
539
531
|
},
|
540
|
-
:
|
541
|
-
:default =>
|
532
|
+
:proxy_user => {
|
533
|
+
:default => nil,
|
534
|
+
:allow_nil => true,
|
542
535
|
:public => true,
|
543
536
|
:type => String,
|
544
|
-
:deprecated => true,
|
545
537
|
:allowed_from_server => false,
|
546
|
-
:
|
547
|
-
:description => '
|
548
|
-
'For agent versions 6.8.0 or higher, ' \
|
549
|
-
'use <a href="#strip_exception_messages.allowed_classes"><code>' \
|
550
|
-
'strip_exception_messages.allowed_classes' \
|
551
|
-
'</code></a> instead.'
|
538
|
+
:exclude_from_reported_settings => true,
|
539
|
+
:description => 'Defines a user for communicating with the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector) via a proxy server.'
|
552
540
|
},
|
553
|
-
:
|
541
|
+
:security_policies_token => {
|
554
542
|
:default => '',
|
555
543
|
:public => true,
|
556
544
|
:type => String,
|
557
545
|
:allowed_from_server => false,
|
558
|
-
:
|
559
|
-
:description => 'Specify a list of exceptions you do not want the agent to strip when <a href="#strip_exception_messages-enabled">strip_exception_messages</a> is <code>true</code>. Separate exceptions with a comma. For example, <code>"ImportantException,PreserveMessageException"</code>.'
|
546
|
+
:description => 'Applies Language Agent Security Policy settings.'
|
560
547
|
},
|
561
|
-
:
|
562
|
-
:default =>
|
563
|
-
:public =>
|
564
|
-
:type =>
|
548
|
+
:send_data_on_exit => {
|
549
|
+
:default => true,
|
550
|
+
:public => true,
|
551
|
+
:type => Boolean,
|
565
552
|
:allowed_from_server => false,
|
566
|
-
:description =>
|
553
|
+
:description => 'If `true`, enables the exit handler that sends data to the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector) before shutting down.'
|
567
554
|
},
|
568
|
-
:
|
569
|
-
:default =>
|
570
|
-
:public =>
|
571
|
-
:type =>
|
555
|
+
:sync_startup => {
|
556
|
+
:default => false,
|
557
|
+
:public => true,
|
558
|
+
:type => Boolean,
|
572
559
|
:allowed_from_server => false,
|
573
|
-
:description => '
|
560
|
+
:description => 'When set to `true`, forces a synchronous connection to the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector) during application startup. For very short-lived processes, this helps ensure the New Relic agent has time to report.'
|
574
561
|
},
|
575
|
-
:
|
576
|
-
:default =>
|
577
|
-
:public =>
|
562
|
+
:timeout => {
|
563
|
+
:default => 2 * 60, # 2 minutes
|
564
|
+
:public => true,
|
578
565
|
:type => Integer,
|
579
566
|
:allowed_from_server => false,
|
580
|
-
:description => '
|
567
|
+
:description => 'Defines the maximum number of seconds the agent should spend attempting to connect to the collector.'
|
581
568
|
},
|
582
|
-
|
583
|
-
|
584
|
-
:
|
585
|
-
:
|
569
|
+
# Transaction tracer
|
570
|
+
:'transaction_tracer.capture_attributes' => {
|
571
|
+
:default => true,
|
572
|
+
:public => true,
|
573
|
+
:type => Boolean,
|
574
|
+
:deprecated => true,
|
586
575
|
:allowed_from_server => false,
|
587
|
-
:description => '
|
576
|
+
:description => 'Use [`transaction_tracer.attributes.enabled`](#transaction_tracer-attributes-enabled) instead.'
|
588
577
|
},
|
589
|
-
:
|
590
|
-
:default =>
|
578
|
+
:'transaction_tracer.enabled' => {
|
579
|
+
:default => true,
|
591
580
|
:public => true,
|
592
581
|
:type => Boolean,
|
593
|
-
:allowed_from_server =>
|
594
|
-
:description => '
|
582
|
+
:allowed_from_server => true,
|
583
|
+
:description => 'If `true`, enables collection of [transaction traces](/docs/apm/traces/transaction-traces/transaction-traces).'
|
595
584
|
},
|
596
|
-
:
|
585
|
+
:'transaction_tracer.explain_enabled' => {
|
597
586
|
:default => true,
|
598
587
|
:public => true,
|
599
588
|
:type => Boolean,
|
600
|
-
:allowed_from_server =>
|
601
|
-
:description => 'If
|
589
|
+
:allowed_from_server => true,
|
590
|
+
:description => '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`](#slow_sql-explain_enabled) is not set separately.'
|
602
591
|
},
|
603
|
-
:
|
604
|
-
:default =>
|
605
|
-
:public =>
|
592
|
+
:'transaction_tracer.explain_threshold' => {
|
593
|
+
:default => 0.5,
|
594
|
+
:public => true,
|
595
|
+
:type => Float,
|
596
|
+
:allowed_from_server => true,
|
597
|
+
:description => 'Threshold (in seconds) above which the agent will collect explain plans. Relevant only when [`explain_enabled`](#transaction_tracer.explain_enabled) is true.'
|
598
|
+
},
|
599
|
+
:'transaction_tracer.limit_segments' => {
|
600
|
+
:default => 4000,
|
601
|
+
:public => true,
|
606
602
|
:type => Integer,
|
607
603
|
:allowed_from_server => true,
|
608
|
-
:description => 'Maximum number of
|
604
|
+
:description => 'Maximum number of transaction trace nodes to record in a single transaction trace.'
|
609
605
|
},
|
610
|
-
:
|
606
|
+
:'transaction_tracer.record_redis_arguments' => {
|
611
607
|
:default => false,
|
612
|
-
:public =>
|
608
|
+
:public => true,
|
613
609
|
:type => Boolean,
|
614
610
|
:allowed_from_server => false,
|
615
|
-
:description => '
|
611
|
+
:description => 'If `true`, the agent records Redis command arguments in transaction traces.'
|
616
612
|
},
|
617
|
-
:
|
618
|
-
:default => '
|
619
|
-
:public =>
|
613
|
+
:'transaction_tracer.record_sql' => {
|
614
|
+
:default => 'obfuscated',
|
615
|
+
:public => true,
|
620
616
|
:type => String,
|
621
|
-
:allowed_from_server =>
|
622
|
-
:description => '
|
617
|
+
:allowed_from_server => true,
|
618
|
+
:description => 'Obfuscation level for SQL queries reported in transaction trace nodes.
|
619
|
+
|
620
|
+
By default, this is set to `obfuscated`, which strips out the numeric and string literals.
|
621
|
+
|
622
|
+
- If you do not want the agent to capture query information, set this to `none`.
|
623
|
+
- If you want the agent to capture all query information in its original form, set this to `raw`.
|
624
|
+
- When you enable [high security mode](/docs/agents/manage-apm-agents/configuration/high-security-mode), this is automatically set to `obfuscated`.
|
625
|
+
'
|
623
626
|
},
|
624
|
-
|
625
|
-
|
626
|
-
:
|
627
|
-
:
|
628
|
-
:
|
629
|
-
:
|
627
|
+
|
628
|
+
:'transaction_tracer.stack_trace_threshold' => {
|
629
|
+
:default => 0.5,
|
630
|
+
:public => true,
|
631
|
+
:type => Float,
|
632
|
+
:allowed_from_server => true,
|
633
|
+
:description => 'Specify a threshold in seconds. The agent includes stack traces in transaction trace nodes when the stack trace duration exceeds this threshold.'
|
630
634
|
},
|
631
|
-
:
|
632
|
-
:default =>
|
635
|
+
:'transaction_tracer.transaction_threshold' => {
|
636
|
+
:default => DefaultSource.transaction_tracer_transaction_threshold,
|
633
637
|
:public => true,
|
634
|
-
:type =>
|
635
|
-
:allowed_from_server =>
|
636
|
-
:description => '
|
638
|
+
:type => Float,
|
639
|
+
:allowed_from_server => true,
|
640
|
+
:description => 'Specify a threshold in seconds. Transactions with a duration longer than this threshold are eligible for transaction traces. Specify a float value or the string `apdex_f`.'
|
637
641
|
},
|
638
|
-
|
642
|
+
# Error collector
|
643
|
+
:'error_collector.capture_attributes' => {
|
639
644
|
:default => true,
|
640
|
-
:public =>
|
645
|
+
:public => true,
|
641
646
|
:type => Boolean,
|
647
|
+
:deprecated => true,
|
642
648
|
:allowed_from_server => false,
|
643
|
-
:description => '
|
649
|
+
:description => 'Use [`error_collector.attributes.enabled`](#error_collector-attributes-enabled) instead.'
|
644
650
|
},
|
645
|
-
:
|
646
|
-
:default =>
|
647
|
-
:public =>
|
648
|
-
:type =>
|
651
|
+
:'error_collector.ignore_classes' => {
|
652
|
+
:default => [],
|
653
|
+
:public => true,
|
654
|
+
:type => Array,
|
649
655
|
:allowed_from_server => true,
|
650
|
-
:
|
656
|
+
:dynamic_name => true,
|
657
|
+
:description => <<-DESCRIPTION
|
658
|
+
A list of error classes that the agent should ignore.
|
659
|
+
|
660
|
+
<Callout variant="caution">
|
661
|
+
This option can't be set via environment variable.
|
662
|
+
</Callout>
|
663
|
+
DESCRIPTION
|
651
664
|
},
|
652
|
-
:
|
653
|
-
:default =>
|
654
|
-
:
|
655
|
-
:
|
665
|
+
:'error_collector.capture_events' => {
|
666
|
+
:default => value_of(:'error_collector.enabled'),
|
667
|
+
:documentation_default => true,
|
668
|
+
:public => true,
|
669
|
+
:type => Boolean,
|
656
670
|
:allowed_from_server => true,
|
657
|
-
:
|
671
|
+
:dynamic_name => true,
|
672
|
+
:description => 'If `true`, the agent collects [TransactionError events](/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights).'
|
658
673
|
},
|
659
|
-
:'
|
660
|
-
:default =>
|
661
|
-
:public =>
|
662
|
-
:type =>
|
674
|
+
:'error_collector.enabled' => {
|
675
|
+
:default => true,
|
676
|
+
:public => true,
|
677
|
+
:type => Boolean,
|
678
|
+
:allowed_from_server => true,
|
679
|
+
:description => 'If `true`, the agent captures traced errors and error count metrics.'
|
680
|
+
},
|
681
|
+
:'error_collector.expected_classes' => {
|
682
|
+
:default => [],
|
683
|
+
:public => true,
|
684
|
+
:type => Array,
|
685
|
+
:allowed_from_server => true,
|
663
686
|
:dynamic_name => true,
|
687
|
+
:description => <<-DESCRIPTION
|
688
|
+
A list of error classes that the agent should treat as expected.
|
689
|
+
|
690
|
+
<Callout variant="caution">
|
691
|
+
This option can't be set via environment variable.
|
692
|
+
</Callout>
|
693
|
+
DESCRIPTION
|
694
|
+
},
|
695
|
+
:'error_collector.expected_messages' => {
|
696
|
+
:default => {},
|
697
|
+
:public => true,
|
698
|
+
:type => Hash,
|
664
699
|
:allowed_from_server => true,
|
665
|
-
:
|
700
|
+
:dynamic_name => true,
|
701
|
+
:description => <<-DESCRIPTION
|
702
|
+
A map of error classes to a list of messages. When an error of one of the classes specified here occurs, if its error message contains one of the strings corresponding to it here, that error will be treated as expected.
|
703
|
+
|
704
|
+
<Callout variant="caution">
|
705
|
+
This option can't be set via environment variable.
|
706
|
+
</Callout>
|
707
|
+
DESCRIPTION
|
666
708
|
},
|
667
|
-
:'
|
668
|
-
:default =>
|
669
|
-
:public =>
|
670
|
-
:type =>
|
709
|
+
:'error_collector.expected_status_codes' => {
|
710
|
+
:default => '',
|
711
|
+
:public => true,
|
712
|
+
:type => String,
|
713
|
+
:allowed_from_server => true,
|
671
714
|
:dynamic_name => true,
|
715
|
+
:description => 'A comma separated list of status codes, possibly including ranges. Errors associated with these status codes, where applicable, will be treated as expected.'
|
716
|
+
},
|
717
|
+
:'error_collector.ignore_errors' => {
|
718
|
+
:default => 'ActionController::RoutingError,Sinatra::NotFound',
|
719
|
+
:public => true,
|
720
|
+
:type => String,
|
721
|
+
:deprecated => true,
|
672
722
|
:allowed_from_server => true,
|
673
|
-
:
|
723
|
+
:dynamic_name => true,
|
724
|
+
:description => <<-DESCRIPTION
|
725
|
+
Use `error_collector.ignore_classes` instead. Specify a comma-delimited list of error classes that the agent should ignore.
|
726
|
+
|
727
|
+
<Callout variant="caution">
|
728
|
+
Server side configuration takes precedence for this setting over all environment configurations. This differs from all other configuration settings where environment variable take precedence over server side configuration.
|
729
|
+
</Callout>
|
730
|
+
DESCRIPTION
|
674
731
|
},
|
675
|
-
:'
|
676
|
-
:default =>
|
677
|
-
:public =>
|
678
|
-
:type =>
|
732
|
+
:'error_collector.ignore_messages' => {
|
733
|
+
:default => {},
|
734
|
+
:public => true,
|
735
|
+
:type => Hash,
|
736
|
+
:allowed_from_server => true,
|
679
737
|
:dynamic_name => true,
|
738
|
+
:description => <<-DESCRIPTION
|
739
|
+
A map of error classes to a list of messages. When an error of one of the classes specified here occurs, if its error message contains one of the strings corresponding to it here, that error will be ignored.
|
740
|
+
|
741
|
+
<Callout variant="caution">
|
742
|
+
This option can't be set via environment variable.
|
743
|
+
</Callout>
|
744
|
+
DESCRIPTION
|
745
|
+
},
|
746
|
+
:'error_collector.ignore_status_codes' => {
|
747
|
+
:default => '',
|
748
|
+
:public => true,
|
749
|
+
:type => String,
|
680
750
|
:allowed_from_server => true,
|
681
|
-
:
|
751
|
+
:dynamic_name => true,
|
752
|
+
:description => 'A comma separated list of status codes, possibly including ranges. Errors associated with these status codes, where applicable, will be ignored.'
|
682
753
|
},
|
683
|
-
:'
|
684
|
-
:default =>
|
685
|
-
:public =>
|
754
|
+
:'error_collector.max_backtrace_frames' => {
|
755
|
+
:default => 50,
|
756
|
+
:public => true,
|
757
|
+
:type => Integer,
|
758
|
+
:allowed_from_server => false,
|
759
|
+
:description => 'Defines the maximum number of frames in an error backtrace. Backtraces over this amount are truncated at the beginning and end.'
|
760
|
+
},
|
761
|
+
:'error_collector.max_event_samples_stored' => {
|
762
|
+
:default => 100,
|
763
|
+
:public => true,
|
686
764
|
:type => Integer,
|
687
|
-
:dynamic_name => true,
|
688
765
|
:allowed_from_server => true,
|
689
|
-
:description => '
|
766
|
+
:description => 'Defines the maximum number of [TransactionError events](/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights) reported per harvest cycle.'
|
690
767
|
},
|
691
|
-
|
692
|
-
|
693
|
-
:
|
768
|
+
# Browser monitoring
|
769
|
+
:'browser_monitoring.auto_instrument' => {
|
770
|
+
:default => value_of(:'rum.enabled'),
|
771
|
+
:documentation_default => true,
|
772
|
+
:public => true,
|
694
773
|
:type => Boolean,
|
695
|
-
:
|
696
|
-
:
|
697
|
-
:description => 'Enable or disable retrying failed connections to the New Relic data collection service.'
|
774
|
+
:allowed_from_server => true,
|
775
|
+
:description => 'If `true`, enables [auto-injection](/docs/browser/new-relic-browser/installation-configuration/adding-apps-new-relic-browser#select-apm-app) of the JavaScript header for page load timing (sometimes referred to as real user monitoring or RUM).'
|
698
776
|
},
|
699
|
-
:
|
777
|
+
:'browser_monitoring.capture_attributes' => {
|
700
778
|
:default => false,
|
701
|
-
:public =>
|
779
|
+
:public => true,
|
702
780
|
:type => Boolean,
|
781
|
+
:deprecated => true,
|
703
782
|
:allowed_from_server => false,
|
704
|
-
:description => '
|
783
|
+
:description => 'Use [`browser_monitoring.attributes.enabled`](#browser_monitoring-attributes-enabled) instead.'
|
705
784
|
},
|
706
|
-
|
785
|
+
# Analytics events
|
786
|
+
:'analytics_events.capture_attributes' => {
|
707
787
|
:default => true,
|
708
|
-
:public =>
|
788
|
+
:public => true,
|
709
789
|
:type => Boolean,
|
790
|
+
:deprecated => true,
|
710
791
|
:allowed_from_server => false,
|
711
|
-
:description => '
|
792
|
+
:description => 'Use [`transaction_events.attributes.enabled`](#transaction_events-attributes-enabled) instead.'
|
712
793
|
},
|
713
|
-
:
|
714
|
-
:default =>
|
794
|
+
:'analytics_events.enabled' => {
|
795
|
+
:default => true,
|
715
796
|
:public => true,
|
716
|
-
:type =>
|
717
|
-
:
|
718
|
-
:
|
797
|
+
:type => Boolean,
|
798
|
+
:deprecated => true,
|
799
|
+
:allowed_from_server => true,
|
800
|
+
:description => deprecated_description(:'transaction_events.enabled', 'If `true`, enables analytics event sampling.')
|
719
801
|
},
|
720
|
-
:
|
721
|
-
:default =>
|
802
|
+
:'analytics_events.max_samples_stored' => {
|
803
|
+
:default => 1200,
|
722
804
|
:public => true,
|
723
|
-
:type =>
|
724
|
-
:
|
725
|
-
:
|
805
|
+
:type => Integer,
|
806
|
+
:deprecated => true,
|
807
|
+
:allowed_from_server => true,
|
808
|
+
:description => deprecated_description(:'transaction_events.max_samples_stored', 'Defines the maximum number of request events reported from a single harvest.')
|
726
809
|
},
|
727
|
-
|
728
|
-
|
810
|
+
# Transaction events
|
811
|
+
:'transaction_events.enabled' => {
|
812
|
+
:default => value_of(:'analytics_events.enabled'),
|
813
|
+
:documentation_default => true,
|
729
814
|
:public => true,
|
730
815
|
:type => Boolean,
|
731
|
-
:allowed_from_server =>
|
732
|
-
:description => 'If
|
816
|
+
:allowed_from_server => true,
|
817
|
+
:description => 'If `true`, enables transaction event sampling.'
|
733
818
|
},
|
734
|
-
:'
|
735
|
-
:default =>
|
819
|
+
:'transaction_events.max_samples_stored' => {
|
820
|
+
:default => value_of(:'analytics_events.max_samples_stored'),
|
821
|
+
:documentation_default => 1200,
|
736
822
|
:public => true,
|
737
|
-
:type =>
|
738
|
-
:allowed_from_server =>
|
739
|
-
:description => '
|
823
|
+
:type => Integer,
|
824
|
+
:allowed_from_server => true,
|
825
|
+
:description => 'Defines the maximum number of transaction events reported from a single harvest.'
|
740
826
|
},
|
741
|
-
|
742
|
-
|
827
|
+
# Application logging
|
828
|
+
:'application_logging.enabled' => {
|
829
|
+
:default => true,
|
743
830
|
:public => true,
|
744
|
-
:type =>
|
831
|
+
:type => Boolean,
|
745
832
|
:allowed_from_server => false,
|
746
|
-
:
|
747
|
-
:description => 'List of allowed endpoints to include in audit log'
|
833
|
+
:description => 'If `true`, enables log decoration and the collection of log events and metrics.'
|
748
834
|
},
|
749
|
-
:
|
750
|
-
:default =>
|
835
|
+
:'application_logging.forwarding.enabled' => {
|
836
|
+
:default => true,
|
751
837
|
:public => true,
|
752
838
|
:type => Boolean,
|
753
839
|
:allowed_from_server => false,
|
754
|
-
:description => 'If
|
840
|
+
:description => 'If `true`, the agent captures log records emitted by your application.'
|
755
841
|
},
|
756
|
-
:
|
757
|
-
:default =>
|
842
|
+
:'application_logging.forwarding.max_samples_stored' => {
|
843
|
+
:default => 10000,
|
758
844
|
:public => true,
|
759
|
-
:type =>
|
760
|
-
:allowed_from_server =>
|
761
|
-
:description => '
|
845
|
+
:type => Integer,
|
846
|
+
:allowed_from_server => true,
|
847
|
+
:description => 'Defines the maximum number of log records to buffer in memory at a time.',
|
848
|
+
:dynamic_name => true
|
762
849
|
},
|
763
|
-
:
|
850
|
+
:'application_logging.local_decorating.enabled' => {
|
764
851
|
:default => false,
|
765
852
|
:public => true,
|
766
853
|
:type => Boolean,
|
767
854
|
:allowed_from_server => false,
|
768
|
-
:description => 'If
|
855
|
+
:description => 'If `true`, the agent decorates logs with metadata to link to entities, hosts, traces, and spans.'
|
769
856
|
},
|
770
|
-
:
|
771
|
-
:default =>
|
857
|
+
:'application_logging.metrics.enabled' => {
|
858
|
+
:default => true,
|
772
859
|
:public => true,
|
773
860
|
:type => Boolean,
|
774
|
-
:allowed_from_server =>
|
775
|
-
:description => 'If
|
861
|
+
:allowed_from_server => true,
|
862
|
+
:description => 'If `true`, the agent captures metrics related to logging for your application.'
|
776
863
|
},
|
777
|
-
|
778
|
-
|
864
|
+
# Attributes
|
865
|
+
:'attributes.enabled' => {
|
866
|
+
:default => true,
|
779
867
|
:public => true,
|
780
868
|
:type => Boolean,
|
781
869
|
:allowed_from_server => false,
|
782
|
-
:description => 'If
|
870
|
+
:description => 'If `true`, enables capture of attributes for all destinations.'
|
783
871
|
},
|
784
|
-
:
|
785
|
-
:default =>
|
872
|
+
:'attributes.exclude' => {
|
873
|
+
:default => [],
|
786
874
|
:public => true,
|
787
|
-
:type =>
|
875
|
+
:type => Array,
|
788
876
|
:allowed_from_server => false,
|
789
|
-
:
|
877
|
+
:transform => DefaultSource.method(:convert_to_list),
|
878
|
+
:description => 'Prefix of attributes to exclude from all destinations. Allows `*` as wildcard at end.'
|
790
879
|
},
|
791
|
-
:
|
792
|
-
:default =>
|
880
|
+
:'attributes.include' => {
|
881
|
+
:default => [],
|
793
882
|
:public => true,
|
794
|
-
:type =>
|
883
|
+
:type => Array,
|
795
884
|
:allowed_from_server => false,
|
796
|
-
:
|
885
|
+
:transform => DefaultSource.method(:convert_to_list),
|
886
|
+
:description => 'Prefix of attributes to include in all destinations. Allows `*` as wildcard at end.'
|
797
887
|
},
|
798
|
-
:
|
799
|
-
:default =>
|
800
|
-
:
|
888
|
+
:'browser_monitoring.attributes.enabled' => {
|
889
|
+
:default => value_of(:'browser_monitoring.capture_attributes'),
|
890
|
+
:documentation_default => false,
|
891
|
+
:public => true,
|
801
892
|
:type => Boolean,
|
802
893
|
:allowed_from_server => false,
|
803
|
-
:description => '
|
894
|
+
:description => 'If `true`, the agent captures attributes from browser monitoring.'
|
804
895
|
},
|
805
|
-
:
|
806
|
-
:default =>
|
807
|
-
:public =>
|
808
|
-
:type =>
|
896
|
+
:'browser_monitoring.attributes.exclude' => {
|
897
|
+
:default => [],
|
898
|
+
:public => true,
|
899
|
+
:type => Array,
|
809
900
|
:allowed_from_server => false,
|
810
|
-
:
|
901
|
+
:transform => DefaultSource.method(:convert_to_list),
|
902
|
+
:description => 'Prefix of attributes to exclude from browser monitoring. Allows `*` as wildcard at end.'
|
811
903
|
},
|
812
|
-
:
|
813
|
-
:default =>
|
904
|
+
:'browser_monitoring.attributes.include' => {
|
905
|
+
:default => [],
|
814
906
|
:public => true,
|
815
|
-
:type =>
|
907
|
+
:type => Array,
|
816
908
|
:allowed_from_server => false,
|
817
|
-
:
|
909
|
+
:transform => DefaultSource.method(:convert_to_list),
|
910
|
+
:description => 'Prefix of attributes to include in browser monitoring. Allows `*` as wildcard at end.'
|
818
911
|
},
|
819
|
-
:
|
820
|
-
:default =>
|
912
|
+
:'error_collector.attributes.enabled' => {
|
913
|
+
:default => value_of(:'error_collector.capture_attributes'),
|
914
|
+
:documentation_default => true,
|
821
915
|
:public => true,
|
822
916
|
:type => Boolean,
|
823
917
|
:allowed_from_server => false,
|
824
|
-
:description => 'If
|
918
|
+
:description => 'If `true`, the agent captures attributes from error collection.'
|
825
919
|
},
|
826
|
-
:
|
827
|
-
:default =>
|
920
|
+
:'error_collector.attributes.exclude' => {
|
921
|
+
:default => [],
|
828
922
|
:public => true,
|
829
|
-
:type =>
|
923
|
+
:type => Array,
|
830
924
|
:allowed_from_server => false,
|
831
|
-
:
|
925
|
+
:transform => DefaultSource.method(:convert_to_list),
|
926
|
+
:description => 'Prefix of attributes to exclude from error collection. Allows `*` as wildcard at end.'
|
832
927
|
},
|
833
|
-
:
|
834
|
-
:default =>
|
928
|
+
:'error_collector.attributes.include' => {
|
929
|
+
:default => [],
|
835
930
|
:public => true,
|
836
|
-
:type =>
|
837
|
-
:dynamic_name => true,
|
931
|
+
:type => Array,
|
838
932
|
:allowed_from_server => false,
|
839
|
-
:
|
933
|
+
:transform => DefaultSource.method(:convert_to_list),
|
934
|
+
:description => 'Prefix of attributes to include in error collection. Allows `*` as wildcard at end.'
|
840
935
|
},
|
841
|
-
:
|
842
|
-
:default =>
|
936
|
+
:'span_events.attributes.enabled' => {
|
937
|
+
:default => true,
|
843
938
|
:public => true,
|
844
939
|
:type => Boolean,
|
845
|
-
:dynamic_name => true,
|
846
940
|
:allowed_from_server => false,
|
847
|
-
:description => 'If
|
941
|
+
:description => 'If `true`, the agent captures attributes on span events.'
|
848
942
|
},
|
849
|
-
:
|
850
|
-
:default =>
|
943
|
+
:'span_events.attributes.exclude' => {
|
944
|
+
:default => [],
|
851
945
|
:public => true,
|
852
|
-
:type =>
|
853
|
-
:dynamic_name => true,
|
946
|
+
:type => Array,
|
854
947
|
:allowed_from_server => false,
|
855
|
-
:
|
948
|
+
:transform => DefaultSource.method(:convert_to_list),
|
949
|
+
:description => 'Prefix of attributes to exclude from span events. Allows `*` as wildcard at end.'
|
856
950
|
},
|
857
|
-
:
|
858
|
-
:default =>
|
951
|
+
:'span_events.attributes.include' => {
|
952
|
+
:default => [],
|
859
953
|
:public => true,
|
860
|
-
:type =>
|
954
|
+
:type => Array,
|
861
955
|
:allowed_from_server => false,
|
862
|
-
:
|
956
|
+
:transform => DefaultSource.method(:convert_to_list),
|
957
|
+
:description => 'Prefix of attributes to include on span events. Allows `*` as wildcard at end.'
|
863
958
|
},
|
864
|
-
:
|
865
|
-
:default => value_of(:
|
959
|
+
:'transaction_events.attributes.enabled' => {
|
960
|
+
:default => value_of(:'analytics_events.capture_attributes'),
|
961
|
+
:documentation_default => true,
|
866
962
|
:public => true,
|
867
963
|
:type => Boolean,
|
868
964
|
:allowed_from_server => false,
|
869
|
-
:description => 'If
|
965
|
+
:description => 'If `true`, the agent captures attributes from transaction events.'
|
870
966
|
},
|
871
|
-
:
|
872
|
-
:default =>
|
967
|
+
:'transaction_events.attributes.exclude' => {
|
968
|
+
:default => [],
|
873
969
|
:public => true,
|
874
|
-
:type =>
|
970
|
+
:type => Array,
|
875
971
|
:allowed_from_server => false,
|
876
|
-
:
|
972
|
+
:transform => DefaultSource.method(:convert_to_list),
|
973
|
+
:description => 'Prefix of attributes to exclude from transaction events. Allows `*` as wildcard at end.'
|
877
974
|
},
|
878
|
-
:
|
879
|
-
:default =>
|
975
|
+
:'transaction_events.attributes.include' => {
|
976
|
+
:default => [],
|
880
977
|
:public => true,
|
881
|
-
:type =>
|
978
|
+
:type => Array,
|
882
979
|
:allowed_from_server => false,
|
883
|
-
:
|
980
|
+
:transform => DefaultSource.method(:convert_to_list),
|
981
|
+
:description => 'Prefix of attributes to include in transaction events. Allows `*` as wildcard at end.'
|
884
982
|
},
|
885
|
-
:
|
886
|
-
:default =>
|
983
|
+
:'transaction_segments.attributes.enabled' => {
|
984
|
+
:default => true,
|
887
985
|
:public => true,
|
888
986
|
:type => Boolean,
|
889
987
|
:allowed_from_server => false,
|
890
|
-
:description => 'If
|
988
|
+
:description => 'If `true`, the agent captures attributes on transaction segments.'
|
891
989
|
},
|
892
|
-
:
|
893
|
-
:default =>
|
990
|
+
:'transaction_segments.attributes.exclude' => {
|
991
|
+
:default => [],
|
894
992
|
:public => true,
|
895
|
-
:type =>
|
993
|
+
:type => Array,
|
896
994
|
:allowed_from_server => false,
|
897
|
-
:
|
995
|
+
:transform => DefaultSource.method(:convert_to_list),
|
996
|
+
:description => 'Prefix of attributes to exclude from transaction segments. Allows `*` as wildcard at end.'
|
898
997
|
},
|
899
|
-
:'
|
900
|
-
:default =>
|
998
|
+
:'transaction_segments.attributes.include' => {
|
999
|
+
:default => [],
|
901
1000
|
:public => true,
|
902
|
-
:type =>
|
1001
|
+
:type => Array,
|
903
1002
|
:allowed_from_server => false,
|
904
|
-
:
|
905
|
-
:
|
906
|
-
:description => 'If <code>true</code>, enables the capture of job arguments for transaction traces and traced errors in Sidekiq.'
|
1003
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1004
|
+
:description => 'Prefix of attributes to include on transaction segments. Allows `*` as wildcard at end.'
|
907
1005
|
},
|
908
|
-
:'
|
909
|
-
:default =>
|
1006
|
+
:'transaction_tracer.attributes.enabled' => {
|
1007
|
+
:default => value_of(:'transaction_tracer.capture_attributes'),
|
1008
|
+
:documentation_default => true,
|
910
1009
|
:public => true,
|
911
1010
|
:type => Boolean,
|
912
1011
|
:allowed_from_server => false,
|
913
|
-
:
|
914
|
-
:deprecated => true,
|
915
|
-
:description => 'If <code>true</code>, enables the capture of job arguments for transaction traces and traced errors in Resque.'
|
1012
|
+
:description => 'If `true`, the agent captures attributes from transaction traces.'
|
916
1013
|
},
|
917
|
-
:'
|
918
|
-
:default =>
|
919
|
-
:public =>
|
920
|
-
:type =>
|
1014
|
+
:'transaction_tracer.attributes.exclude' => {
|
1015
|
+
:default => [],
|
1016
|
+
:public => true,
|
1017
|
+
:type => Array,
|
921
1018
|
:allowed_from_server => false,
|
922
|
-
:
|
1019
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1020
|
+
:description => 'Prefix of attributes to exclude from transaction traces. Allows `*` as wildcard at end.'
|
923
1021
|
},
|
924
|
-
:
|
1022
|
+
:'transaction_tracer.attributes.include' => {
|
1023
|
+
:default => [],
|
1024
|
+
:public => true,
|
1025
|
+
:type => Array,
|
1026
|
+
:allowed_from_server => false,
|
1027
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1028
|
+
:description => 'Prefix of attributes to include in transaction traces. Allows `*` as wildcard at end.'
|
1029
|
+
},
|
1030
|
+
# Audit log
|
1031
|
+
:'audit_log.enabled' => {
|
925
1032
|
:default => false,
|
926
1033
|
:public => true,
|
927
1034
|
:type => Boolean,
|
928
|
-
:allowed_from_server =>
|
929
|
-
:description => '
|
1035
|
+
:allowed_from_server => false,
|
1036
|
+
:description => 'If `true`, enables an audit log which logs communications with the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector).'
|
930
1037
|
},
|
931
|
-
:'
|
932
|
-
:default =>
|
1038
|
+
:'audit_log.endpoints' => {
|
1039
|
+
:default => [".*"],
|
933
1040
|
:public => true,
|
934
|
-
:type =>
|
935
|
-
:allowed_from_server =>
|
936
|
-
:
|
1041
|
+
:type => Array,
|
1042
|
+
:allowed_from_server => false,
|
1043
|
+
:transform => DefaultSource.method(:convert_to_regexp_list),
|
1044
|
+
:description => 'List of allowed endpoints to include in audit log'
|
937
1045
|
},
|
938
|
-
:'
|
939
|
-
:default => DefaultSource.
|
1046
|
+
:'audit_log.path' => {
|
1047
|
+
:default => DefaultSource.audit_log_path,
|
1048
|
+
:documentation_default => 'config/newrelic_audit.log',
|
940
1049
|
:public => true,
|
941
|
-
:type =>
|
942
|
-
:allowed_from_server =>
|
943
|
-
:description => '
|
1050
|
+
:type => String,
|
1051
|
+
:allowed_from_server => false,
|
1052
|
+
:description => 'Specifies a path to the audit log file (including the filename).'
|
944
1053
|
},
|
945
|
-
|
946
|
-
|
1054
|
+
# Autostart
|
1055
|
+
:'autostart.denylisted_constants' => {
|
1056
|
+
:default => 'Rails::Console',
|
947
1057
|
:public => true,
|
948
1058
|
:type => String,
|
949
|
-
:allowed_from_server =>
|
950
|
-
:description => '
|
951
|
-
|
952
|
-
<p>By default, this is set to <code>obfuscated</code>, which strips out the numeric and string literals.</p>
|
953
|
-
|
954
|
-
<ul>
|
955
|
-
<li>If you do not want the agent to capture query information, set this to <code>none</code>.</li>
|
956
|
-
<li>If you want the agent to capture all query information in its original form, set this to <code>raw</code>.</li>
|
957
|
-
<li>When you enable <a href="/docs/agents/manage-apm-agents/configuration/high-security-mode">high security mode</a>, this is automatically set to <code>obfuscated</code>.</li>
|
958
|
-
</ul>
|
959
|
-
<p>' # Doc generator will wrap this in <p>...</p>
|
1059
|
+
:allowed_from_server => false,
|
1060
|
+
:description => 'Specify a list of constants that should prevent the agent from starting automatically. Separate individual constants with a comma `,`. For example, `Rails::Console,UninstrumentedBackgroundJob`.'
|
960
1061
|
},
|
961
|
-
:'
|
962
|
-
:default =>
|
1062
|
+
:'autostart.denylisted_executables' => {
|
1063
|
+
:default => 'irb,rspec',
|
963
1064
|
:public => true,
|
964
|
-
:type =>
|
1065
|
+
:type => String,
|
965
1066
|
:allowed_from_server => false,
|
966
|
-
:description => '
|
1067
|
+
:description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, `rake,my_ruby_script.rb`.'
|
967
1068
|
},
|
968
|
-
:'
|
1069
|
+
:'autostart.denylisted_rake_tasks' => {
|
1070
|
+
:default => AUTOSTART_DENYLISTED_RAKE_TASKS,
|
1071
|
+
:public => true,
|
1072
|
+
:type => String,
|
1073
|
+
:allowed_from_server => false,
|
1074
|
+
:description => 'Defines a comma-delimited list of Rake tasks that the agent should not instrument. For example, `assets:precompile,db:migrate`.'
|
1075
|
+
},
|
1076
|
+
# Code level metrics
|
1077
|
+
:'code_level_metrics.enabled' => {
|
969
1078
|
:default => true,
|
970
1079
|
:public => true,
|
971
1080
|
:type => Boolean,
|
972
|
-
:
|
973
|
-
:
|
974
|
-
|
1081
|
+
:allowed_from_server => true,
|
1082
|
+
:description => "If `true`, the agent will report source code level metrics for traced methods.\nsee: " \
|
1083
|
+
'https://docs.newrelic.com/docs/apm/agents/ruby-agent/features/ruby-codestream-integration/'
|
975
1084
|
},
|
976
|
-
|
977
|
-
|
1085
|
+
# Cross application tracer
|
1086
|
+
:"cross_application_tracer.enabled" => {
|
1087
|
+
:default => false,
|
978
1088
|
:public => true,
|
979
|
-
:type =>
|
1089
|
+
:type => Boolean,
|
980
1090
|
:allowed_from_server => true,
|
981
|
-
:
|
1091
|
+
:deprecated => true,
|
1092
|
+
:description => deprecated_description(
|
1093
|
+
:'distributed_tracing-enabled',
|
1094
|
+
'If `true`, enables [cross-application tracing](/docs/agents/ruby-agent/features/cross-application-tracing-ruby/) when `distributed_tracing.enabled` is set to `false`.'
|
1095
|
+
)
|
982
1096
|
},
|
983
|
-
|
1097
|
+
# Custom attributes
|
1098
|
+
:'custom_attributes.enabled' => {
|
984
1099
|
:default => true,
|
985
1100
|
:public => true,
|
986
1101
|
:type => Boolean,
|
987
|
-
:allowed_from_server =>
|
988
|
-
:description => 'If
|
1102
|
+
:allowed_from_server => false,
|
1103
|
+
:description => 'If `false`, custom attributes will not be sent on events.'
|
989
1104
|
},
|
990
|
-
|
991
|
-
|
1105
|
+
# Custom events
|
1106
|
+
:'custom_insights_events.enabled' => {
|
1107
|
+
:default => true,
|
992
1108
|
:public => true,
|
993
|
-
:type =>
|
1109
|
+
:type => Boolean,
|
994
1110
|
:allowed_from_server => true,
|
995
|
-
:description => '
|
1111
|
+
:description => 'If `true`, the agent captures [custom events](/docs/insights/new-relic-insights/adding-querying-data/inserting-custom-events-new-relic-apm-agents).'
|
996
1112
|
},
|
997
|
-
:'
|
998
|
-
:default =>
|
1113
|
+
:'custom_insights_events.max_samples_stored' => {
|
1114
|
+
:default => 3000,
|
999
1115
|
:public => true,
|
1000
1116
|
:type => Integer,
|
1001
1117
|
:allowed_from_server => true,
|
1002
|
-
:description => '
|
1118
|
+
:description => 'Specify a maximum number of custom events to buffer in memory at a time.',
|
1119
|
+
:dynamic_name => true
|
1003
1120
|
},
|
1004
|
-
|
1005
|
-
|
1121
|
+
# Datastore tracer
|
1122
|
+
:'datastore_tracer.database_name_reporting.enabled' => {
|
1123
|
+
:default => true,
|
1006
1124
|
:public => true,
|
1007
1125
|
:type => Boolean,
|
1008
1126
|
:allowed_from_server => false,
|
1009
|
-
:description => 'If
|
1127
|
+
:description => 'If `false`, the agent will not add `database_name` parameter to transaction or slow sql traces.'
|
1010
1128
|
},
|
1011
|
-
:
|
1012
|
-
:default =>
|
1129
|
+
:'datastore_tracer.instance_reporting.enabled' => {
|
1130
|
+
:default => true,
|
1013
1131
|
:public => true,
|
1014
1132
|
:type => Boolean,
|
1015
1133
|
:allowed_from_server => false,
|
1016
|
-
:
|
1017
|
-
:description => 'Deprecated; use <a href="#disable_sequel_instrumentation"><code>disable_sequel_instrumentation</code></a> instead.'
|
1134
|
+
:description => '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.'
|
1018
1135
|
},
|
1019
|
-
|
1020
|
-
|
1021
|
-
:
|
1022
|
-
:
|
1023
|
-
:
|
1136
|
+
# Disabling
|
1137
|
+
:disable_action_cable_instrumentation => {
|
1138
|
+
:default => false,
|
1139
|
+
:public => true,
|
1140
|
+
:type => Boolean,
|
1024
1141
|
:dynamic_name => true,
|
1025
|
-
:description => 'If <code>true</code>, the agent won\'t install <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/mongo-instrumentation">instrumentation for the Mongo gem</a>.'
|
1026
|
-
},
|
1027
|
-
:disable_redis => {
|
1028
|
-
:default => false,
|
1029
|
-
:public => true,
|
1030
|
-
:type => Boolean,
|
1031
1142
|
:allowed_from_server => false,
|
1032
|
-
:description
|
1143
|
+
:description => 'If `true`, disables Action Cable instrumentation.'
|
1033
1144
|
},
|
1034
|
-
:
|
1035
|
-
:default
|
1036
|
-
:public
|
1037
|
-
:type
|
1145
|
+
:disable_activejob => {
|
1146
|
+
:default => false,
|
1147
|
+
:public => true,
|
1148
|
+
:type => Boolean,
|
1149
|
+
:dynamic_name => true,
|
1038
1150
|
:allowed_from_server => false,
|
1039
|
-
:description
|
1040
|
-
},
|
1041
|
-
:'message_tracer.segment_parameters.enabled' => {
|
1042
|
-
:default => true,
|
1043
|
-
:public => true,
|
1044
|
-
:type => Boolean,
|
1045
|
-
:allowed_from_server => true,
|
1046
|
-
:description => 'If <code>true</code>, the agent will collect metadata about messages and attach them as segment parameters.'
|
1151
|
+
:description => 'If `true`, disables ActiveJob instrumentation.'
|
1047
1152
|
},
|
1048
|
-
:
|
1049
|
-
:default =>
|
1153
|
+
:disable_active_storage => {
|
1154
|
+
:default => false,
|
1050
1155
|
:public => true,
|
1051
1156
|
:type => Boolean,
|
1052
|
-
:
|
1053
|
-
:
|
1157
|
+
:dynamic_name => true,
|
1158
|
+
:allowed_from_server => false,
|
1159
|
+
:description => 'If `true`, disables ActiveStorage instrumentation.'
|
1054
1160
|
},
|
1055
|
-
:
|
1056
|
-
:default => value_of(:
|
1161
|
+
:disable_activerecord_instrumentation => {
|
1162
|
+
:default => value_of(:skip_ar_instrumentation),
|
1163
|
+
:documentation_default => false,
|
1057
1164
|
:public => true,
|
1058
|
-
:type =>
|
1059
|
-
:allowed_from_server =>
|
1060
|
-
:description => '
|
1165
|
+
:type => Boolean,
|
1166
|
+
:allowed_from_server => false,
|
1167
|
+
:description => 'If `true`, disables active record instrumentation.'
|
1061
1168
|
},
|
1062
|
-
:
|
1063
|
-
:default =>
|
1169
|
+
:disable_active_record_notifications => {
|
1170
|
+
:default => false,
|
1064
1171
|
:public => true,
|
1065
1172
|
:type => Boolean,
|
1066
|
-
:
|
1067
|
-
:
|
1173
|
+
:dynamic_name => true,
|
1174
|
+
:allowed_from_server => false,
|
1175
|
+
:description => 'If `true`, disables instrumentation for ActiveRecord 4, 5, and 6.'
|
1068
1176
|
},
|
1069
|
-
:
|
1070
|
-
:default =>
|
1177
|
+
:disable_bunny => {
|
1178
|
+
:default => false,
|
1071
1179
|
:public => true,
|
1072
|
-
:type =>
|
1073
|
-
:
|
1074
|
-
:
|
1180
|
+
:type => Boolean,
|
1181
|
+
:deprecated => true,
|
1182
|
+
:dynamic_name => true,
|
1183
|
+
:allowed_from_server => false,
|
1184
|
+
:description => deprecated_description(:'instrumentation.bunny', 'If `true`, disables instrumentation for the bunny gem.')
|
1075
1185
|
},
|
1076
|
-
:
|
1186
|
+
:disable_cpu_sampler => {
|
1077
1187
|
:default => false,
|
1078
1188
|
:public => true,
|
1079
1189
|
:type => Boolean,
|
1080
|
-
:
|
1081
|
-
:
|
1190
|
+
:dynamic_name => true,
|
1191
|
+
:allowed_from_server => false,
|
1192
|
+
:description => 'If `true`, the agent won\'t sample the CPU usage of the host process.'
|
1082
1193
|
},
|
1083
|
-
:
|
1084
|
-
:default =>
|
1194
|
+
:disable_curb => {
|
1195
|
+
:default => false,
|
1085
1196
|
:public => true,
|
1086
1197
|
:type => Boolean,
|
1087
|
-
:
|
1088
|
-
:
|
1198
|
+
:deprecated => true,
|
1199
|
+
:dynamic_name => true,
|
1200
|
+
:allowed_from_server => false,
|
1201
|
+
:description => deprecated_description(:'instrumentation.curb', 'If `true`, disables instrumentation for the curb gem.')
|
1089
1202
|
},
|
1090
|
-
:
|
1091
|
-
:default =>
|
1203
|
+
:disable_database_instrumentation => {
|
1204
|
+
:default => false,
|
1092
1205
|
:public => true,
|
1093
1206
|
:type => Boolean,
|
1094
|
-
:allowed_from_server =>
|
1095
|
-
:
|
1207
|
+
:allowed_from_server => false,
|
1208
|
+
:deprecated => true,
|
1209
|
+
:description => 'Use [`disable_sequel_instrumentation`](#disable_sequel_instrumentation) instead.'
|
1096
1210
|
},
|
1097
|
-
:
|
1098
|
-
:default =>
|
1211
|
+
:disable_data_mapper => {
|
1212
|
+
:default => false,
|
1099
1213
|
:public => true,
|
1100
1214
|
:type => Boolean,
|
1101
|
-
:allowed_from_server =>
|
1102
|
-
:description => 'If
|
1215
|
+
:allowed_from_server => false,
|
1216
|
+
:description => 'If `true`, disables DataMapper instrumentation.'
|
1103
1217
|
},
|
1104
|
-
:
|
1105
|
-
:default =>
|
1218
|
+
:disable_dalli => {
|
1219
|
+
:default => value_of(:disable_memcache_instrumentation),
|
1220
|
+
:documentation_default => false,
|
1106
1221
|
:public => true,
|
1107
1222
|
:type => Boolean,
|
1108
1223
|
:deprecated => true,
|
1109
1224
|
:allowed_from_server => false,
|
1110
|
-
:description => '
|
1111
|
-
},
|
1112
|
-
:'error_collector.ignore_errors' => {
|
1113
|
-
:default => 'ActionController::RoutingError,Sinatra::NotFound',
|
1114
|
-
:public => true,
|
1115
|
-
:type => String,
|
1116
|
-
:allowed_from_server => true,
|
1117
|
-
:description => 'Specify a comma-delimited list of error classes that the agent should ignore.'
|
1225
|
+
:description => deprecated_description(:'instrumentation.memcache', 'If `true`, disables instrumentation for the dalli gem.')
|
1118
1226
|
},
|
1119
|
-
:
|
1120
|
-
:default =>
|
1227
|
+
:disable_dalli_cas_client => {
|
1228
|
+
:default => value_of(:disable_memcache_instrumentation),
|
1229
|
+
:documentation_default => false,
|
1121
1230
|
:public => true,
|
1122
|
-
:type =>
|
1231
|
+
:type => Boolean,
|
1232
|
+
:deprecated => true,
|
1123
1233
|
:allowed_from_server => false,
|
1124
|
-
:description => '
|
1234
|
+
:description => deprecated_description(:'instrumentation.memcache', "If `true`, disables instrumentation for the dalli gem's additional CAS client support.")
|
1125
1235
|
},
|
1126
|
-
:
|
1127
|
-
:default =>
|
1236
|
+
:disable_delayed_job_sampler => {
|
1237
|
+
:default => false,
|
1128
1238
|
:public => true,
|
1129
1239
|
:type => Boolean,
|
1130
|
-
:allowed_from_server => true,
|
1131
1240
|
:dynamic_name => true,
|
1132
|
-
:
|
1241
|
+
:allowed_from_server => false,
|
1242
|
+
:description => 'If `true`, the agent won\'t measure the depth of Delayed Job queues.'
|
1133
1243
|
},
|
1134
|
-
:
|
1135
|
-
:default =>
|
1136
|
-
:public => true,
|
1137
|
-
:type => Integer,
|
1138
|
-
:allowed_from_server => true,
|
1139
|
-
:description => 'Defines the maximum number of <a href="https://docs.newrelic.com/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights">TransactionError events</a> sent to Insights per harvest cycle.'
|
1140
|
-
},
|
1141
|
-
:'rum.enabled' => {
|
1142
|
-
:default => true,
|
1143
|
-
:public => false,
|
1144
|
-
:type => Boolean,
|
1145
|
-
:allowed_from_server => true,
|
1146
|
-
:description => 'Enable or disable page load timing (sometimes referred to as real user monitoring or RUM).'
|
1147
|
-
},
|
1148
|
-
:browser_key => {
|
1149
|
-
:default => '',
|
1150
|
-
:public => false,
|
1151
|
-
:type => String,
|
1152
|
-
:allowed_from_server => true,
|
1153
|
-
:description => 'Real user monitoring license key for the browser timing header.'
|
1154
|
-
},
|
1155
|
-
:beacon => {
|
1156
|
-
:default => '',
|
1157
|
-
:public => false,
|
1158
|
-
:type => String,
|
1159
|
-
:allowed_from_server => true,
|
1160
|
-
:description => 'Beacon for real user monitoring.'
|
1161
|
-
},
|
1162
|
-
:error_beacon => {
|
1163
|
-
:default => '',
|
1164
|
-
:public => false,
|
1165
|
-
:type => String,
|
1166
|
-
:allowed_from_server => true,
|
1167
|
-
:description => 'Error beacon for real user monitoring.'
|
1168
|
-
},
|
1169
|
-
:application_id => {
|
1170
|
-
:default => '',
|
1171
|
-
:public => false,
|
1172
|
-
:type => String,
|
1173
|
-
:allowed_from_server => true,
|
1174
|
-
:description => 'Application ID for real user monitoring.'
|
1175
|
-
},
|
1176
|
-
:js_agent_file => {
|
1177
|
-
:default => '',
|
1178
|
-
:public => false,
|
1179
|
-
:type => String,
|
1180
|
-
:allowed_from_server => true,
|
1181
|
-
:description => 'Javascript agent file for real user monitoring.'
|
1182
|
-
},
|
1183
|
-
:'browser_monitoring.auto_instrument' => {
|
1184
|
-
:default => value_of(:'rum.enabled'),
|
1244
|
+
:disable_dj => {
|
1245
|
+
:default => false,
|
1185
1246
|
:public => true,
|
1247
|
+
:deprecated => true,
|
1186
1248
|
:type => Boolean,
|
1187
|
-
:allowed_from_server =>
|
1188
|
-
:description => 'If
|
1249
|
+
:allowed_from_server => false,
|
1250
|
+
:description => deprecated_description(:'instrumentation.delayed_job', 'If `true`, disables [Delayed::Job instrumentation](/docs/agents/ruby-agent/background-jobs/delayedjob).')
|
1189
1251
|
},
|
1190
|
-
:
|
1252
|
+
:disable_excon => {
|
1191
1253
|
:default => false,
|
1192
1254
|
:public => true,
|
1193
1255
|
:type => Boolean,
|
1256
|
+
:dynamic_name => true,
|
1194
1257
|
:deprecated => true,
|
1195
1258
|
:allowed_from_server => false,
|
1196
|
-
:description => '
|
1197
|
-
},
|
1198
|
-
:'browser_monitoring.loader' => {
|
1199
|
-
:default => DefaultSource.browser_monitoring_loader,
|
1200
|
-
:public => false,
|
1201
|
-
:type => String,
|
1202
|
-
:allowed_from_server => true,
|
1203
|
-
:description => 'Type of JavaScript agent loader to use for browser monitoring instrumentation.'
|
1204
|
-
},
|
1205
|
-
:'browser_monitoring.loader_version' => {
|
1206
|
-
:default => '',
|
1207
|
-
:public => false,
|
1208
|
-
:type => String,
|
1209
|
-
:allowed_from_server => true,
|
1210
|
-
:description => 'Version of JavaScript agent loader (returned from the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>.)'
|
1259
|
+
:description => deprecated_description(:'instrumentation.excon', 'If `true`, disables instrumentation for the excon gem.')
|
1211
1260
|
},
|
1212
|
-
:
|
1213
|
-
:default =>
|
1214
|
-
:
|
1261
|
+
:disable_memcached => {
|
1262
|
+
:default => value_of(:disable_memcache_instrumentation),
|
1263
|
+
:documentation_default => false,
|
1264
|
+
:public => true,
|
1215
1265
|
:type => Boolean,
|
1216
|
-
:
|
1217
|
-
:
|
1266
|
+
:deprecated => true,
|
1267
|
+
:allowed_from_server => false,
|
1268
|
+
:description => deprecated_description(:'instrumentation.memcached', 'If `true`, disables instrumentation for the memcached gem.')
|
1218
1269
|
},
|
1219
|
-
:
|
1220
|
-
:default =>
|
1221
|
-
:
|
1222
|
-
:public =>
|
1270
|
+
:disable_memcache_client => {
|
1271
|
+
:default => value_of(:disable_memcache_instrumentation),
|
1272
|
+
:documentation_default => false,
|
1273
|
+
:public => true,
|
1223
1274
|
:type => Boolean,
|
1224
|
-
:
|
1225
|
-
:
|
1226
|
-
|
1227
|
-
:js_agent_loader => {
|
1228
|
-
:default => '',
|
1229
|
-
:public => false,
|
1230
|
-
:type => String,
|
1231
|
-
:allowed_from_server => true,
|
1232
|
-
:description => 'JavaScript agent loader content.'
|
1275
|
+
:deprecated => true,
|
1276
|
+
:allowed_from_server => false,
|
1277
|
+
:description => deprecated_description(:'instrumentation.memcache-client', 'If `true`, disables instrumentation for the memcache-client gem.')
|
1233
1278
|
},
|
1234
|
-
:
|
1279
|
+
:disable_memcache_instrumentation => {
|
1235
1280
|
:default => false,
|
1236
|
-
:public =>
|
1281
|
+
:public => true,
|
1237
1282
|
:type => Boolean,
|
1238
|
-
:allowed_from_server => false,
|
1239
1283
|
:deprecated => true,
|
1240
|
-
:
|
1241
|
-
|
1242
|
-
:trusted_account_ids => {
|
1243
|
-
:default => [],
|
1244
|
-
:public => false,
|
1245
|
-
:type => Array,
|
1246
|
-
:allowed_from_server => true,
|
1247
|
-
:description => 'List of trusted New Relic account IDs for the purposes of cross-application tracing. Inbound requests from applications including cross-application headers that do not come from an account in this list will be ignored.'
|
1284
|
+
:allowed_from_server => false,
|
1285
|
+
:description => deprecated_description(:'instrumentation.memcache', 'If `true`, disables memcache instrumentation.')
|
1248
1286
|
},
|
1249
|
-
:
|
1250
|
-
:default =>
|
1287
|
+
:disable_gc_profiler => {
|
1288
|
+
:default => false,
|
1251
1289
|
:public => true,
|
1252
1290
|
:type => Boolean,
|
1253
|
-
:allowed_from_server => true,
|
1254
|
-
:description => 'If <code>true</code>, enables <a href="https://docs.newrelic.com/docs/apm/transactions/cross-application-traces/cross-application-tracing">cross-application tracing</a>.'
|
1255
|
-
},
|
1256
|
-
:cross_application_tracing => {
|
1257
|
-
:default => nil,
|
1258
|
-
:allow_nil => true,
|
1259
|
-
:public => false,
|
1260
|
-
:type => Boolean,
|
1261
1291
|
:allowed_from_server => false,
|
1262
|
-
:
|
1263
|
-
:description => 'Deprecated in favor of cross_application_tracer.enabled'
|
1264
|
-
},
|
1265
|
-
:encoding_key => {
|
1266
|
-
:default => '',
|
1267
|
-
:public => false,
|
1268
|
-
:type => String,
|
1269
|
-
:allowed_from_server => true,
|
1270
|
-
:description => 'Encoding key for cross-application tracing.'
|
1271
|
-
},
|
1272
|
-
:cross_process_id => {
|
1273
|
-
:default => '',
|
1274
|
-
:public => false,
|
1275
|
-
:type => String,
|
1276
|
-
:allowed_from_server => true,
|
1277
|
-
:description => 'Cross process ID for cross-application tracing.'
|
1292
|
+
:description => 'If `true`, disables the use of GC::Profiler to measure time spent in garbage collection'
|
1278
1293
|
},
|
1279
|
-
:
|
1280
|
-
:default =>
|
1294
|
+
:disable_grape => {
|
1295
|
+
:default => false,
|
1281
1296
|
:public => true,
|
1282
1297
|
:type => Boolean,
|
1283
|
-
:allowed_from_server => true,
|
1284
|
-
:description => 'If <code>true</code>, enables use of the <a href="https://docs.newrelic.com/docs/apm/applications-menu/events/thread-profiler-tool">thread profiler</a>.'
|
1285
|
-
},
|
1286
|
-
:'thread_profiler.max_profile_overhead' => {
|
1287
|
-
:default => 0.05,
|
1288
|
-
:public => false,
|
1289
|
-
:type => Float,
|
1290
|
-
:allowed_from_server => true,
|
1291
|
-
:description => 'Maximum overhead percentage for thread profiling before agent reduces polling frequency'
|
1292
|
-
},
|
1293
|
-
:marshaller => {
|
1294
|
-
:default => 'json',
|
1295
|
-
:public => true,
|
1296
|
-
:type => String,
|
1297
1298
|
:allowed_from_server => false,
|
1298
|
-
:
|
1299
|
+
:deprecated => true,
|
1300
|
+
:description => deprecated_description(:'instrumentation.grape',
|
1301
|
+
'If `true`, the agent won\'t install Grape instrumentation.')
|
1299
1302
|
},
|
1300
|
-
:
|
1301
|
-
:default =>
|
1303
|
+
:disable_httpclient => {
|
1304
|
+
:default => false,
|
1302
1305
|
:public => true,
|
1303
1306
|
:type => Boolean,
|
1304
|
-
:
|
1305
|
-
:
|
1306
|
-
|
1307
|
-
|
1308
|
-
:default => 1200,
|
1309
|
-
:public => true,
|
1310
|
-
:type => Integer,
|
1311
|
-
:allowed_from_server => true,
|
1312
|
-
:description => 'Defines the maximum number of request events reported from a single harvest.'
|
1307
|
+
:dynamic_name => true,
|
1308
|
+
:deprecated => true,
|
1309
|
+
:allowed_from_server => false,
|
1310
|
+
:description => deprecated_description(:'instrumentation.httpclient', 'If `true`, disables instrumentation for the httpclient gem.')
|
1313
1311
|
},
|
1314
|
-
:
|
1315
|
-
:default =>
|
1312
|
+
:disable_httprb => {
|
1313
|
+
:default => false,
|
1316
1314
|
:public => true,
|
1317
1315
|
:type => Boolean,
|
1316
|
+
:dynamic_name => true,
|
1318
1317
|
:deprecated => true,
|
1319
1318
|
:allowed_from_server => false,
|
1320
|
-
:description => '
|
1319
|
+
:description => deprecated_description(:'instrumentation.httprb', 'If `true`, the agent won\'t install instrumentation for the http.rb gem.')
|
1321
1320
|
},
|
1322
|
-
:
|
1323
|
-
:default =>
|
1324
|
-
:public =>
|
1321
|
+
:disable_mongo => {
|
1322
|
+
:default => false,
|
1323
|
+
:public => true,
|
1325
1324
|
:type => Boolean,
|
1326
1325
|
:allowed_from_server => false,
|
1327
|
-
:
|
1326
|
+
:dynamic_name => true,
|
1327
|
+
:deprecated => true,
|
1328
|
+
:description => deprecated_description(:'instrumentation.mongo', 'If `true`, the agent won\'t install [instrumentation for the Mongo gem](/docs/agents/ruby-agent/frameworks/mongo-instrumentation).')
|
1328
1329
|
},
|
1329
|
-
:
|
1330
|
-
:default =>
|
1331
|
-
:public =>
|
1330
|
+
:disable_memory_sampler => {
|
1331
|
+
:default => false,
|
1332
|
+
:public => true,
|
1332
1333
|
:type => Boolean,
|
1334
|
+
:dynamic_name => true,
|
1333
1335
|
:allowed_from_server => false,
|
1334
|
-
:description => '
|
1336
|
+
:description => 'If `true`, the agent won\'t sample the memory usage of the host process.'
|
1335
1337
|
},
|
1336
|
-
:
|
1338
|
+
:disable_middleware_instrumentation => {
|
1337
1339
|
:default => false,
|
1338
1340
|
:public => true,
|
1339
1341
|
:type => Boolean,
|
1340
1342
|
:allowed_from_server => false,
|
1341
|
-
:description => '
|
1343
|
+
:description => 'If `true`, the agent won\'t wrap third-party middlewares in instrumentation (regardless of whether they are installed via Rack::Builder or Rails).'
|
1342
1344
|
},
|
1343
|
-
:
|
1344
|
-
:default
|
1345
|
-
:public
|
1346
|
-
:type
|
1345
|
+
:disable_net_http => {
|
1346
|
+
:default => false,
|
1347
|
+
:public => true,
|
1348
|
+
:type => Boolean,
|
1347
1349
|
:dynamic_name => true,
|
1348
1350
|
:allowed_from_server => false,
|
1349
|
-
:
|
1351
|
+
:deprecated => true,
|
1352
|
+
:description => deprecated_description(:'instrumentation.net_http',
|
1353
|
+
'If `true`, disables instrumentation for Net::HTTP.')
|
1350
1354
|
},
|
1351
|
-
:
|
1352
|
-
:default
|
1353
|
-
:
|
1354
|
-
:
|
1355
|
+
:disable_puma_rack => {
|
1356
|
+
:default => value_of(:disable_rack),
|
1357
|
+
:documentation_default => false,
|
1358
|
+
:public => true,
|
1359
|
+
:type => Boolean,
|
1355
1360
|
:dynamic_name => true,
|
1356
1361
|
:allowed_from_server => false,
|
1357
|
-
:
|
1362
|
+
:deprecated => true,
|
1363
|
+
:description => deprecated_description(:'instrumentation.puma_rack', 'If `true`, prevents the agent from hooking into the `to_app` method in Puma::Rack::Builder to find gems to instrument during application startup.')
|
1358
1364
|
},
|
1359
|
-
:
|
1360
|
-
:default
|
1361
|
-
:
|
1362
|
-
:
|
1365
|
+
:disable_puma_rack_urlmap => {
|
1366
|
+
:default => value_of(:disable_rack_urlmap),
|
1367
|
+
:documentation_default => false,
|
1368
|
+
:public => true,
|
1369
|
+
:type => Boolean,
|
1363
1370
|
:dynamic_name => true,
|
1364
1371
|
:allowed_from_server => false,
|
1365
|
-
:
|
1372
|
+
:deprecated => true,
|
1373
|
+
:description => deprecated_description(:'instrumentation.puma_rack_urlmap', 'If `true`, prevents the agent from hooking into Puma::Rack::URLMap to install middleware tracing.')
|
1366
1374
|
},
|
1367
|
-
:
|
1368
|
-
:default
|
1369
|
-
:public
|
1370
|
-
:type
|
1375
|
+
:disable_rack => {
|
1376
|
+
:default => false,
|
1377
|
+
:public => true,
|
1378
|
+
:type => Boolean,
|
1371
1379
|
:dynamic_name => true,
|
1372
1380
|
:allowed_from_server => false,
|
1373
|
-
:
|
1381
|
+
:deprecated => true,
|
1382
|
+
:description => deprecated_description(:'instrumentation.rack', 'If `true`, prevents the agent from hooking into the `to_app` method in Rack::Builder to find gems to instrument during application startup.')
|
1374
1383
|
},
|
1375
|
-
:
|
1376
|
-
:default
|
1377
|
-
:public
|
1378
|
-
:type
|
1384
|
+
:disable_rack_urlmap => {
|
1385
|
+
:default => false,
|
1386
|
+
:public => true,
|
1387
|
+
:type => Boolean,
|
1379
1388
|
:dynamic_name => true,
|
1380
1389
|
:allowed_from_server => false,
|
1381
|
-
:deprecated
|
1382
|
-
:description
|
1383
|
-
'For agent versions 6.3 or higher, ' \
|
1384
|
-
'use <a href="#disable_active_record_notifications"><code>' \
|
1385
|
-
'disable_active_record_notifications' \
|
1386
|
-
'</code></a> instead.'
|
1390
|
+
:deprecated => true,
|
1391
|
+
:description => deprecated_description(:'instrumentation.rack_urlmap', 'If `true`, prevents the agent from hooking into Rack::URLMap to install middleware tracing.')
|
1387
1392
|
},
|
1388
|
-
:
|
1389
|
-
:default
|
1390
|
-
:public
|
1391
|
-
:type
|
1392
|
-
:dynamic_name => true,
|
1393
|
+
:disable_rake => {
|
1394
|
+
:default => false,
|
1395
|
+
:public => true,
|
1396
|
+
:type => Boolean,
|
1393
1397
|
:allowed_from_server => false,
|
1394
|
-
:deprecated
|
1395
|
-
:description
|
1396
|
-
'For agent versions 6.3 or higher, ' \
|
1397
|
-
'use <a href="#disable_active_record_notifications"><code>' \
|
1398
|
-
'disable_active_record_notifications' \
|
1399
|
-
'</code></a> instead.'
|
1398
|
+
:deprecated => true,
|
1399
|
+
:description => deprecated_description(:'instrumentation.rake', 'If `true`, disables Rake instrumentation.')
|
1400
1400
|
},
|
1401
|
-
:
|
1402
|
-
:default
|
1403
|
-
:public
|
1404
|
-
:type
|
1405
|
-
:
|
1401
|
+
:disable_redis => {
|
1402
|
+
:default => false,
|
1403
|
+
:public => true,
|
1404
|
+
:type => Boolean,
|
1405
|
+
:deprecated => true,
|
1406
1406
|
:allowed_from_server => false,
|
1407
|
-
:description
|
1407
|
+
:description => deprecated_description(:'instrumentation.redis', 'If `true`, the agent won\'t install [instrumentation for Redis](/docs/agents/ruby-agent/frameworks/redis-instrumentation).')
|
1408
1408
|
},
|
1409
|
-
:
|
1410
|
-
:default
|
1411
|
-
:public
|
1412
|
-
:type
|
1413
|
-
:
|
1409
|
+
:disable_resque => {
|
1410
|
+
:default => false,
|
1411
|
+
:public => true,
|
1412
|
+
:type => Boolean,
|
1413
|
+
:deprecated => true,
|
1414
1414
|
:allowed_from_server => false,
|
1415
|
-
:description
|
1415
|
+
:description => deprecated_description(:'instrumentation.resque', 'If `true`, disables [Resque instrumentation](/docs/agents/ruby-agent/background-jobs/resque-instrumentation).')
|
1416
1416
|
},
|
1417
|
-
:
|
1418
|
-
:default
|
1419
|
-
:public
|
1420
|
-
:type
|
1421
|
-
:dynamic_name => true,
|
1417
|
+
:disable_samplers => {
|
1418
|
+
:default => false,
|
1419
|
+
:public => true,
|
1420
|
+
:type => Boolean,
|
1422
1421
|
:allowed_from_server => false,
|
1423
|
-
:description
|
1422
|
+
:description => 'If `true`, disables the collection of sampler metrics. Sampler metrics are metrics that are not event-based (such as CPU time or memory usage).'
|
1424
1423
|
},
|
1425
|
-
:
|
1426
|
-
:default
|
1427
|
-
:public
|
1428
|
-
:type
|
1429
|
-
:dynamic_name => true,
|
1424
|
+
:disable_sequel_instrumentation => {
|
1425
|
+
:default => false,
|
1426
|
+
:public => true,
|
1427
|
+
:type => Boolean,
|
1430
1428
|
:allowed_from_server => false,
|
1431
|
-
:description
|
1429
|
+
:description => 'If `true`, disables [Sequel instrumentation](/docs/agents/ruby-agent/frameworks/sequel-instrumentation).'
|
1432
1430
|
},
|
1433
|
-
:
|
1434
|
-
:default
|
1435
|
-
:public
|
1436
|
-
:type
|
1437
|
-
:dynamic_name => true,
|
1431
|
+
:disable_sidekiq => {
|
1432
|
+
:default => false,
|
1433
|
+
:public => true,
|
1434
|
+
:type => Boolean,
|
1438
1435
|
:allowed_from_server => false,
|
1439
|
-
:description
|
1436
|
+
:description => 'If `true`, disables [Sidekiq instrumentation](/docs/agents/ruby-agent/background-jobs/sidekiq-instrumentation).'
|
1440
1437
|
},
|
1441
|
-
:
|
1442
|
-
:default
|
1443
|
-
:public
|
1444
|
-
:type
|
1445
|
-
:
|
1446
|
-
:allowed_from_server => false,
|
1447
|
-
:description => 'If <code>true</code>, disables instrumentation for Net::HTTP.'
|
1448
|
-
},
|
1449
|
-
:disable_rack => {
|
1450
|
-
:default => false,
|
1451
|
-
:public => true,
|
1452
|
-
:type => Boolean,
|
1453
|
-
:dynamic_name => true,
|
1438
|
+
:disable_sinatra => {
|
1439
|
+
:default => false,
|
1440
|
+
:public => true,
|
1441
|
+
:type => Boolean,
|
1442
|
+
:deprecated => true,
|
1454
1443
|
:allowed_from_server => false,
|
1455
|
-
:description
|
1444
|
+
:description => deprecated_description(:'instrumentation.sinatra', 'If `true` , disables [Sinatra instrumentation](/docs/agents/ruby-agent/frameworks/sinatra-support).')
|
1456
1445
|
},
|
1457
|
-
:
|
1458
|
-
:default
|
1459
|
-
:public
|
1460
|
-
:type
|
1461
|
-
:dynamic_name => true,
|
1446
|
+
:disable_sinatra_auto_middleware => {
|
1447
|
+
:default => false,
|
1448
|
+
:public => true,
|
1449
|
+
:type => Boolean,
|
1462
1450
|
:allowed_from_server => false,
|
1463
|
-
:description
|
1451
|
+
:description => <<-DESCRIPTION
|
1452
|
+
If `true`, disables agent middleware for Sinatra. This middleware is responsible for advanced feature support such as [cross application tracing](/docs/apm/transactions/cross-application-traces/cross-application-tracing), [page load timing](/docs/browser/new-relic-browser/getting-started/new-relic-browser), and [error collection](/docs/apm/applications-menu/events/view-apm-error-analytics).
|
1453
|
+
|
1454
|
+
<Callout variant="important">
|
1455
|
+
Cross application tracing is deprecated in favor of [distributed tracing](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing). Distributed tracing is on by default for Ruby agent versions 8.0.0 and above. Middlewares are not required to support distributed tracing.
|
1456
|
+
|
1457
|
+
To continue using cross application tracing, update the following options in your `newrelic.yml` configuration file:
|
1458
|
+
|
1459
|
+
```
|
1460
|
+
# newrelic.yml
|
1461
|
+
|
1462
|
+
cross_application_tracer:
|
1463
|
+
enabled: true
|
1464
|
+
distributed_tracing:
|
1465
|
+
enabled: false
|
1466
|
+
```
|
1467
|
+
</Callout>
|
1468
|
+
DESCRIPTION
|
1464
1469
|
},
|
1465
|
-
:
|
1466
|
-
:default
|
1467
|
-
:public
|
1468
|
-
:type
|
1470
|
+
:disable_typhoeus => {
|
1471
|
+
:default => false,
|
1472
|
+
:public => true,
|
1473
|
+
:type => Boolean,
|
1469
1474
|
:dynamic_name => true,
|
1475
|
+
:deprecated => true,
|
1470
1476
|
:allowed_from_server => false,
|
1471
|
-
:description
|
1477
|
+
:description => deprecated_description(:'instrumentation.typhoeus', 'If `true`, the agent won\'t install instrumentation for the typhoeus gem.')
|
1472
1478
|
},
|
1473
|
-
:
|
1474
|
-
:default
|
1475
|
-
:public
|
1476
|
-
:type
|
1477
|
-
:dynamic_name => true,
|
1479
|
+
:disable_view_instrumentation => {
|
1480
|
+
:default => false,
|
1481
|
+
:public => true,
|
1482
|
+
:type => Boolean,
|
1478
1483
|
:allowed_from_server => false,
|
1479
|
-
:description
|
1484
|
+
:description => 'If `true`, disables view instrumentation.'
|
1480
1485
|
},
|
1481
|
-
:
|
1482
|
-
:default
|
1483
|
-
:public
|
1484
|
-
:type
|
1486
|
+
:disable_vm_sampler => {
|
1487
|
+
:default => false,
|
1488
|
+
:public => true,
|
1489
|
+
:type => Boolean,
|
1485
1490
|
:dynamic_name => true,
|
1486
1491
|
:allowed_from_server => false,
|
1487
|
-
:description
|
1492
|
+
:description => 'If `true`, the agent won\'t [sample performance measurements from the Ruby VM](/docs/agents/ruby-agent/features/ruby-vm-measurements).'
|
1488
1493
|
},
|
1489
|
-
|
1490
|
-
|
1491
|
-
:
|
1492
|
-
:
|
1493
|
-
:
|
1494
|
-
:allowed_from_server =>
|
1495
|
-
:description
|
1494
|
+
# Distributed tracing
|
1495
|
+
:'distributed_tracing.enabled' => {
|
1496
|
+
:default => true,
|
1497
|
+
:public => true,
|
1498
|
+
:type => Boolean,
|
1499
|
+
:allowed_from_server => true,
|
1500
|
+
:description => '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](/docs/transition-guide-distributed-tracing) before you enable this feature.'
|
1496
1501
|
},
|
1497
|
-
|
1498
|
-
|
1499
|
-
:
|
1500
|
-
:
|
1501
|
-
:
|
1502
|
-
:
|
1502
|
+
# Elasticsearch
|
1503
|
+
:'elasticsearch.capture_queries' => {
|
1504
|
+
:default => true,
|
1505
|
+
:public => true,
|
1506
|
+
:type => Boolean,
|
1507
|
+
:allowed_from_server => true,
|
1508
|
+
:description => 'If `true`, the agent captures Elasticsearch queries in transaction traces.'
|
1503
1509
|
},
|
1504
|
-
:
|
1505
|
-
:default
|
1506
|
-
:public
|
1507
|
-
:type
|
1508
|
-
:allowed_from_server =>
|
1509
|
-
:description
|
1510
|
+
:'elasticsearch.obfuscate_queries' => {
|
1511
|
+
:default => true,
|
1512
|
+
:public => true,
|
1513
|
+
:type => Boolean,
|
1514
|
+
:allowed_from_server => true,
|
1515
|
+
:description => 'If `true`, the agent obfuscates Elasticsearch queries in transaction traces.'
|
1510
1516
|
},
|
1517
|
+
# Heroku
|
1511
1518
|
:'heroku.use_dyno_names' => {
|
1512
|
-
:default
|
1513
|
-
:public
|
1514
|
-
:type
|
1519
|
+
:default => true,
|
1520
|
+
:public => true,
|
1521
|
+
:type => Boolean,
|
1515
1522
|
:allowed_from_server => false,
|
1516
|
-
:description
|
1523
|
+
:description => 'If `true`, the agent uses Heroku dyno names as the hostname.'
|
1517
1524
|
},
|
1518
1525
|
:'heroku.dyno_name_prefixes_to_shorten' => {
|
1519
|
-
:default
|
1520
|
-
:public
|
1521
|
-
:type
|
1526
|
+
:default => %w[scheduler run],
|
1527
|
+
:public => true,
|
1528
|
+
:type => Array,
|
1522
1529
|
:allowed_from_server => false,
|
1523
|
-
:transform
|
1524
|
-
:description
|
1530
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1531
|
+
:description => 'Ordinarily the agent reports dyno names with a trailing dot and process ID (for example, <b>worker.3</b>). You can remove this trailing data by specifying the prefixes you want to report without trailing data (for example, <b>worker</b>).'
|
1525
1532
|
},
|
1526
|
-
|
1527
|
-
|
1528
|
-
:
|
1529
|
-
:
|
1533
|
+
# Infinite tracing
|
1534
|
+
:'infinite_tracing.trace_observer.host' => {
|
1535
|
+
:default => '',
|
1536
|
+
:public => true,
|
1537
|
+
:type => String,
|
1530
1538
|
:allowed_from_server => false,
|
1531
|
-
:
|
1539
|
+
:external => :infinite_tracing,
|
1540
|
+
:description => "Configures the hostname for the Trace Observer Host. " \
|
1541
|
+
"When configured, enables tail-based sampling by sending all recorded spans " \
|
1542
|
+
"to a Trace Observer for further sampling decisions, irrespective of any usual " \
|
1543
|
+
"agent sampling decision."
|
1532
1544
|
},
|
1533
|
-
:
|
1534
|
-
:default
|
1535
|
-
:public
|
1536
|
-
:type
|
1545
|
+
:'infinite_tracing.trace_observer.port' => {
|
1546
|
+
:default => 443,
|
1547
|
+
:public => true,
|
1548
|
+
:type => Integer,
|
1537
1549
|
:allowed_from_server => false,
|
1538
|
-
:
|
1539
|
-
|
1540
|
-
:aggressive_keepalive => {
|
1541
|
-
:default => true,
|
1542
|
-
:public => false,
|
1543
|
-
:type => Boolean,
|
1544
|
-
:allowed_from_server => true,
|
1545
|
-
:description => 'If true, attempt to keep the TCP connection to the collector alive between harvests.'
|
1550
|
+
:external => :infinite_tracing,
|
1551
|
+
:description => "Configures the TCP/IP port for the Trace Observer Host"
|
1546
1552
|
},
|
1547
|
-
|
1548
|
-
|
1549
|
-
:
|
1550
|
-
:
|
1551
|
-
:
|
1552
|
-
:
|
1553
|
-
|
1554
|
-
:ca_bundle_path => {
|
1555
|
-
:default => nil,
|
1556
|
-
:allow_nil => true,
|
1557
|
-
:public => true,
|
1558
|
-
:type => String,
|
1553
|
+
# Instrumentation
|
1554
|
+
:'instrumentation.active_support_logger' => {
|
1555
|
+
:default => instrumentation_value_from_boolean(:'application_logging.enabled'),
|
1556
|
+
:documentation_default => 'auto',
|
1557
|
+
:dynamic_name => true,
|
1558
|
+
:public => true,
|
1559
|
+
:type => String,
|
1559
1560
|
:allowed_from_server => false,
|
1560
|
-
:description
|
1561
|
-
},
|
1562
|
-
:'rules.ignore_url_regexes' => {
|
1563
|
-
:default => [],
|
1564
|
-
:public => true,
|
1565
|
-
:type => Array,
|
1566
|
-
:allowed_from_server => true,
|
1567
|
-
:transform => DefaultSource.method(:convert_to_regexp_list),
|
1568
|
-
:description => 'Define transactions you want the agent to ignore, by specifying a list of patterns matching the URI you want to ignore.'
|
1569
|
-
},
|
1570
|
-
:'synthetics.traces_limit' => {
|
1571
|
-
:default => 20,
|
1572
|
-
:public => false,
|
1573
|
-
:type => Integer,
|
1574
|
-
:allowed_from_server => true,
|
1575
|
-
:description => 'Maximum number of synthetics transaction traces to hold for a given harvest'
|
1576
|
-
},
|
1577
|
-
:'synthetics.events_limit' => {
|
1578
|
-
:default => 200,
|
1579
|
-
:public => false,
|
1580
|
-
:type => Integer,
|
1581
|
-
:allowed_from_server => true,
|
1582
|
-
:description => 'Maximum number of synthetics transaction events to hold for a given harvest'
|
1561
|
+
:description => 'Controls auto-instrumentation of ActiveSupport::Logger at start up. May be one of [auto|prepend|chain|disabled].'
|
1583
1562
|
},
|
1584
|
-
:'
|
1585
|
-
:default
|
1586
|
-
:
|
1587
|
-
:
|
1588
|
-
:
|
1589
|
-
:
|
1590
|
-
},
|
1591
|
-
:'custom_insights_events.max_samples_stored' => {
|
1592
|
-
:default => 1000,
|
1593
|
-
:public => true,
|
1594
|
-
:type => Integer,
|
1595
|
-
:allowed_from_server => true,
|
1596
|
-
:description => 'Specify a maximum number of custom Insights events to buffer in memory at a time.',
|
1597
|
-
:dynamic_name => true
|
1598
|
-
},
|
1599
|
-
:disable_grape_instrumentation => {
|
1600
|
-
:default => false,
|
1601
|
-
:public => false,
|
1602
|
-
:type => Boolean,
|
1563
|
+
:'instrumentation.bunny' => {
|
1564
|
+
:default => instrumentation_value_of(:disable_bunny),
|
1565
|
+
:documentation_default => 'auto',
|
1566
|
+
:public => true,
|
1567
|
+
:type => String,
|
1568
|
+
:dynamic_name => true,
|
1603
1569
|
:allowed_from_server => false,
|
1604
|
-
:description
|
1570
|
+
:description => 'Controls auto-instrumentation of bunny at start up. May be one of [auto|prepend|chain|disabled].'
|
1605
1571
|
},
|
1606
|
-
:
|
1607
|
-
:default
|
1608
|
-
:public
|
1609
|
-
:type
|
1572
|
+
:'instrumentation.concurrent_ruby' => {
|
1573
|
+
:default => 'auto',
|
1574
|
+
:public => true,
|
1575
|
+
:type => String,
|
1576
|
+
:dynamic_name => true,
|
1610
1577
|
:allowed_from_server => false,
|
1611
|
-
:description
|
1578
|
+
:description => 'Controls auto-instrumentation of the concurrent-ruby library at start up. May be one of [auto|prepend|chain|disabled].'
|
1612
1579
|
},
|
1613
|
-
:'
|
1614
|
-
:default
|
1615
|
-
:
|
1616
|
-
:
|
1580
|
+
:'instrumentation.curb' => {
|
1581
|
+
:default => instrumentation_value_of(:disable_curb),
|
1582
|
+
:documentation_default => 'auto',
|
1583
|
+
:public => true,
|
1584
|
+
:type => String,
|
1585
|
+
:dynamic_name => true,
|
1617
1586
|
:allowed_from_server => false,
|
1618
|
-
:description => '
|
1587
|
+
:description => 'Controls auto-instrumentation of Curb at start up. May be one of [auto|prepend|chain|disabled].'
|
1619
1588
|
},
|
1620
|
-
:'
|
1621
|
-
:default
|
1622
|
-
:
|
1623
|
-
:
|
1589
|
+
:'instrumentation.delayed_job' => {
|
1590
|
+
:default => instrumentation_value_of(:disable_dj),
|
1591
|
+
:documentation_default => 'auto',
|
1592
|
+
:public => true,
|
1593
|
+
:type => String,
|
1594
|
+
:dynamic_name => true,
|
1624
1595
|
:allowed_from_server => false,
|
1625
|
-
:description => '
|
1596
|
+
:description => 'Controls auto-instrumentation of Delayed Job at start up. May be one of [auto|prepend|chain|disabled].'
|
1626
1597
|
},
|
1627
|
-
:'
|
1628
|
-
:default
|
1629
|
-
:public
|
1630
|
-
:type
|
1598
|
+
:'instrumentation.elasticsearch' => {
|
1599
|
+
:default => 'auto',
|
1600
|
+
:public => true,
|
1601
|
+
:type => String,
|
1602
|
+
:dynamic_name => true,
|
1631
1603
|
:allowed_from_server => false,
|
1632
|
-
:description => '
|
1604
|
+
:description => 'Controls auto-instrumentation of the elasticsearch library at start up. May be one of [auto|prepend|chain|disabled].'
|
1633
1605
|
},
|
1634
|
-
:'
|
1635
|
-
:default
|
1636
|
-
:
|
1637
|
-
:
|
1606
|
+
:'instrumentation.excon' => {
|
1607
|
+
:default => instrumentation_value_of(:disable_excon),
|
1608
|
+
:documentation_default => 'enabled',
|
1609
|
+
:public => :true,
|
1610
|
+
:type => String,
|
1611
|
+
:dynamic_name => true,
|
1638
1612
|
:allowed_from_server => false,
|
1639
|
-
:description =>
|
1613
|
+
:description => "Controls auto-instrumentation of Excon at start up. May be one of [enabled|disabled]."
|
1640
1614
|
},
|
1641
|
-
:'
|
1642
|
-
:default
|
1643
|
-
:
|
1644
|
-
:
|
1615
|
+
:'instrumentation.grape' => {
|
1616
|
+
:default => instrumentation_value_of(:disable_grape_instrumentation),
|
1617
|
+
:documentation_default => 'auto',
|
1618
|
+
:public => :true,
|
1619
|
+
:type => String,
|
1620
|
+
:dynamic_name => true,
|
1645
1621
|
:allowed_from_server => false,
|
1646
|
-
:description =>
|
1622
|
+
:description => "Controls auto-instrumentation of Grape at start up. May be one of [auto|prepend|chain|disabled]."
|
1647
1623
|
},
|
1648
|
-
:'
|
1649
|
-
:default
|
1650
|
-
:
|
1651
|
-
:
|
1624
|
+
:'instrumentation.grpc_client' => {
|
1625
|
+
:default => instrumentation_value_of(:disable_grpc_client),
|
1626
|
+
:documentation_default => 'auto',
|
1627
|
+
:public => true,
|
1628
|
+
:type => String,
|
1629
|
+
:dynamic_name => true,
|
1652
1630
|
:allowed_from_server => false,
|
1653
|
-
:description => '
|
1631
|
+
:description => 'Controls auto-instrumentation of gRPC clients at start up. May be one of [auto|prepend|chain|disabled].'
|
1654
1632
|
},
|
1655
|
-
:'
|
1656
|
-
:default
|
1657
|
-
:public
|
1658
|
-
:type
|
1633
|
+
:'instrumentation.grpc.host_denylist' => {
|
1634
|
+
:default => [],
|
1635
|
+
:public => true,
|
1636
|
+
:type => Array,
|
1659
1637
|
:allowed_from_server => false,
|
1660
|
-
:
|
1638
|
+
:transform => DefaultSource.method(:convert_to_regexp_list),
|
1639
|
+
:description => %Q(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.*")
|
1661
1640
|
},
|
1662
|
-
:'
|
1663
|
-
:default
|
1664
|
-
:
|
1665
|
-
:
|
1641
|
+
:'instrumentation.grpc_server' => {
|
1642
|
+
:default => instrumentation_value_of(:disable_grpc_server),
|
1643
|
+
:documentation_default => 'auto',
|
1644
|
+
:public => true,
|
1645
|
+
:type => String,
|
1646
|
+
:dynamic_name => true,
|
1666
1647
|
:allowed_from_server => false,
|
1667
|
-
:
|
1668
|
-
:description => 'Prefix of attributes to exclude from all destinations. Allows <code>*</code> as wildcard at end.'
|
1648
|
+
:description => 'Controls auto-instrumentation of gRPC servers at start up. May be one of [auto|prepend|chain|disabled].'
|
1669
1649
|
},
|
1670
|
-
:'
|
1671
|
-
:default
|
1672
|
-
:
|
1673
|
-
:
|
1650
|
+
:'instrumentation.httpclient' => {
|
1651
|
+
:default => instrumentation_value_of(:disable_httpclient),
|
1652
|
+
:documentation_default => 'auto',
|
1653
|
+
:public => true,
|
1654
|
+
:type => String,
|
1655
|
+
:dynamic_name => true,
|
1674
1656
|
:allowed_from_server => false,
|
1675
|
-
:
|
1676
|
-
:description => 'Prefix of attributes to exclude from transaction traces. Allows <code>*</code> as wildcard at end.'
|
1657
|
+
:description => "Controls auto-instrumentation of HTTPClient at start up. May be one of [auto|prepend|chain|disabled]."
|
1677
1658
|
},
|
1678
|
-
:'
|
1679
|
-
:default
|
1680
|
-
:
|
1681
|
-
:
|
1659
|
+
:'instrumentation.httprb' => {
|
1660
|
+
:default => instrumentation_value_of(:disable_httprb),
|
1661
|
+
:documentation_default => 'auto',
|
1662
|
+
:public => true,
|
1663
|
+
:type => String,
|
1664
|
+
:dynamic_name => true,
|
1682
1665
|
:allowed_from_server => false,
|
1683
|
-
:
|
1684
|
-
:description => 'Prefix of attributes to exclude from transaction events. Allows <code>*</code> as wildcard at end.'
|
1666
|
+
:description => 'Controls auto-instrumentation of http.rb gem at start up. May be one of [auto|prepend|chain|disabled].'
|
1685
1667
|
},
|
1686
|
-
:'
|
1687
|
-
:default
|
1688
|
-
:
|
1689
|
-
:
|
1668
|
+
:'instrumentation.logger' => {
|
1669
|
+
:default => instrumentation_value_from_boolean(:'application_logging.enabled'),
|
1670
|
+
:documentation_default => 'auto',
|
1671
|
+
:public => true,
|
1672
|
+
:type => String,
|
1673
|
+
:dynamic_name => true,
|
1690
1674
|
:allowed_from_server => false,
|
1691
|
-
:
|
1692
|
-
:description => 'Prefix of attributes to exclude from error collection. Allows <code>*</code> as wildcard at end.'
|
1675
|
+
:description => 'Controls auto-instrumentation of Ruby standard library Logger at start up. May be one of [auto|prepend|chain|disabled].'
|
1693
1676
|
},
|
1694
|
-
:'
|
1695
|
-
:default
|
1696
|
-
:
|
1697
|
-
:
|
1677
|
+
:'instrumentation.memcache' => {
|
1678
|
+
:default => instrumentation_value_of(:disable_dalli),
|
1679
|
+
:documentation_default => 'auto',
|
1680
|
+
:public => true,
|
1681
|
+
:type => String,
|
1682
|
+
:dynamic_name => true,
|
1698
1683
|
:allowed_from_server => false,
|
1699
|
-
:
|
1700
|
-
:description => 'Prefix of attributes to exclude from browser monitoring. Allows <code>*</code> as wildcard at end.'
|
1684
|
+
:description => 'Controls auto-instrumentation of dalli gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
|
1701
1685
|
},
|
1702
|
-
:'
|
1703
|
-
:default
|
1704
|
-
:
|
1705
|
-
:
|
1686
|
+
:'instrumentation.memcached' => {
|
1687
|
+
:default => instrumentation_value_of(:disable_memcached),
|
1688
|
+
:documentation_default => 'auto',
|
1689
|
+
:public => true,
|
1690
|
+
:type => String,
|
1691
|
+
:dynamic_name => true,
|
1706
1692
|
:allowed_from_server => false,
|
1707
|
-
:
|
1708
|
-
:description => 'Prefix of attributes to exclude from span events. Allows <code>*</code> as wildcard at end.'
|
1693
|
+
:description => 'Controls auto-instrumentation of memcached gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
|
1709
1694
|
},
|
1710
|
-
:'
|
1711
|
-
:default
|
1712
|
-
:
|
1713
|
-
:
|
1695
|
+
:'instrumentation.memcache_client' => {
|
1696
|
+
:default => instrumentation_value_of(:disable_memcache_client),
|
1697
|
+
:documentation_default => 'auto',
|
1698
|
+
:public => true,
|
1699
|
+
:type => String,
|
1700
|
+
:dynamic_name => true,
|
1714
1701
|
:allowed_from_server => false,
|
1715
|
-
:
|
1716
|
-
:description => 'Prefix of attributes to exclude from transaction segments. Allows <code>*</code> as wildcard at end.'
|
1702
|
+
:description => 'Controls auto-instrumentation of memcache-client gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
|
1717
1703
|
},
|
1718
|
-
:'
|
1719
|
-
:default
|
1720
|
-
:
|
1721
|
-
:
|
1704
|
+
:'instrumentation.mongo' => {
|
1705
|
+
:default => instrumentation_value_of(:disable_mongo),
|
1706
|
+
:documentation_default => 'enabled',
|
1707
|
+
:public => :true,
|
1708
|
+
:type => String,
|
1709
|
+
:dynamic_name => true,
|
1722
1710
|
:allowed_from_server => false,
|
1723
|
-
:
|
1724
|
-
:description => 'Prefix of attributes to include in all destinations. Allows <code>*</code> as wildcard at end.'
|
1711
|
+
:description => "Controls auto-instrumentation of Mongo at start up. May be one of [enabled|disabled]."
|
1725
1712
|
},
|
1726
|
-
:'
|
1727
|
-
:default
|
1728
|
-
:
|
1729
|
-
:
|
1713
|
+
:'instrumentation.net_http' => {
|
1714
|
+
:default => instrumentation_value_of(:disable_net_http, :prepend_net_instrumentation),
|
1715
|
+
:documentation_default => 'auto',
|
1716
|
+
:public => true,
|
1717
|
+
:type => String,
|
1718
|
+
:dynamic_name => true,
|
1730
1719
|
:allowed_from_server => false,
|
1731
|
-
:
|
1732
|
-
:description => 'Prefix of attributes to include in transaction traces. Allows <code>*</code> as wildcard at end.'
|
1720
|
+
:description => "Controls auto-instrumentation of Net::HTTP at start up. May be one of [auto|prepend|chain|disabled]."
|
1733
1721
|
},
|
1734
|
-
:'
|
1735
|
-
:default
|
1736
|
-
:
|
1737
|
-
:
|
1722
|
+
:'instrumentation.puma_rack' => {
|
1723
|
+
:default => instrumentation_value_of(:disable_puma_rack), # TODO: MAJOR VERSION - change to value_of(:'instrumentation.rack') when we remove :disable_puma_rack in 8.0)
|
1724
|
+
:documentation_default => 'auto',
|
1725
|
+
:public => true,
|
1726
|
+
:type => String,
|
1727
|
+
:dynamic_name => true,
|
1738
1728
|
:allowed_from_server => false,
|
1739
|
-
:
|
1740
|
-
|
1729
|
+
:description => "Controls auto-instrumentation of Puma::Rack. When enabled, the agent hooks into the " \
|
1730
|
+
"`to_app` method in Puma::Rack::Builder to find gems to instrument during " \
|
1731
|
+
"application startup. May be one of [auto|prepend|chain|disabled]."
|
1741
1732
|
},
|
1742
|
-
:'
|
1743
|
-
:default
|
1744
|
-
:
|
1745
|
-
:
|
1733
|
+
:'instrumentation.puma_rack_urlmap' => {
|
1734
|
+
:default => instrumentation_value_of(:disable_puma_rack_urlmap), # TODO: MAJOR VERSION - change to value_of(:'instrumentation.rack_urlmap') when we remove :disable_puma_rack_urlmap in 8.0)
|
1735
|
+
:documentation_default => 'auto',
|
1736
|
+
:public => true,
|
1737
|
+
:type => String,
|
1738
|
+
:dynamic_name => true,
|
1746
1739
|
:allowed_from_server => false,
|
1747
|
-
:
|
1748
|
-
:description => 'Prefix of attributes to include in error collection. Allows <code>*</code> as wildcard at end.'
|
1740
|
+
:description => 'Controls auto-instrumentation of Puma::Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
|
1749
1741
|
},
|
1750
|
-
:'
|
1751
|
-
:default
|
1752
|
-
:
|
1753
|
-
:
|
1742
|
+
:'instrumentation.rack' => {
|
1743
|
+
:default => instrumentation_value_of(:disable_rack),
|
1744
|
+
:documentation_default => 'auto',
|
1745
|
+
:public => true,
|
1746
|
+
:type => String,
|
1747
|
+
:dynamic_name => true,
|
1754
1748
|
:allowed_from_server => false,
|
1755
|
-
:
|
1756
|
-
|
1749
|
+
:description => "Controls auto-instrumentation of Rack. When enabled, the agent hooks into the " \
|
1750
|
+
"`to_app` method in Rack::Builder to find gems to instrument during " \
|
1751
|
+
"application startup. May be one of [auto|prepend|chain|disabled]."
|
1757
1752
|
},
|
1758
|
-
:'
|
1759
|
-
:default
|
1760
|
-
:
|
1761
|
-
:
|
1753
|
+
:'instrumentation.rack_urlmap' => {
|
1754
|
+
:default => instrumentation_value_of(:disable_rack_urlmap),
|
1755
|
+
:documentation_default => 'auto',
|
1756
|
+
:public => true,
|
1757
|
+
:type => String,
|
1758
|
+
:dynamic_name => true,
|
1762
1759
|
:allowed_from_server => false,
|
1763
|
-
:
|
1764
|
-
:description => 'Prefix of attributes to include on span events. Allows <code>*</code> as wildcard at end.'
|
1760
|
+
:description => 'Controls auto-instrumentation of Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
|
1765
1761
|
},
|
1766
|
-
:'
|
1767
|
-
:default
|
1768
|
-
:
|
1769
|
-
:
|
1762
|
+
:'instrumentation.rake' => {
|
1763
|
+
:default => instrumentation_value_of(:disable_rake),
|
1764
|
+
:documentation_default => 'auto',
|
1765
|
+
:public => :true,
|
1766
|
+
:type => String,
|
1767
|
+
:dynamic_name => true,
|
1770
1768
|
:allowed_from_server => false,
|
1771
|
-
:
|
1772
|
-
:description => 'Prefix of attributes to include on transaction segments. Allows <code>*</code> as wildcard at end.'
|
1769
|
+
:description => "Controls auto-instrumentation of rake at start up. May be one of [auto|prepend|chain|disabled]."
|
1773
1770
|
},
|
1774
|
-
:'
|
1775
|
-
:default
|
1776
|
-
:
|
1777
|
-
:
|
1771
|
+
:'instrumentation.redis' => {
|
1772
|
+
:default => instrumentation_value_of(:disable_redis),
|
1773
|
+
:documentation_default => 'auto',
|
1774
|
+
:public => true,
|
1775
|
+
:type => String,
|
1776
|
+
:dynamic_name => true,
|
1778
1777
|
:allowed_from_server => false,
|
1779
|
-
:description =>
|
1778
|
+
:description => "Controls auto-instrumentation of Redis at start up. May be one of [auto|prepend|chain|disabled]."
|
1780
1779
|
},
|
1781
|
-
:'
|
1782
|
-
:default
|
1783
|
-
:
|
1784
|
-
:
|
1785
|
-
:
|
1780
|
+
:'instrumentation.resque' => {
|
1781
|
+
:default => instrumentation_value_of(:disable_resque),
|
1782
|
+
:documentation_default => 'auto',
|
1783
|
+
:public => true,
|
1784
|
+
:type => String,
|
1786
1785
|
:dynamic_name => true,
|
1787
|
-
:description => 'If <code>true</code>, the agent automatically detects that it is running in an AWS environment.'
|
1788
|
-
},
|
1789
|
-
:'utilization.detect_azure' => {
|
1790
|
-
:default => true,
|
1791
|
-
:public => true,
|
1792
|
-
:type => Boolean,
|
1793
1786
|
:allowed_from_server => false,
|
1794
|
-
:
|
1795
|
-
:description => 'If <code>true</code>, the agent automatically detects that it is running in an Azure environment.'
|
1787
|
+
:description => "Controls auto-instrumentation of resque at start up. May be one of [auto|prepend|chain|disabled]."
|
1796
1788
|
},
|
1797
|
-
:'
|
1798
|
-
:default
|
1799
|
-
:
|
1800
|
-
:
|
1801
|
-
:
|
1789
|
+
:'instrumentation.sinatra' => {
|
1790
|
+
:default => instrumentation_value_of(:disable_sinatra),
|
1791
|
+
:documentation_default => 'auto',
|
1792
|
+
:public => :true,
|
1793
|
+
:type => String,
|
1802
1794
|
:dynamic_name => true,
|
1803
|
-
:description => 'If <code>true</code>, the agent automatically detects that it is running in an Google Cloud Platform environment.'
|
1804
|
-
},
|
1805
|
-
:'utilization.detect_pcf' => {
|
1806
|
-
:default => true,
|
1807
|
-
:public => true,
|
1808
|
-
:type => Boolean,
|
1809
1795
|
:allowed_from_server => false,
|
1810
|
-
:
|
1811
|
-
:description => 'If <code>true</code>, the agent automatically detects that it is running in a Pivotal Cloud Foundry environment.'
|
1796
|
+
:description => "Controls auto-instrumentation of Sinatra at start up. May be one of [auto|prepend|chain|disabled]."
|
1812
1797
|
},
|
1813
|
-
:'
|
1814
|
-
:default
|
1815
|
-
:public
|
1816
|
-
:type
|
1798
|
+
:'instrumentation.thread' => {
|
1799
|
+
:default => 'auto',
|
1800
|
+
:public => true,
|
1801
|
+
:type => String,
|
1802
|
+
:dynamic_name => true,
|
1817
1803
|
:allowed_from_server => false,
|
1818
|
-
:description =>
|
1804
|
+
:description => "Controls auto-instrumentation of the Thread class at start up to allow the agent to correctly nest spans inside of an asynchronous transaction. This does not enable the agent to automatically trace all threads created (see `instrumentation.thread.tracing`). May be one of [auto|prepend|chain|disabled]."
|
1819
1805
|
},
|
1820
|
-
:'
|
1821
|
-
:default
|
1822
|
-
:public
|
1823
|
-
:type
|
1806
|
+
:'instrumentation.thread.tracing' => {
|
1807
|
+
:default => false,
|
1808
|
+
:public => true,
|
1809
|
+
:type => Boolean,
|
1824
1810
|
:allowed_from_server => false,
|
1825
|
-
:description =>
|
1811
|
+
:description => "Controls auto-instrumentation of the Thread class at start up to automatically add tracing to all Threads created in the application."
|
1826
1812
|
},
|
1827
|
-
:'
|
1828
|
-
:default
|
1829
|
-
:
|
1830
|
-
:
|
1831
|
-
:type => String,
|
1813
|
+
:'thread_ids_enabled' => {
|
1814
|
+
:default => false,
|
1815
|
+
:public => false,
|
1816
|
+
:type => Boolean,
|
1832
1817
|
:allowed_from_server => false,
|
1833
|
-
:description =>
|
1818
|
+
:description => "If enabled, will append the current Thread and Fiber object ids onto the segment names of segments created in Threads and concurrent-ruby"
|
1834
1819
|
},
|
1835
|
-
:'
|
1836
|
-
:default
|
1837
|
-
:
|
1838
|
-
:
|
1839
|
-
:
|
1820
|
+
:'instrumentation.tilt' => {
|
1821
|
+
:default => "auto",
|
1822
|
+
:public => true,
|
1823
|
+
:type => String,
|
1824
|
+
:dynamic_name => true,
|
1840
1825
|
:allowed_from_server => false,
|
1841
|
-
:description => '
|
1826
|
+
:description => 'Controls auto-instrumentation of the Tilt template rendering library at start up. May be one of [auto|prepend|chain|disabled].'
|
1842
1827
|
},
|
1843
|
-
:'
|
1844
|
-
:default
|
1845
|
-
:
|
1846
|
-
:public
|
1847
|
-
:type
|
1828
|
+
:'instrumentation.typhoeus' => {
|
1829
|
+
:default => instrumentation_value_of(:disable_typhoeus),
|
1830
|
+
:documentation_default => 'auto',
|
1831
|
+
:public => true,
|
1832
|
+
:type => String,
|
1833
|
+
:dynamic_name => true,
|
1848
1834
|
:allowed_from_server => false,
|
1849
|
-
:description =>
|
1835
|
+
:description => "Controls auto-instrumentation of Typhoeus at start up. May be one of [auto|prepend|chain|disabled]."
|
1850
1836
|
},
|
1851
|
-
|
1852
|
-
|
1853
|
-
:
|
1854
|
-
:
|
1855
|
-
:
|
1856
|
-
:
|
1837
|
+
# Message tracer
|
1838
|
+
:'message_tracer.segment_parameters.enabled' => {
|
1839
|
+
:default => true,
|
1840
|
+
:public => true,
|
1841
|
+
:type => Boolean,
|
1842
|
+
:allowed_from_server => true,
|
1843
|
+
:description => 'If `true`, the agent will collect metadata about messages and attach them as segment parameters.'
|
1857
1844
|
},
|
1858
|
-
|
1859
|
-
|
1860
|
-
:
|
1861
|
-
:
|
1862
|
-
:
|
1863
|
-
:
|
1845
|
+
# Mongo
|
1846
|
+
:'mongo.capture_queries' => {
|
1847
|
+
:default => true,
|
1848
|
+
:public => true,
|
1849
|
+
:type => Boolean,
|
1850
|
+
:allowed_from_server => true,
|
1851
|
+
:description => 'If `true`, the agent captures Mongo queries in transaction traces.'
|
1864
1852
|
},
|
1865
|
-
:'
|
1866
|
-
:default
|
1867
|
-
:public
|
1868
|
-
:type
|
1853
|
+
:'mongo.obfuscate_queries' => {
|
1854
|
+
:default => true,
|
1855
|
+
:public => true,
|
1856
|
+
:type => Boolean,
|
1857
|
+
:allowed_from_server => true,
|
1858
|
+
:description => 'If `true`, the agent obfuscates Mongo queries in transaction traces.'
|
1859
|
+
},
|
1860
|
+
# Process host
|
1861
|
+
:'process_host.display_name' => {
|
1862
|
+
:default => proc { NewRelic::Agent::Hostname.get },
|
1863
|
+
:public => true,
|
1864
|
+
:type => String,
|
1869
1865
|
:allowed_from_server => false,
|
1870
|
-
:description => '
|
1866
|
+
:description => 'Specify a custom host name for [display in the New Relic UI](/docs/apm/new-relic-apm/maintenance/add-rename-remove-hosts#display_name).'
|
1871
1867
|
},
|
1872
|
-
|
1873
|
-
|
1874
|
-
:
|
1868
|
+
# Rails
|
1869
|
+
:'defer_rails_initialization' => {
|
1870
|
+
:default => false,
|
1875
1871
|
:public => false,
|
1876
|
-
:type =>
|
1877
|
-
:allowed_from_server =>
|
1878
|
-
:description => '
|
1872
|
+
:type => Boolean,
|
1873
|
+
:allowed_from_server => false,
|
1874
|
+
:description => 'This configuration option is currently unreachable. Please do not use. ' \
|
1875
|
+
'If `true`, when the agent is in an application using Ruby on Rails, it will start after ' \
|
1876
|
+
'config/initializers have run.'
|
1879
1877
|
},
|
1880
|
-
|
1878
|
+
# Rake
|
1879
|
+
:'rake.tasks' => {
|
1880
|
+
:default => [],
|
1881
|
+
:public => true,
|
1882
|
+
:type => Array,
|
1883
|
+
:allowed_from_server => false,
|
1884
|
+
:transform => DefaultSource.method(:convert_to_regexp_list),
|
1885
|
+
:description => 'Specify an Array of Rake tasks to automatically instrument. ' \
|
1886
|
+
'This configuration option converts the Array to a RegEx list. If you\'d like ' \
|
1887
|
+
'to allow all tasks by default, use `rake.tasks: [.+]`. No rake tasks will be ' \
|
1888
|
+
'instrumented unless they\'re added to this list. For more information, ' \
|
1889
|
+
'visit the (New Relic Rake Instrumentation docs)[/docs/apm/agents/ruby-agent/background-jobs/rake-instrumentation].'
|
1890
|
+
},
|
1891
|
+
:'rake.connect_timeout' => {
|
1892
|
+
:default => 10,
|
1893
|
+
:public => true,
|
1894
|
+
:type => Integer,
|
1895
|
+
:allowed_from_server => false,
|
1896
|
+
:description => 'Timeout for waiting on connect to complete before a rake task'
|
1897
|
+
},
|
1898
|
+
# Resque
|
1899
|
+
:'resque.capture_params' => {
|
1900
|
+
:default => false,
|
1901
|
+
:public => true,
|
1902
|
+
:type => Boolean,
|
1903
|
+
:allowed_from_server => false,
|
1904
|
+
:dynamic_name => true,
|
1905
|
+
:deprecated => true,
|
1906
|
+
:description => 'If `true`, enables the capture of job arguments for transaction traces and traced errors in Resque.'
|
1907
|
+
},
|
1908
|
+
# Rules
|
1909
|
+
:'rules.ignore_url_regexes' => {
|
1910
|
+
:default => [],
|
1911
|
+
:public => true,
|
1912
|
+
:type => Array,
|
1913
|
+
:allowed_from_server => true,
|
1914
|
+
:transform => DefaultSource.method(:convert_to_regexp_list),
|
1915
|
+
:description => 'Define transactions you want the agent to ignore, by specifying a list of patterns matching the URI you want to ignore. For more detail, see [the docs on ignoring specific transactions](/docs/agents/ruby-agent/api-guides/ignoring-specific-transactions/#config-ignoring).'
|
1916
|
+
},
|
1917
|
+
# Sidekiq
|
1918
|
+
:'sidekiq.capture_params' => {
|
1919
|
+
:default => false,
|
1920
|
+
:public => true,
|
1921
|
+
:type => Boolean,
|
1922
|
+
:allowed_from_server => false,
|
1923
|
+
:dynamic_name => true,
|
1924
|
+
:deprecated => true,
|
1925
|
+
:description => 'If `true`, enables the capture of job arguments for transaction traces and traced errors in Sidekiq.'
|
1926
|
+
},
|
1927
|
+
# Slow SQL
|
1928
|
+
:'slow_sql.enabled' => {
|
1929
|
+
:default => value_of(:'transaction_tracer.enabled'),
|
1930
|
+
:documentation_default => true,
|
1931
|
+
:public => true,
|
1932
|
+
:type => Boolean,
|
1933
|
+
:allowed_from_server => true,
|
1934
|
+
:description => 'If `true`, the agent collects [slow SQL queries](/docs/apm/applications-menu/monitoring/viewing-slow-query-details).'
|
1935
|
+
},
|
1936
|
+
:'slow_sql.explain_threshold' => {
|
1937
|
+
:default => value_of(:'transaction_tracer.explain_threshold'),
|
1938
|
+
:documentation_default => 0.5,
|
1939
|
+
:public => true,
|
1940
|
+
:type => Float,
|
1941
|
+
:allowed_from_server => true,
|
1942
|
+
:description => 'Specify a threshold in seconds. The agent collects [slow SQL queries](/docs/apm/applications-menu/monitoring/viewing-slow-query-details) and explain plans that exceed this threshold.'
|
1943
|
+
},
|
1944
|
+
:'slow_sql.explain_enabled' => {
|
1945
|
+
:default => value_of(:'transaction_tracer.explain_enabled'),
|
1946
|
+
:documentation_default => true,
|
1947
|
+
:public => true,
|
1948
|
+
:type => Boolean,
|
1949
|
+
:allowed_from_server => true,
|
1950
|
+
:description => 'If `true`, the agent collects explain plans in slow SQL queries. If this setting is omitted, the [`transaction_tracer.explain_enabled`](#transaction_tracer-explain_enabled) setting will be applied as the default setting for explain plans in slow SQL as well.'
|
1951
|
+
},
|
1952
|
+
:'slow_sql.record_sql' => {
|
1953
|
+
:default => value_of(:'transaction_tracer.record_sql'),
|
1954
|
+
:documentation_default => 'obfuscated',
|
1955
|
+
:public => true,
|
1956
|
+
:type => String,
|
1957
|
+
:allowed_from_server => true,
|
1958
|
+
:description => 'Defines an obfuscation level for slow SQL queries. Valid options are `obfuscated`, `raw`, or `none`).'
|
1959
|
+
},
|
1960
|
+
:'slow_sql.use_longer_sql_id' => {
|
1961
|
+
:default => false,
|
1962
|
+
:public => true,
|
1963
|
+
:type => Boolean,
|
1964
|
+
:allowed_from_server => true,
|
1965
|
+
:description => 'Generate a longer sql_id for slow SQL traces. sql_id is used for aggregation of similar queries.'
|
1966
|
+
},
|
1967
|
+
# Span events
|
1968
|
+
:'span_events.enabled' => {
|
1969
|
+
:default => true,
|
1970
|
+
:public => true,
|
1971
|
+
:type => Boolean,
|
1972
|
+
:allowed_from_server => true,
|
1973
|
+
:description => 'If `true`, enables span event sampling.'
|
1974
|
+
},
|
1975
|
+
:'span_events.queue_size' => {
|
1976
|
+
:default => 10_000,
|
1977
|
+
:public => true,
|
1978
|
+
:type => Integer,
|
1979
|
+
:allowed_from_server => false,
|
1980
|
+
:external => :infinite_tracing,
|
1981
|
+
:description => "Sets the maximum number of span events to buffer when streaming to the trace observer."
|
1982
|
+
},
|
1983
|
+
:'span_events.max_samples_stored' => {
|
1984
|
+
:default => 2000,
|
1985
|
+
:public => true,
|
1986
|
+
:type => Integer,
|
1987
|
+
:allowed_from_server => true,
|
1988
|
+
:description => 'Defines the maximum number of span events reported from a single harvest. Any Integer between 1 and 10000 is valid.'
|
1989
|
+
},
|
1990
|
+
# Strip exception messages
|
1991
|
+
:'strip_exception_messages.enabled' => {
|
1992
|
+
:default => value_of(:high_security),
|
1993
|
+
:documentation_default => false,
|
1994
|
+
:public => true,
|
1995
|
+
:type => Boolean,
|
1996
|
+
:allowed_from_server => false,
|
1997
|
+
:description => 'If true, the agent strips messages from all exceptions except those in the [allowlist](#strip_exception_messages-allowlist). Enabled automatically in [high security mode](/docs/accounts-partnerships/accounts/security/high-security).'
|
1998
|
+
},
|
1999
|
+
:'strip_exception_messages.allowed_classes' => {
|
2000
|
+
:default => '',
|
2001
|
+
:public => true,
|
2002
|
+
:type => String,
|
2003
|
+
:allowed_from_server => false,
|
2004
|
+
:transform => DefaultSource.method(:convert_to_constant_list),
|
2005
|
+
:description => 'Specify a list of exceptions you do not want the agent to strip when [strip_exception_messages](#strip_exception_messages-enabled) is `true`. Separate exceptions with a comma. For example, `"ImportantException,PreserveMessageException"`.'
|
2006
|
+
},
|
2007
|
+
# Thread profiler
|
2008
|
+
:'thread_profiler.enabled' => {
|
2009
|
+
:default => DefaultSource.thread_profiler_enabled,
|
2010
|
+
:documentation_default => false,
|
2011
|
+
:public => true,
|
2012
|
+
:type => Boolean,
|
2013
|
+
:allowed_from_server => true,
|
2014
|
+
:description => 'If `true`, enables use of the [thread profiler](/docs/apm/applications-menu/events/thread-profiler-tool).'
|
2015
|
+
},
|
2016
|
+
# Utilization
|
2017
|
+
:'utilization.detect_aws' => {
|
2018
|
+
:default => true,
|
2019
|
+
:public => true,
|
2020
|
+
:type => Boolean,
|
2021
|
+
:allowed_from_server => false,
|
2022
|
+
:dynamic_name => true,
|
2023
|
+
:description => 'If `true`, the agent automatically detects that it is running in an AWS environment.'
|
2024
|
+
},
|
2025
|
+
:'utilization.detect_azure' => {
|
2026
|
+
:default => true,
|
2027
|
+
:public => true,
|
2028
|
+
:type => Boolean,
|
2029
|
+
:allowed_from_server => false,
|
2030
|
+
:dynamic_name => true,
|
2031
|
+
:description => 'If `true`, the agent automatically detects that it is running in an Azure environment.'
|
2032
|
+
},
|
2033
|
+
:'utilization.detect_docker' => {
|
2034
|
+
:default => true,
|
2035
|
+
:public => true,
|
2036
|
+
:type => Boolean,
|
2037
|
+
:allowed_from_server => false,
|
2038
|
+
:description => 'If `true`, the agent automatically detects that it is running in Docker.'
|
2039
|
+
},
|
2040
|
+
:'utilization.detect_gcp' => {
|
2041
|
+
:default => true,
|
2042
|
+
:public => true,
|
2043
|
+
:type => Boolean,
|
2044
|
+
:allowed_from_server => false,
|
2045
|
+
:dynamic_name => true,
|
2046
|
+
:description => 'If `true`, the agent automatically detects that it is running in an Google Cloud Platform environment.'
|
2047
|
+
},
|
2048
|
+
:'utilization.detect_kubernetes' => {
|
2049
|
+
:default => true,
|
2050
|
+
:public => true,
|
2051
|
+
:type => Boolean,
|
2052
|
+
:allowed_from_server => false,
|
2053
|
+
:description => 'If `true`, the agent automatically detects that it is running in Kubernetes.'
|
2054
|
+
},
|
2055
|
+
:'utilization.detect_pcf' => {
|
2056
|
+
:default => true,
|
2057
|
+
:public => true,
|
2058
|
+
:type => Boolean,
|
2059
|
+
:allowed_from_server => false,
|
2060
|
+
:dynamic_name => true,
|
2061
|
+
:description => 'If `true`, the agent automatically detects that it is running in a Pivotal Cloud Foundry environment.'
|
2062
|
+
},
|
2063
|
+
# Private
|
2064
|
+
:account_id => {
|
2065
|
+
:default => nil,
|
2066
|
+
:allow_nil => true,
|
2067
|
+
:public => false,
|
2068
|
+
:type => String,
|
2069
|
+
:allowed_from_server => true,
|
2070
|
+
:description => 'The account id associated with your application.'
|
2071
|
+
},
|
2072
|
+
:aggressive_keepalive => {
|
2073
|
+
:default => true,
|
2074
|
+
:public => false,
|
2075
|
+
:type => Boolean,
|
2076
|
+
:allowed_from_server => true,
|
2077
|
+
:description => 'If true, attempt to keep the TCP connection to the collector alive between harvests.'
|
2078
|
+
},
|
2079
|
+
:api_host => {
|
2080
|
+
:default => DefaultSource.api_host,
|
2081
|
+
:public => false,
|
2082
|
+
:type => String,
|
2083
|
+
:allowed_from_server => false,
|
2084
|
+
:description => 'API host for New Relic.'
|
2085
|
+
},
|
2086
|
+
:api_port => {
|
2087
|
+
:default => value_of(:port),
|
2088
|
+
:public => false,
|
2089
|
+
:type => Integer,
|
2090
|
+
:allowed_from_server => false,
|
2091
|
+
:description => 'Port for the New Relic API host.'
|
2092
|
+
},
|
2093
|
+
:application_id => {
|
2094
|
+
:default => '',
|
2095
|
+
:public => false,
|
2096
|
+
:type => String,
|
2097
|
+
:allowed_from_server => true,
|
2098
|
+
:description => 'Application ID for real user monitoring.'
|
2099
|
+
},
|
2100
|
+
:beacon => {
|
2101
|
+
:default => '',
|
2102
|
+
:public => false,
|
2103
|
+
:type => String,
|
2104
|
+
:allowed_from_server => true,
|
2105
|
+
:description => 'Beacon for real user monitoring.'
|
2106
|
+
},
|
2107
|
+
:browser_key => {
|
2108
|
+
:default => '',
|
2109
|
+
:public => false,
|
2110
|
+
:type => String,
|
2111
|
+
:allowed_from_server => true,
|
2112
|
+
:description => 'Real user monitoring license key for the browser timing header.'
|
2113
|
+
},
|
2114
|
+
:'browser_monitoring.loader' => {
|
2115
|
+
:default => DefaultSource.browser_monitoring_loader,
|
2116
|
+
:public => false,
|
2117
|
+
:type => String,
|
2118
|
+
:allowed_from_server => true,
|
2119
|
+
:description => 'Type of JavaScript agent loader to use for browser monitoring instrumentation.'
|
2120
|
+
},
|
2121
|
+
:'browser_monitoring.loader_version' => {
|
2122
|
+
:default => '',
|
2123
|
+
:public => false,
|
2124
|
+
:type => String,
|
2125
|
+
:allowed_from_server => true,
|
2126
|
+
:description => 'Version of JavaScript agent loader (returned from the New Relic [collector](/docs/apm/new-relic-apm/getting-started/glossary#collector).)'
|
2127
|
+
},
|
2128
|
+
:'browser_monitoring.debug' => {
|
2129
|
+
:default => false,
|
2130
|
+
:public => false,
|
2131
|
+
:type => Boolean,
|
2132
|
+
:allowed_from_server => true,
|
2133
|
+
:description => 'Enable or disable debugging version of JavaScript agent loader for browser monitoring instrumentation.'
|
2134
|
+
},
|
2135
|
+
:'browser_monitoring.ssl_for_http' => {
|
2136
|
+
:default => nil,
|
2137
|
+
:allow_nil => true,
|
2138
|
+
:public => false,
|
2139
|
+
:type => Boolean,
|
2140
|
+
:allowed_from_server => true,
|
2141
|
+
:description => 'Enable or disable HTTPS instrumentation by JavaScript agent on HTTP pages.'
|
2142
|
+
},
|
2143
|
+
:compressed_content_encoding => {
|
2144
|
+
:default => 'gzip',
|
2145
|
+
:public => false,
|
2146
|
+
:type => String,
|
2147
|
+
:allowed_from_server => false,
|
2148
|
+
:description => 'Encoding to use if data needs to be compressed. The options are deflate and gzip.'
|
2149
|
+
},
|
2150
|
+
:config_search_paths => {
|
2151
|
+
:default => DefaultSource.config_search_paths,
|
2152
|
+
:public => false,
|
2153
|
+
:type => Array,
|
2154
|
+
:allowed_from_server => false,
|
2155
|
+
:description => "An array of candidate locations for the agent's configuration file."
|
2156
|
+
},
|
2157
|
+
:cross_process_id => {
|
2158
|
+
:default => '',
|
2159
|
+
:public => false,
|
2160
|
+
:type => String,
|
2161
|
+
:allowed_from_server => true,
|
2162
|
+
:description => 'Cross process ID for cross-application tracing.'
|
2163
|
+
},
|
2164
|
+
:data_report_period => {
|
2165
|
+
:default => 60,
|
2166
|
+
:public => false,
|
2167
|
+
:type => Integer,
|
2168
|
+
:allowed_from_server => true,
|
2169
|
+
:description => 'Number of seconds betwixt connections to the New Relic data collection service.'
|
2170
|
+
},
|
2171
|
+
:disable_grape_instrumentation => {
|
2172
|
+
:default => false,
|
2173
|
+
:public => false,
|
2174
|
+
:type => Boolean,
|
2175
|
+
:allowed_from_server => false,
|
2176
|
+
:deprecated => true,
|
2177
|
+
:description => deprecated_description(:'instrumentation.grape',
|
2178
|
+
'If `true`, the agent won\'t install Grape instrumentation.')
|
2179
|
+
},
|
2180
|
+
:dispatcher => {
|
2181
|
+
:default => DefaultSource.dispatcher,
|
2182
|
+
:public => false,
|
2183
|
+
:type => Symbol,
|
2184
|
+
:allowed_from_server => false,
|
2185
|
+
:description => 'Autodetected application component that reports metrics to New Relic.'
|
2186
|
+
},
|
2187
|
+
:disable_harvest_thread => {
|
2188
|
+
:default => false,
|
2189
|
+
:public => false,
|
2190
|
+
:type => Boolean,
|
2191
|
+
:allowed_from_server => false,
|
2192
|
+
:description => 'Enable or disable the harvest thread.'
|
2193
|
+
},
|
2194
|
+
:disable_rails_middleware => {
|
2195
|
+
:default => false,
|
2196
|
+
:public => false,
|
2197
|
+
:type => Boolean,
|
2198
|
+
:allowed_from_server => false,
|
2199
|
+
:description => 'Internal name for controlling Rails 3+ middleware instrumentation'
|
2200
|
+
},
|
2201
|
+
:disable_rake_instrumentation => {
|
2202
|
+
:default => false,
|
2203
|
+
:public => false,
|
2204
|
+
:type => Boolean,
|
2205
|
+
:allowed_from_server => false,
|
2206
|
+
:deprecated => true,
|
2207
|
+
:description => deprecated_description(:'instrumentation.rake', 'Enable or disable Rake instrumentation. Preferred key is `disable_rake`')
|
2208
|
+
},
|
2209
|
+
:disable_redis_instrumentation => {
|
2210
|
+
:default => false,
|
2211
|
+
:public => false,
|
2212
|
+
:type => Boolean,
|
2213
|
+
:deprecated => true,
|
2214
|
+
:allowed_from_server => false,
|
2215
|
+
:description => deprecated_description(:'instrumentation.redis', 'Disables installation of Redis instrumentation. Standard key to use is disable_redis.')
|
2216
|
+
},
|
2217
|
+
:cross_application_tracing => {
|
2218
|
+
:default => nil,
|
2219
|
+
:allow_nil => true,
|
2220
|
+
:public => false,
|
2221
|
+
:type => Boolean,
|
2222
|
+
:allowed_from_server => false,
|
2223
|
+
:deprecated => true,
|
2224
|
+
:description => 'Deprecated in favor of distributed_tracing.enabled'
|
2225
|
+
},
|
2226
|
+
:enabled => {
|
2227
|
+
:default => true,
|
2228
|
+
:public => false,
|
2229
|
+
:type => Boolean,
|
2230
|
+
:aliases => [:enable],
|
2231
|
+
:allowed_from_server => false,
|
2232
|
+
:description => 'Enable or disable the agent.'
|
2233
|
+
},
|
2234
|
+
:encoding_key => {
|
2235
|
+
:default => '',
|
2236
|
+
:public => false,
|
2237
|
+
:type => String,
|
2238
|
+
:allowed_from_server => true,
|
2239
|
+
:description => 'Encoding key for cross-application tracing.'
|
2240
|
+
},
|
2241
|
+
:entity_guid => {
|
1881
2242
|
:default => nil,
|
1882
2243
|
:allow_nil => true,
|
1883
2244
|
:public => false,
|
1884
2245
|
:type => String,
|
1885
2246
|
:allowed_from_server => true,
|
1886
|
-
:description => 'The
|
2247
|
+
:description => 'The [Entity GUID](/attribute-dictionary/span/entityguid) for the entity running your agent.'
|
2248
|
+
},
|
2249
|
+
:error_beacon => {
|
2250
|
+
:default => '',
|
2251
|
+
:public => false,
|
2252
|
+
:type => String,
|
2253
|
+
:allowed_from_server => true,
|
2254
|
+
:description => 'Error beacon for real user monitoring.'
|
2255
|
+
},
|
2256
|
+
:event_report_period => {
|
2257
|
+
:default => 60,
|
2258
|
+
:public => false,
|
2259
|
+
:type => Integer,
|
2260
|
+
:allowed_from_server => true,
|
2261
|
+
:description => 'Number of seconds betwixt connections to the New Relic event collection services.'
|
2262
|
+
},
|
2263
|
+
:'event_report_period.analytic_event_data' => {
|
2264
|
+
:default => 60,
|
2265
|
+
:public => false,
|
2266
|
+
:type => Integer,
|
2267
|
+
:dynamic_name => true,
|
2268
|
+
:deprecated => true,
|
2269
|
+
:allowed_from_server => true,
|
2270
|
+
:description => deprecated_description(:'event_report_period.transaction_event_data', 'Number of seconds betwixt connections to the New Relic transaction event collection services.')
|
2271
|
+
},
|
2272
|
+
:'event_report_period.transaction_event_data' => {
|
2273
|
+
:default => value_of(:'event_report_period.analytic_event_data'),
|
2274
|
+
:public => false,
|
2275
|
+
:type => Integer,
|
2276
|
+
:dynamic_name => true,
|
2277
|
+
:allowed_from_server => true,
|
2278
|
+
:description => 'Number of seconds betwixt connections to the New Relic transaction event collection services.'
|
2279
|
+
},
|
2280
|
+
:'event_report_period.custom_event_data' => {
|
2281
|
+
:default => 60,
|
2282
|
+
:public => false,
|
2283
|
+
:type => Integer,
|
2284
|
+
:dynamic_name => true,
|
2285
|
+
:allowed_from_server => true,
|
2286
|
+
:description => 'Number of seconds betwixt connections to the New Relic custom event collection services.'
|
2287
|
+
},
|
2288
|
+
:'event_report_period.error_event_data' => {
|
2289
|
+
:default => 60,
|
2290
|
+
:public => false,
|
2291
|
+
:type => Integer,
|
2292
|
+
:dynamic_name => true,
|
2293
|
+
:allowed_from_server => true,
|
2294
|
+
:description => 'Number of seconds betwixt connections to the New Relic error event collection services.'
|
2295
|
+
},
|
2296
|
+
:'event_report_period.log_event_data' => {
|
2297
|
+
:default => 60,
|
2298
|
+
:public => false,
|
2299
|
+
:type => Integer,
|
2300
|
+
:dynamic_name => true,
|
2301
|
+
:allowed_from_server => true,
|
2302
|
+
:description => 'Number of seconds betwixt connections to the New Relic log event collection services.'
|
2303
|
+
},
|
2304
|
+
:'event_report_period.span_event_data' => {
|
2305
|
+
:default => 60,
|
2306
|
+
:public => false,
|
2307
|
+
:type => Integer,
|
2308
|
+
:dynamic_name => true,
|
2309
|
+
:allowed_from_server => true,
|
2310
|
+
:description => 'Number of seconds betwixt connections to the New Relic span event collection services.'
|
2311
|
+
},
|
2312
|
+
:force_reconnect => {
|
2313
|
+
:default => false,
|
2314
|
+
:public => false,
|
2315
|
+
:type => Boolean,
|
2316
|
+
:allowed_from_server => false,
|
2317
|
+
:description => 'Force a new connection to the server before running the worker loop. Creates a separate agent run and is recorded as a separate instance by the New Relic data collection service.'
|
2318
|
+
},
|
2319
|
+
:framework => {
|
2320
|
+
:default => DefaultSource.framework,
|
2321
|
+
:public => false,
|
2322
|
+
:type => Symbol,
|
2323
|
+
:allowed_from_server => false,
|
2324
|
+
:description => 'Autodetected application framework used to enable framework-specific functionality.'
|
2325
|
+
},
|
2326
|
+
:host => {
|
2327
|
+
:default => DefaultSource.host,
|
2328
|
+
:public => false,
|
2329
|
+
:type => String,
|
2330
|
+
:allowed_from_server => false,
|
2331
|
+
:description => "URI for the New Relic data collection service."
|
2332
|
+
},
|
2333
|
+
:'infinite_tracing.batching' => {
|
2334
|
+
:default => true,
|
2335
|
+
:public => true,
|
2336
|
+
:type => Boolean,
|
2337
|
+
:allowed_from_server => false,
|
2338
|
+
:external => :infinite_tracing,
|
2339
|
+
:description => "If true (the default), data sent to the Trace Observer will be batched\ninstead of each " \
|
2340
|
+
"span being sent individually"
|
2341
|
+
},
|
2342
|
+
:'infinite_tracing.compression_level' => {
|
2343
|
+
:default => :high,
|
2344
|
+
:public => true,
|
2345
|
+
:type => Symbol,
|
2346
|
+
:allowed_from_server => false,
|
2347
|
+
:external => :infinite_tracing,
|
2348
|
+
:description => "Configure the compression level for data sent to the Trace Observer\nMay be one of " \
|
2349
|
+
"[none|low|medium|high]\n'high' is the default. Set the level to 'none' to disable compression"
|
2350
|
+
},
|
2351
|
+
:js_agent_file => {
|
2352
|
+
:default => '',
|
2353
|
+
:public => false,
|
2354
|
+
:type => String,
|
2355
|
+
:allowed_from_server => true,
|
2356
|
+
:description => 'JavaScript agent file for real user monitoring.'
|
1887
2357
|
},
|
1888
|
-
:
|
1889
|
-
:default
|
1890
|
-
:public
|
1891
|
-
:type
|
2358
|
+
:js_agent_loader => {
|
2359
|
+
:default => '',
|
2360
|
+
:public => false,
|
2361
|
+
:type => String,
|
2362
|
+
:allowed_from_server => true,
|
2363
|
+
:description => 'JavaScript agent loader content.'
|
2364
|
+
},
|
2365
|
+
:js_errors_beta => {
|
2366
|
+
:default => false,
|
2367
|
+
:public => false,
|
2368
|
+
:type => Boolean,
|
1892
2369
|
:allowed_from_server => false,
|
1893
|
-
:
|
2370
|
+
:deprecated => true,
|
2371
|
+
:description => 'Enable or disable beta JavaScript error reporting.'
|
1894
2372
|
},
|
1895
|
-
:
|
2373
|
+
:keep_alive_timeout => {
|
2374
|
+
:default => 60,
|
2375
|
+
:public => false,
|
2376
|
+
:type => Integer,
|
2377
|
+
:allowed_from_server => true,
|
2378
|
+
:description => 'Timeout for keep alive on TCP connection to collector if supported by Ruby version. Only used in conjunction when aggressive_keepalive is enabled.'
|
2379
|
+
},
|
2380
|
+
:keep_retrying => {
|
2381
|
+
:default => true,
|
2382
|
+
:public => false,
|
2383
|
+
:type => Boolean,
|
2384
|
+
:deprecated => true,
|
2385
|
+
:allowed_from_server => false,
|
2386
|
+
:description => 'Enable or disable retrying failed connections to the New Relic data collection service.'
|
2387
|
+
},
|
2388
|
+
:max_payload_size_in_bytes => {
|
2389
|
+
:default => 1000000,
|
2390
|
+
:public => false,
|
2391
|
+
:type => Integer,
|
2392
|
+
:allowed_from_server => true,
|
2393
|
+
:description => 'Maximum number of bytes to send to the New Relic data collection service.'
|
2394
|
+
},
|
2395
|
+
:normalize_json_string_encodings => {
|
2396
|
+
:default => true,
|
2397
|
+
:public => false,
|
2398
|
+
:type => Boolean,
|
2399
|
+
:allowed_from_server => false,
|
2400
|
+
:description => 'Controls whether to normalize string encodings prior to serializing data for the collector to JSON.'
|
2401
|
+
},
|
2402
|
+
:port => {
|
2403
|
+
:default => 443,
|
2404
|
+
:public => false,
|
2405
|
+
:type => Integer,
|
2406
|
+
:allowed_from_server => false,
|
2407
|
+
:description => 'Port for the New Relic data collection service.'
|
2408
|
+
},
|
2409
|
+
:prepend_net_instrumentation => {
|
2410
|
+
:default => true,
|
2411
|
+
:public => false,
|
2412
|
+
:type => Boolean,
|
2413
|
+
:allowed_from_server => false,
|
2414
|
+
:deprecated => true,
|
2415
|
+
:description => deprecated_description(:'instrumentation.net_http',
|
2416
|
+
'If `true`, uses `Module#prepend` rather than alias_method for Net::HTTP instrumentation.')
|
2417
|
+
},
|
2418
|
+
:primary_application_id => {
|
1896
2419
|
:default => nil,
|
1897
2420
|
:allow_nil => true,
|
1898
2421
|
:public => false,
|
1899
2422
|
:type => String,
|
1900
2423
|
:allowed_from_server => true,
|
1901
|
-
:description => '
|
2424
|
+
:description => 'The primary id associated with your application.'
|
2425
|
+
},
|
2426
|
+
:put_for_data_send => {
|
2427
|
+
:default => false,
|
2428
|
+
:public => false,
|
2429
|
+
:type => Boolean,
|
2430
|
+
:allowed_from_server => false,
|
2431
|
+
:description => 'Use HTTP PUT requests instead of POST.'
|
2432
|
+
},
|
2433
|
+
:report_instance_busy => {
|
2434
|
+
:default => true,
|
2435
|
+
:public => false,
|
2436
|
+
:type => Boolean,
|
2437
|
+
:allowed_from_server => false,
|
2438
|
+
:description => 'Enable or disable transmission of metrics recording the percentage of time application instances spend servicing requests (duty cycle metrics).'
|
2439
|
+
},
|
2440
|
+
:restart_thread_in_children => {
|
2441
|
+
:default => true,
|
2442
|
+
:public => false,
|
2443
|
+
:type => Boolean,
|
2444
|
+
:allowed_from_server => false,
|
2445
|
+
:description => 'Controls whether to check on running a transaction whether to respawn the harvest thread.'
|
2446
|
+
},
|
2447
|
+
:'resque.use_ruby_dns' => {
|
2448
|
+
:default => true,
|
2449
|
+
:public => false,
|
2450
|
+
:type => Boolean,
|
2451
|
+
:allowed_from_server => false,
|
2452
|
+
:description => 'Replace the libc DNS resolver with the all Ruby resolver Resolv'
|
2453
|
+
},
|
2454
|
+
:'rum.enabled' => {
|
2455
|
+
:default => true,
|
2456
|
+
:public => false,
|
2457
|
+
:type => Boolean,
|
2458
|
+
:allowed_from_server => true,
|
2459
|
+
:description => 'Enable or disable page load timing (sometimes referred to as real user monitoring or RUM).'
|
1902
2460
|
},
|
1903
2461
|
:sampling_target => {
|
1904
2462
|
:default => 10,
|
@@ -1914,26 +2472,93 @@ module NewRelic
|
|
1914
2472
|
:allowed_from_server => true,
|
1915
2473
|
:description => 'The period during which a target number of transactions should be marked as sampled.'
|
1916
2474
|
},
|
1917
|
-
:
|
2475
|
+
:send_environment_info => {
|
1918
2476
|
:default => true,
|
1919
|
-
:public =>
|
2477
|
+
:public => false,
|
2478
|
+
:type => Boolean,
|
2479
|
+
:allowed_from_server => false,
|
2480
|
+
:description => 'Enable or disable transmission of application environment information to the New Relic data collection service.'
|
2481
|
+
},
|
2482
|
+
:simple_compression => {
|
2483
|
+
:default => false,
|
2484
|
+
:public => false,
|
2485
|
+
:type => Boolean,
|
2486
|
+
:allowed_from_server => false,
|
2487
|
+
:description => 'When enabled the agent will compress payloads destined for the collector, but will not pre-compress parts of the payload.'
|
2488
|
+
},
|
2489
|
+
:skip_ar_instrumentation => {
|
2490
|
+
:default => false,
|
2491
|
+
:public => false,
|
1920
2492
|
:type => Boolean,
|
2493
|
+
:allowed_from_server => false,
|
2494
|
+
:description => 'Enable or disable active record instrumentation.'
|
2495
|
+
},
|
2496
|
+
:'synthetics.traces_limit' => {
|
2497
|
+
:default => 20,
|
2498
|
+
:public => false,
|
2499
|
+
:type => Integer,
|
1921
2500
|
:allowed_from_server => true,
|
1922
|
-
:description => '
|
2501
|
+
:description => 'Maximum number of synthetics transaction traces to hold for a given harvest'
|
1923
2502
|
},
|
1924
|
-
:'
|
1925
|
-
:default =>
|
1926
|
-
:public =>
|
2503
|
+
:'synthetics.events_limit' => {
|
2504
|
+
:default => 200,
|
2505
|
+
:public => false,
|
1927
2506
|
:type => Integer,
|
1928
2507
|
:allowed_from_server => true,
|
1929
|
-
:description => '
|
2508
|
+
:description => 'Maximum number of synthetics transaction events to hold for a given harvest'
|
1930
2509
|
},
|
1931
|
-
:
|
2510
|
+
:test_mode => {
|
1932
2511
|
:default => false,
|
1933
|
-
:public =>
|
2512
|
+
:public => false,
|
1934
2513
|
:type => Boolean,
|
2514
|
+
:allowed_from_server => false,
|
2515
|
+
:description => 'Used in tests for the agent to start up, but not connect to the collector. Formerly used `developer_mode` in test config for this purpose.'
|
2516
|
+
},
|
2517
|
+
:'thread_profiler.max_profile_overhead' => {
|
2518
|
+
:default => 0.05,
|
2519
|
+
:public => false,
|
2520
|
+
:type => Float,
|
1935
2521
|
:allowed_from_server => true,
|
1936
|
-
:description =>
|
2522
|
+
:description => 'Maximum overhead percentage for thread profiling before agent reduces polling frequency'
|
2523
|
+
},
|
2524
|
+
:trusted_account_ids => {
|
2525
|
+
:default => [],
|
2526
|
+
:public => false,
|
2527
|
+
:type => Array,
|
2528
|
+
:allowed_from_server => true,
|
2529
|
+
:description => 'List of trusted New Relic account IDs for the purposes of cross-application tracing. Inbound requests from applications including cross-application headers that do not come from an account in this list will be ignored.'
|
2530
|
+
},
|
2531
|
+
:trusted_account_key => {
|
2532
|
+
:default => nil,
|
2533
|
+
:allow_nil => true,
|
2534
|
+
:public => false,
|
2535
|
+
:type => String,
|
2536
|
+
:allowed_from_server => true,
|
2537
|
+
:description => 'A shared key to validate that a distributed trace payload came from a trusted account.'
|
2538
|
+
},
|
2539
|
+
:'utilization.billing_hostname' => {
|
2540
|
+
:default => nil,
|
2541
|
+
:allow_nil => true,
|
2542
|
+
:public => false,
|
2543
|
+
:type => String,
|
2544
|
+
:allowed_from_server => false,
|
2545
|
+
:description => 'The configured server name by a customer.'
|
2546
|
+
},
|
2547
|
+
:'utilization.logical_processors' => {
|
2548
|
+
:default => nil,
|
2549
|
+
:allow_nil => true,
|
2550
|
+
:public => false,
|
2551
|
+
:type => Integer,
|
2552
|
+
:allowed_from_server => false,
|
2553
|
+
:description => 'The total number of hyper-threaded execution contexts available.'
|
2554
|
+
},
|
2555
|
+
:'utilization.total_ram_mib' => {
|
2556
|
+
:default => nil,
|
2557
|
+
:allow_nil => true,
|
2558
|
+
:public => false,
|
2559
|
+
:type => Integer,
|
2560
|
+
:allowed_from_server => false,
|
2561
|
+
:description => 'This value represents the total amount of memory available to the host (not the process), in mebibytes (1024 squared or 1,048,576 bytes).'
|
1937
2562
|
}
|
1938
2563
|
}.freeze
|
1939
2564
|
end
|