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