newrelic_rpm 6.15.0 → 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 +7 -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 +754 -40
- data/CONTRIBUTING.md +32 -5
- data/DOCKER.md +167 -0
- data/Dockerfile +10 -0
- data/Gemfile +0 -1
- data/Guardfile +9 -8
- data/LICENSE +0 -6
- data/README.md +21 -20
- data/Rakefile +27 -29
- data/THIRD_PARTY_NOTICES.md +14 -199
- data/Thorfile +5 -0
- data/bin/newrelic +3 -2
- data/bin/newrelic_cmd +1 -0
- data/bin/nrdebug +76 -53
- data/config.dot +5 -5
- data/docker-compose.yml +107 -0
- data/init.rb +4 -6
- data/install.rb +2 -2
- data/lefthook.yml +9 -0
- data/lib/new_relic/agent/adaptive_sampler.rb +13 -9
- 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 +178 -555
- data/lib/new_relic/agent/agent_logger.rb +23 -19
- data/lib/new_relic/agent/attribute_filter.rb +66 -47
- data/lib/new_relic/agent/attribute_processing.rb +7 -7
- data/lib/new_relic/agent/attributes.rb +5 -4
- data/lib/new_relic/agent/audit_logger.rb +8 -3
- data/lib/new_relic/agent/autostart.rb +20 -19
- data/lib/new_relic/agent/chained_call.rb +1 -1
- data/lib/new_relic/agent/commands/agent_command.rb +3 -3
- data/lib/new_relic/agent/commands/agent_command_router.rb +12 -11
- data/lib/new_relic/agent/commands/thread_profiler_session.rb +9 -7
- data/lib/new_relic/agent/configuration/default_source.rb +1728 -1194
- data/lib/new_relic/agent/configuration/dotted_hash.rb +6 -5
- data/lib/new_relic/agent/configuration/environment_source.rb +11 -9
- data/lib/new_relic/agent/configuration/event_harvest_config.rb +40 -17
- data/lib/new_relic/agent/configuration/high_security_source.rb +9 -8
- data/lib/new_relic/agent/configuration/manager.rb +82 -69
- data/lib/new_relic/agent/configuration/manual_source.rb +1 -1
- data/lib/new_relic/agent/configuration/mask_defaults.rb +3 -3
- data/lib/new_relic/agent/configuration/security_policy_source.rb +90 -77
- data/lib/new_relic/agent/configuration/server_source.rb +21 -19
- data/lib/new_relic/agent/configuration/yaml_source.rb +31 -7
- data/lib/new_relic/agent/configuration.rb +1 -1
- data/lib/new_relic/agent/connect/request_builder.rb +18 -18
- data/lib/new_relic/agent/connect/response_handler.rb +5 -8
- data/lib/new_relic/agent/custom_event_aggregator.rb +14 -14
- data/lib/new_relic/agent/database/explain_plan_helpers.rb +4 -5
- data/lib/new_relic/agent/database/obfuscation_helpers.rb +14 -13
- data/lib/new_relic/agent/database/obfuscator.rb +2 -2
- data/lib/new_relic/agent/database/postgres_explain_obfuscator.rb +3 -3
- data/lib/new_relic/agent/database.rb +53 -47
- data/lib/new_relic/agent/database_adapter.rb +3 -1
- data/lib/new_relic/agent/datastores/metric_helper.rb +17 -18
- data/lib/new_relic/agent/datastores/mongo/event_formatter.rb +7 -6
- data/lib/new_relic/agent/datastores/mongo/metric_translator.rb +6 -10
- data/lib/new_relic/agent/datastores/mongo.rb +6 -11
- data/lib/new_relic/agent/datastores/nosql_obfuscator.rb +41 -0
- data/lib/new_relic/agent/datastores/redis.rb +5 -11
- data/lib/new_relic/agent/datastores.rb +11 -13
- data/lib/new_relic/agent/deprecator.rb +1 -1
- data/lib/new_relic/agent/distributed_tracing/cross_app_payload.rb +10 -10
- data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +39 -32
- data/lib/new_relic/agent/distributed_tracing/distributed_trace_attributes.rb +22 -22
- data/lib/new_relic/agent/distributed_tracing/distributed_trace_metrics.rb +19 -19
- data/lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb +50 -52
- data/lib/new_relic/agent/distributed_tracing/distributed_trace_transport_type.rb +5 -6
- data/lib/new_relic/agent/distributed_tracing/trace_context.rb +76 -77
- data/lib/new_relic/agent/distributed_tracing/trace_context_payload.rb +39 -38
- data/lib/new_relic/agent/distributed_tracing.rb +32 -100
- data/lib/new_relic/agent/encoding_normalizer.rb +4 -2
- data/lib/new_relic/agent/error_collector.rb +73 -54
- data/lib/new_relic/agent/error_event_aggregator.rb +4 -5
- data/lib/new_relic/agent/error_filter.rb +174 -0
- data/lib/new_relic/agent/error_trace_aggregator.rb +4 -3
- data/lib/new_relic/agent/event_aggregator.rb +22 -21
- data/lib/new_relic/agent/event_buffer.rb +7 -8
- data/lib/new_relic/agent/event_listener.rb +1 -2
- data/lib/new_relic/agent/event_loop.rb +25 -23
- data/lib/new_relic/agent/external.rb +11 -44
- data/lib/new_relic/agent/guid_generator.rb +4 -11
- data/lib/new_relic/agent/harvester.rb +4 -5
- data/lib/new_relic/agent/heap.rb +6 -8
- data/lib/new_relic/agent/hostname.rb +20 -13
- data/lib/new_relic/agent/http_clients/abstract.rb +10 -11
- data/lib/new_relic/agent/http_clients/curb_wrappers.rb +6 -11
- data/lib/new_relic/agent/http_clients/excon_wrappers.rb +8 -9
- data/lib/new_relic/agent/http_clients/http_rb_wrappers.rb +4 -5
- data/lib/new_relic/agent/http_clients/httpclient_wrappers.rb +2 -4
- data/lib/new_relic/agent/http_clients/net_http_wrappers.rb +8 -4
- data/lib/new_relic/agent/http_clients/typhoeus_wrappers.rb +4 -5
- data/lib/new_relic/agent/http_clients/uri_util.rb +1 -3
- data/lib/new_relic/agent/instrumentation/action_cable_subscriber.rb +8 -8
- data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +38 -31
- data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +12 -13
- data/lib/new_relic/agent/instrumentation/active_job.rb +14 -7
- data/lib/new_relic/agent/instrumentation/active_merchant.rb +20 -6
- data/lib/new_relic/agent/instrumentation/active_record.rb +29 -27
- data/lib/new_relic/agent/instrumentation/active_record_helper.rb +71 -61
- data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +31 -44
- data/lib/new_relic/agent/instrumentation/active_record_prepend.rb +4 -4
- data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +27 -20
- data/lib/new_relic/agent/instrumentation/active_storage.rb +2 -2
- data/lib/new_relic/agent/instrumentation/active_storage_subscriber.rb +18 -15
- 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 +18 -10
- data/lib/new_relic/agent/instrumentation/authlogic.rb +10 -2
- 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 +11 -154
- data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +68 -58
- 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 +11 -243
- data/lib/new_relic/agent/instrumentation/data_mapper.rb +65 -54
- 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 +29 -53
- 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 +5 -5
- data/lib/new_relic/agent/instrumentation/excon.rb +22 -24
- 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 +11 -112
- 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 +10 -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 +4 -5
- 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 +57 -128
- 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 +56 -72
- data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +13 -12
- data/lib/new_relic/agent/instrumentation/middleware_tracing.rb +5 -7
- data/lib/new_relic/agent/instrumentation/mongo.rb +5 -136
- data/lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb +21 -18
- data/lib/new_relic/agent/instrumentation/net_http/chain.rb +24 -0
- data/lib/new_relic/agent/instrumentation/{net_prepend.rb → net_http/instrumentation.rb} +13 -13
- 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 +10 -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 +20 -58
- data/lib/new_relic/agent/instrumentation/passenger_instrumentation.rb +3 -3
- data/lib/new_relic/agent/instrumentation/queue_time.rb +8 -9
- 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 +30 -140
- data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +16 -52
- data/lib/new_relic/agent/instrumentation/rails_middleware.rb +1 -1
- data/lib/new_relic/agent/instrumentation/rails_notifications/action_cable.rb +5 -4
- data/lib/new_relic/agent/instrumentation/rails_notifications/action_controller.rb +3 -3
- data/lib/new_relic/agent/instrumentation/rails_notifications/action_view.rb +3 -2
- data/lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb +13 -3
- 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 +16 -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 +18 -107
- 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 +28 -39
- data/lib/new_relic/agent/instrumentation/sequel.rb +14 -16
- data/lib/new_relic/agent/instrumentation/sequel_helper.rb +2 -2
- 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 +23 -64
- data/lib/new_relic/agent/instrumentation/sinatra/chain.rb +55 -0
- data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +30 -36
- 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 +2 -2
- data/lib/new_relic/agent/instrumentation/sinatra.rb +34 -163
- data/lib/new_relic/agent/instrumentation/sunspot.rb +11 -3
- 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 +12 -91
- data/lib/new_relic/agent/instrumentation.rb +1 -1
- data/lib/new_relic/agent/internal_agent_error.rb +2 -2
- data/lib/new_relic/agent/javascript_instrumentor.rb +47 -41
- 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 +1 -1
- data/lib/new_relic/agent/log_priority.rb +20 -0
- data/lib/new_relic/agent/logging.rb +24 -21
- data/lib/new_relic/agent/memory_logger.rb +2 -2
- data/lib/new_relic/agent/messaging.rb +65 -81
- data/lib/new_relic/agent/method_tracer.rb +154 -149
- data/lib/new_relic/agent/method_tracer_helpers.rb +85 -3
- data/lib/new_relic/agent/monitors/cross_app_monitor.rb +25 -17
- data/lib/new_relic/agent/monitors/distributed_tracing_monitor.rb +5 -4
- data/lib/new_relic/agent/monitors/inbound_request_monitor.rb +1 -2
- data/lib/new_relic/agent/monitors/synthetics_monitor.rb +6 -9
- data/lib/new_relic/agent/monitors.rb +6 -7
- data/lib/new_relic/agent/new_relic_service/encoders.rb +6 -6
- data/lib/new_relic/agent/new_relic_service/json_marshaller.rb +5 -5
- data/lib/new_relic/agent/new_relic_service/marshaller.rb +2 -2
- data/lib/new_relic/agent/new_relic_service/security_policy_settings.rb +5 -4
- data/lib/new_relic/agent/new_relic_service.rb +248 -196
- data/lib/new_relic/agent/{noticible_error.rb → noticeable_error.rb} +2 -5
- data/lib/new_relic/agent/null_logger.rb +7 -3
- data/lib/new_relic/agent/obfuscator.rb +8 -10
- data/lib/new_relic/agent/parameter_filtering.rb +24 -10
- data/lib/new_relic/agent/payload_metric_mapping.rb +9 -10
- data/lib/new_relic/agent/pipe_channel_manager.rb +27 -17
- data/lib/new_relic/agent/pipe_service.rb +8 -5
- data/lib/new_relic/agent/prepend_supportability.rb +2 -2
- data/lib/new_relic/agent/priority_sampled_buffer.rb +8 -11
- data/lib/new_relic/agent/range_extensions.rb +8 -28
- data/lib/new_relic/agent/rules_engine/replacement_rule.rb +11 -11
- data/lib/new_relic/agent/rules_engine/segment_terms_rule.rb +13 -13
- data/lib/new_relic/agent/rules_engine.rb +5 -4
- data/lib/new_relic/agent/sampler.rb +3 -4
- data/lib/new_relic/agent/sampler_collection.rb +3 -4
- data/lib/new_relic/agent/samplers/cpu_sampler.rb +3 -2
- data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +12 -9
- data/lib/new_relic/agent/samplers/memory_sampler.rb +24 -13
- data/lib/new_relic/agent/samplers/object_sampler.rb +1 -1
- data/lib/new_relic/agent/samplers/vm_sampler.rb +21 -19
- data/lib/new_relic/agent/span_event_aggregator.rb +12 -12
- data/lib/new_relic/agent/span_event_primitive.rb +62 -56
- data/lib/new_relic/agent/sql_sampler.rb +18 -18
- data/lib/new_relic/agent/stats.rb +78 -41
- data/lib/new_relic/agent/stats_engine/gc_profiler.rb +9 -11
- data/lib/new_relic/agent/stats_engine/stats_hash.rb +12 -13
- data/lib/new_relic/agent/stats_engine.rb +8 -8
- data/lib/new_relic/agent/synthetics_event_aggregator.rb +7 -8
- data/lib/new_relic/agent/system_info.rb +85 -65
- data/lib/new_relic/agent/threading/agent_thread.rb +18 -14
- data/lib/new_relic/agent/threading/backtrace_node.rb +12 -13
- data/lib/new_relic/agent/threading/backtrace_service.rb +14 -14
- data/lib/new_relic/agent/threading/thread_profile.rb +23 -23
- data/lib/new_relic/agent/timestamp_sampled_buffer.rb +1 -1
- data/lib/new_relic/agent/tracer.rb +76 -85
- data/lib/new_relic/agent/transaction/abstract_segment.rb +103 -40
- data/lib/new_relic/agent/transaction/datastore_segment.rb +21 -17
- data/lib/new_relic/agent/transaction/distributed_tracer.rb +63 -56
- data/lib/new_relic/agent/transaction/distributed_tracing.rb +43 -44
- data/lib/new_relic/agent/transaction/external_request_segment.rb +44 -34
- data/lib/new_relic/agent/transaction/message_broker_segment.rb +31 -36
- data/lib/new_relic/agent/transaction/request_attributes.rb +35 -35
- data/lib/new_relic/agent/transaction/segment.rb +14 -10
- data/lib/new_relic/agent/transaction/slowest_sample_buffer.rb +1 -3
- data/lib/new_relic/agent/transaction/synthetics_sample_buffer.rb +1 -1
- data/lib/new_relic/agent/transaction/trace.rb +15 -11
- data/lib/new_relic/agent/transaction/trace_builder.rb +10 -10
- data/lib/new_relic/agent/transaction/trace_context.rb +35 -35
- data/lib/new_relic/agent/transaction/trace_node.rb +25 -24
- data/lib/new_relic/agent/transaction/tracing.rb +14 -11
- data/lib/new_relic/agent/transaction/transaction_sample_buffer.rb +4 -4
- data/lib/new_relic/agent/transaction.rb +164 -145
- data/lib/new_relic/agent/transaction_error_primitive.rb +27 -25
- data/lib/new_relic/agent/transaction_event_aggregator.rb +12 -12
- data/lib/new_relic/agent/transaction_event_primitive.rb +32 -33
- data/lib/new_relic/agent/transaction_event_recorder.rb +16 -15
- data/lib/new_relic/agent/transaction_metrics.rb +10 -9
- data/lib/new_relic/agent/transaction_sampler.rb +5 -6
- data/lib/new_relic/agent/transaction_time_aggregator.rb +26 -25
- data/lib/new_relic/agent/utilization/aws.rb +33 -3
- data/lib/new_relic/agent/utilization/azure.rb +3 -3
- data/lib/new_relic/agent/utilization/gcp.rb +7 -7
- data/lib/new_relic/agent/utilization/pcf.rb +5 -4
- data/lib/new_relic/agent/utilization/vendor.rb +43 -28
- data/lib/new_relic/agent/utilization_data.rb +7 -5
- data/lib/new_relic/agent/vm/jruby_vm.rb +1 -1
- data/lib/new_relic/agent/vm/monotonic_gc_profiler.rb +2 -2
- data/lib/new_relic/agent/vm/mri_vm.rb +40 -15
- data/lib/new_relic/agent/vm/snapshot.rb +5 -5
- data/lib/new_relic/agent/vm.rb +1 -1
- data/lib/new_relic/agent/worker_loop.rb +10 -12
- data/lib/new_relic/agent.rb +64 -75
- data/lib/new_relic/cli/command.rb +20 -22
- data/lib/new_relic/cli/commands/deployments.rb +92 -42
- data/lib/new_relic/cli/commands/install.rb +12 -15
- data/lib/new_relic/coerce.rb +15 -13
- data/lib/new_relic/collection_helper.rb +50 -48
- data/lib/new_relic/constants.rb +1 -4
- data/lib/new_relic/control/class_methods.rb +3 -3
- data/lib/new_relic/control/frameworks/external.rb +2 -2
- data/lib/new_relic/control/frameworks/rails.rb +23 -17
- data/lib/new_relic/control/frameworks/rails3.rb +3 -4
- data/lib/new_relic/control/frameworks/rails4.rb +1 -1
- data/lib/new_relic/control/frameworks/rails_notifications.rb +1 -1
- data/lib/new_relic/control/frameworks/ruby.rb +3 -3
- data/lib/new_relic/control/frameworks/sinatra.rb +7 -1
- data/lib/new_relic/control/frameworks.rb +1 -1
- data/lib/new_relic/control/instance_methods.rb +23 -45
- data/lib/new_relic/control/instrumentation.rb +39 -11
- data/lib/new_relic/control/private_instance_methods.rb +48 -0
- data/lib/new_relic/control/server_methods.rb +3 -4
- data/lib/new_relic/control.rb +1 -2
- data/lib/new_relic/delayed_job_injection.rb +1 -1
- data/lib/new_relic/dependency_detection.rb +126 -19
- data/lib/new_relic/environment_report.rb +40 -32
- data/lib/new_relic/helper.rb +48 -7
- data/lib/new_relic/language_support.rb +29 -5
- data/lib/new_relic/latest_changes.rb +7 -6
- data/lib/new_relic/local_environment.rb +24 -18
- data/lib/new_relic/metric_data.rb +31 -26
- data/lib/new_relic/metric_spec.rb +8 -6
- data/lib/new_relic/noticed_error.rb +22 -30
- data/lib/new_relic/rack/agent_hooks.rb +1 -1
- data/lib/new_relic/rack/agent_middleware.rb +5 -3
- data/lib/new_relic/rack/browser_monitoring.rb +133 -123
- data/lib/new_relic/rack.rb +1 -1
- data/lib/new_relic/recipes/capistrano3.rb +3 -61
- data/lib/new_relic/recipes/capistrano_legacy.rb +23 -26
- data/lib/new_relic/recipes/helpers/send_deployment.rb +69 -0
- data/lib/new_relic/recipes.rb +1 -1
- data/lib/new_relic/supportability_helper.rb +9 -10
- data/lib/new_relic/traced_thread.rb +35 -0
- data/lib/new_relic/version.rb +6 -17
- data/lib/newrelic_rpm.rb +11 -35
- data/lib/sequel/extensions/newrelic_instrumentation.rb +12 -15
- data/lib/sequel/plugins/newrelic_instrumentation.rb +4 -10
- data/lib/tasks/all.rb +3 -3
- 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 +5 -32
- data/lib/tasks/newrelic.rb +1 -1
- data/lib/tasks/tests.rake +10 -15
- data/newrelic.yml +648 -3
- data/newrelic_rpm.gemspec +25 -25
- data/recipes/newrelic.rb +2 -2
- data/test/agent_helper.rb +219 -178
- metadata +164 -122
- data/ROADMAP.md +0 -24
- data/bin/mongrel_rpm +0 -33
- data/cert/cacert.pem +0 -1177
- data/lib/new_relic/agent/datastores/mongo/obfuscator.rb +0 -44
- data/lib/new_relic/agent/datastores/mongo/statement_formatter.rb +0 -53
- data/lib/new_relic/agent/instrumentation/excon/connection.rb +0 -49
- data/lib/new_relic/agent/instrumentation/http.rb +0 -49
- data/lib/new_relic/agent/instrumentation/merb/controller.rb +0 -44
- data/lib/new_relic/agent/instrumentation/merb/errors.rb +0 -33
- data/lib/new_relic/agent/instrumentation/net.rb +0 -70
- 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/control/frameworks/merb.rb +0 -29
- data/lib/tasks/config.html.erb +0 -32
@@ -1,20 +1,56 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
# This file is distributed under New Relic's license terms.
|
3
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,11 +81,11 @@ 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"),
|
86
|
+
File.join("config", "newrelic.yml"),
|
51
87
|
File.join("newrelic.yml"),
|
52
|
-
File.join("config","newrelic.yml.erb"),
|
88
|
+
File.join("config", "newrelic.yml.erb"),
|
53
89
|
File.join("newrelic.yml.erb")
|
54
90
|
]
|
55
91
|
|
@@ -60,11 +96,11 @@ module NewRelic
|
|
60
96
|
paths << File.join(NewRelic::Control.instance.root, "newrelic.yml.erb")
|
61
97
|
end
|
62
98
|
|
63
|
-
if ENV[
|
64
|
-
paths << File.join(ENV[
|
65
|
-
paths << File.join(ENV[
|
66
|
-
paths << File.join(ENV[
|
67
|
-
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")
|
68
104
|
end
|
69
105
|
|
70
106
|
# If we're packaged for warbler, we can tell from GEM_HOME
|
@@ -79,29 +115,27 @@ module NewRelic
|
|
79
115
|
end
|
80
116
|
|
81
117
|
def self.config_path
|
82
|
-
|
118
|
+
proc {
|
83
119
|
found_path = NewRelic::Agent.config[:config_search_paths].detect do |file|
|
84
|
-
File.expand_path(file) if File.exist?
|
120
|
+
File.expand_path(file) if File.exist?(file)
|
85
121
|
end
|
86
|
-
found_path ||
|
122
|
+
found_path || NewRelic::EMPTY_STR
|
87
123
|
}
|
88
124
|
end
|
89
125
|
|
90
126
|
def self.framework
|
91
|
-
|
127
|
+
proc {
|
92
128
|
case
|
93
129
|
when defined?(::NewRelic::TEST) then :test
|
94
|
-
when defined?(::Merb) && defined?(::Merb::Plugins) then :merb
|
95
130
|
when defined?(::Rails::VERSION)
|
96
131
|
case Rails::VERSION::MAJOR
|
97
|
-
when 0..2
|
98
|
-
:rails
|
99
132
|
when 3
|
100
133
|
:rails3
|
101
|
-
when 4..
|
134
|
+
when 4..7
|
102
135
|
:rails_notifications
|
103
136
|
else
|
104
|
-
::NewRelic::Agent.logger.
|
137
|
+
::NewRelic::Agent.logger.warn("Detected untested Rails version #{Rails::VERSION::STRING}")
|
138
|
+
:rails_notifications
|
105
139
|
end
|
106
140
|
when defined?(::Sinatra) && defined?(::Sinatra::Base) then :sinatra
|
107
141
|
when defined?(::NewRelic::IA) then :external
|
@@ -111,19 +145,19 @@ module NewRelic
|
|
111
145
|
end
|
112
146
|
|
113
147
|
def self.agent_enabled
|
114
|
-
|
148
|
+
proc {
|
115
149
|
NewRelic::Agent.config[:enabled] &&
|
116
|
-
|
117
|
-
|
150
|
+
(NewRelic::Agent.config[:test_mode] || NewRelic::Agent.config[:monitor_mode]) &&
|
151
|
+
NewRelic::Agent::Autostart.agent_should_start?
|
118
152
|
}
|
119
153
|
end
|
120
154
|
|
121
155
|
DEFAULT_LOG_DIR = 'log/'.freeze
|
122
156
|
|
123
157
|
def self.audit_log_path
|
124
|
-
|
158
|
+
proc {
|
125
159
|
log_file_path = NewRelic::Agent.config[:log_file_path]
|
126
|
-
wants_stdout
|
160
|
+
wants_stdout = (log_file_path.casecmp(NewRelic::STANDARD_OUT) == 0)
|
127
161
|
audit_log_dir = wants_stdout ? DEFAULT_LOG_DIR : log_file_path
|
128
162
|
|
129
163
|
File.join(audit_log_dir, 'newrelic_audit.log')
|
@@ -131,30 +165,30 @@ module NewRelic
|
|
131
165
|
end
|
132
166
|
|
133
167
|
def self.app_name
|
134
|
-
|
168
|
+
proc { NewRelic::Control.instance.env }
|
135
169
|
end
|
136
170
|
|
137
171
|
def self.dispatcher
|
138
|
-
|
172
|
+
proc { NewRelic::Control.instance.local_env.discovered_dispatcher }
|
139
173
|
end
|
140
174
|
|
141
175
|
def self.thread_profiler_enabled
|
142
|
-
|
176
|
+
proc { NewRelic::Agent::Threading::BacktraceService.is_supported? }
|
143
177
|
end
|
144
178
|
|
145
179
|
# This check supports the js_errors_beta key we've asked clients to
|
146
180
|
# set. Once JS errors are GA, browser_monitoring.loader can stop
|
147
181
|
# being dynamic.
|
148
182
|
def self.browser_monitoring_loader
|
149
|
-
|
183
|
+
proc { NewRelic::Agent.config[:js_errors_beta] ? "full" : "rum" }
|
150
184
|
end
|
151
185
|
|
152
186
|
def self.transaction_tracer_transaction_threshold
|
153
|
-
|
187
|
+
proc { NewRelic::Agent.config[:apdex_t] * 4 }
|
154
188
|
end
|
155
189
|
|
156
190
|
def self.profiling_available
|
157
|
-
|
191
|
+
proc {
|
158
192
|
begin
|
159
193
|
require 'ruby-prof'
|
160
194
|
true
|
@@ -165,7 +199,7 @@ module NewRelic
|
|
165
199
|
end
|
166
200
|
|
167
201
|
def self.host
|
168
|
-
|
202
|
+
proc do
|
169
203
|
regex = /\A(?<identifier>.+?)x/
|
170
204
|
if matches = regex.match(String(NewRelic::Agent.config[:license_key]))
|
171
205
|
"collector.#{matches['identifier']}.nr-data.net"
|
@@ -176,12 +210,16 @@ module NewRelic
|
|
176
210
|
end
|
177
211
|
|
178
212
|
def self.api_host
|
179
|
-
|
180
|
-
|
181
|
-
|
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"
|
182
217
|
else
|
183
|
-
|
218
|
+
"api"
|
184
219
|
end
|
220
|
+
api_region = "eu." if String(NewRelic::Agent.config[:license_key]).start_with?('eu')
|
221
|
+
|
222
|
+
"#{api_version}.#{api_region}newrelic.com"
|
185
223
|
end
|
186
224
|
end
|
187
225
|
|
@@ -204,30 +242,28 @@ module NewRelic
|
|
204
242
|
end
|
205
243
|
|
206
244
|
SEMICOLON = ';'.freeze
|
207
|
-
def self.convert_to_list_on_semicolon
|
245
|
+
def self.convert_to_list_on_semicolon(value)
|
208
246
|
case value
|
209
247
|
when Array then value
|
210
248
|
when String then value.split(SEMICOLON)
|
211
|
-
else
|
249
|
+
else NewRelic::EMPTY_ARRAY
|
212
250
|
end
|
213
251
|
end
|
214
252
|
|
215
253
|
def self.convert_to_constant_list(raw_value)
|
216
|
-
|
217
|
-
const_names.map! do |class_name|
|
218
|
-
const = ::NewRelic::LanguageSupport.constantize(class_name)
|
219
|
-
|
220
|
-
unless const
|
221
|
-
NewRelic::Agent.logger.warn("Ignoring unrecognized constant '#{class_name}' in #{raw_value}")
|
222
|
-
end
|
254
|
+
return NewRelic::EMPTY_ARRAY if raw_value.nil? || raw_value.empty?
|
223
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
|
224
259
|
const
|
225
260
|
end
|
226
|
-
|
261
|
+
constants.compact!
|
262
|
+
constants
|
227
263
|
end
|
228
264
|
|
229
265
|
def self.enforce_fallback(allowed_values: nil, fallback: nil)
|
230
|
-
|
266
|
+
proc do |configured_value|
|
231
267
|
if allowed_values.any? { |v| v =~ /#{configured_value}/i }
|
232
268
|
configured_value
|
233
269
|
else
|
@@ -290,27 +326,14 @@ module NewRelic
|
|
290
326
|
].join(',').freeze
|
291
327
|
|
292
328
|
DEFAULTS = {
|
293
|
-
|
294
|
-
:default => '',
|
295
|
-
:public => true,
|
296
|
-
:type => String,
|
297
|
-
:allowed_from_server => false,
|
298
|
-
:description => 'Your New Relic <a href="https://docs.newrelic.com/docs/accounts-partnerships/accounts/account-setup/license-key">license key</a>.'
|
299
|
-
},
|
329
|
+
# Critical
|
300
330
|
:agent_enabled => {
|
301
331
|
:default => DefaultSource.agent_enabled,
|
332
|
+
:documentation_default => true,
|
302
333
|
:public => true,
|
303
334
|
:type => Boolean,
|
304
335
|
:allowed_from_server => false,
|
305
|
-
:description => 'If
|
306
|
-
},
|
307
|
-
:enabled => {
|
308
|
-
:default => true,
|
309
|
-
:public => false,
|
310
|
-
:type => Boolean,
|
311
|
-
:aliases => [:enable],
|
312
|
-
:allowed_from_server => false,
|
313
|
-
:description => 'Enable or disable the agent.'
|
336
|
+
:description => 'If `true`, allows the Ruby agent to run.'
|
314
337
|
},
|
315
338
|
:app_name => {
|
316
339
|
:default => DefaultSource.app_name,
|
@@ -318,105 +341,79 @@ module NewRelic
|
|
318
341
|
:type => String,
|
319
342
|
:allowed_from_server => false,
|
320
343
|
:transform => DefaultSource.method(:convert_to_list_on_semicolon),
|
321
|
-
: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`.'
|
322
345
|
},
|
323
|
-
:
|
324
|
-
:default =>
|
325
|
-
:allow_nil => true,
|
346
|
+
:license_key => {
|
347
|
+
:default => '',
|
326
348
|
:public => true,
|
327
349
|
:type => String,
|
328
|
-
:allowed_from_server => true,
|
329
|
-
:description => 'The <a href="https://docs.newrelic.com/attribute-dictionary/span/entityguid">Entity GUID</a> for the entity running this agent.'
|
330
|
-
},
|
331
|
-
:monitor_mode => {
|
332
|
-
:default => value_of(:enabled),
|
333
|
-
:public => true,
|
334
|
-
:type => Boolean,
|
335
|
-
:allowed_from_server => false,
|
336
|
-
: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>.'
|
337
|
-
},
|
338
|
-
:test_mode => {
|
339
|
-
:default => false,
|
340
|
-
:public => false,
|
341
|
-
:type => Boolean,
|
342
350
|
:allowed_from_server => false,
|
343
|
-
:description => '
|
351
|
+
:description => 'Your New Relic [license key](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key).'
|
344
352
|
},
|
345
353
|
:log_level => {
|
346
354
|
:default => 'info',
|
347
355
|
:public => true,
|
348
356
|
:type => String,
|
349
357
|
:allowed_from_server => false,
|
350
|
-
: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`.'
|
351
359
|
},
|
352
|
-
|
353
|
-
|
360
|
+
# General
|
361
|
+
:apdex_t => {
|
362
|
+
:default => 0.5,
|
354
363
|
:public => true,
|
355
|
-
:type =>
|
356
|
-
:allowed_from_server =>
|
357
|
-
:
|
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).'
|
358
368
|
},
|
359
|
-
:
|
369
|
+
:api_key => {
|
360
370
|
:default => '',
|
361
371
|
:public => true,
|
362
372
|
:type => String,
|
363
373
|
:allowed_from_server => false,
|
364
|
-
:description => '
|
365
|
-
},
|
366
|
-
:proxy_host => {
|
367
|
-
:default => nil,
|
368
|
-
:allow_nil => true,
|
369
|
-
:public => true,
|
370
|
-
:type => String,
|
371
|
-
:allowed_from_server => false,
|
372
|
-
: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.'
|
373
375
|
},
|
374
|
-
:
|
375
|
-
:default =>
|
376
|
-
:allow_nil => true,
|
376
|
+
:backport_fast_active_record_connection_lookup => {
|
377
|
+
:default => false,
|
377
378
|
:public => true,
|
378
|
-
:type =>
|
379
|
+
:type => Boolean,
|
379
380
|
:allowed_from_server => false,
|
380
|
-
: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.'
|
381
382
|
},
|
382
|
-
:
|
383
|
+
:ca_bundle_path => {
|
383
384
|
:default => nil,
|
384
385
|
:allow_nil => true,
|
385
386
|
:public => true,
|
386
387
|
:type => String,
|
387
388
|
:allowed_from_server => false,
|
388
|
-
:
|
389
|
-
: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."
|
390
390
|
},
|
391
|
-
:
|
392
|
-
:default =>
|
393
|
-
:allow_nil => true,
|
391
|
+
:capture_memcache_keys => {
|
392
|
+
:default => false,
|
394
393
|
:public => true,
|
395
|
-
:type =>
|
396
|
-
:allowed_from_server =>
|
397
|
-
:
|
398
|
-
: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.'
|
399
397
|
},
|
400
398
|
:capture_params => {
|
401
399
|
:default => false,
|
402
400
|
:public => true,
|
403
401
|
:type => Boolean,
|
404
402
|
:allowed_from_server => false,
|
405
|
-
:description =>
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
'</div>'
|
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`.'
|
420
417
|
},
|
421
418
|
:config_path => {
|
422
419
|
:default => DefaultSource.config_path,
|
@@ -425,1506 +422,2003 @@ module NewRelic
|
|
425
422
|
:allowed_from_server => false,
|
426
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>.'
|
427
424
|
},
|
428
|
-
:
|
429
|
-
:default =>
|
430
|
-
:public =>
|
431
|
-
:type =>
|
432
|
-
:allowed_from_server =>
|
433
|
-
:description => "
|
434
|
-
},
|
435
|
-
:dispatcher => {
|
436
|
-
:default => DefaultSource.dispatcher,
|
437
|
-
:public => false,
|
438
|
-
:type => Symbol,
|
439
|
-
:allowed_from_server => false,
|
440
|
-
:description => 'Autodetected application component that reports metrics to New Relic.'
|
441
|
-
},
|
442
|
-
:framework => {
|
443
|
-
:default => DefaultSource.framework,
|
444
|
-
:public => false,
|
445
|
-
:type => Symbol,
|
446
|
-
:allowed_from_server => false,
|
447
|
-
: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."
|
448
431
|
},
|
449
|
-
:
|
450
|
-
:default =>
|
432
|
+
:force_install_exit_handler => {
|
433
|
+
:default => false,
|
451
434
|
:public => true,
|
452
|
-
:type =>
|
435
|
+
:type => Boolean,
|
453
436
|
:allowed_from_server => false,
|
454
|
-
:description => '
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
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.'
|
459
443
|
},
|
460
|
-
:
|
461
|
-
:default =>
|
444
|
+
:high_security => {
|
445
|
+
:default => false,
|
462
446
|
:public => true,
|
463
|
-
:type =>
|
447
|
+
:type => Boolean,
|
464
448
|
:allowed_from_server => false,
|
465
|
-
: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.'
|
466
450
|
},
|
467
|
-
:
|
468
|
-
:default => '
|
451
|
+
:labels => {
|
452
|
+
:default => '',
|
469
453
|
:public => true,
|
470
454
|
:type => String,
|
471
455
|
:allowed_from_server => false,
|
472
|
-
:description => '
|
473
|
-
'For agent versions 6.8.0 or higher, ' \
|
474
|
-
'use <a href="#autostart-denylisted_executables"><code>' \
|
475
|
-
'autostart.denylisted_executables' \
|
476
|
-
'</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>`.'
|
477
457
|
},
|
478
|
-
:
|
479
|
-
:default =>
|
458
|
+
:log_file_name => {
|
459
|
+
:default => 'newrelic_agent.log',
|
480
460
|
:public => true,
|
481
461
|
:type => String,
|
482
462
|
:allowed_from_server => false,
|
483
|
-
:description => 'Defines a
|
463
|
+
:description => 'Defines a name for the log file.'
|
484
464
|
},
|
485
|
-
:
|
486
|
-
:default =>
|
465
|
+
:log_file_path => {
|
466
|
+
:default => DefaultSource::DEFAULT_LOG_DIR,
|
487
467
|
:public => true,
|
488
468
|
:type => String,
|
489
469
|
:allowed_from_server => false,
|
490
|
-
:description => '
|
491
|
-
'For agent versions 6.8.0 or higher, ' \
|
492
|
-
'use <a href="#autostart-denylisted_rake_tasks"><code>' \
|
493
|
-
'autostart.denylisted_rake_tasks' \
|
494
|
-
'</code></a> instead.'
|
470
|
+
:description => 'Defines a path to the agent log file, excluding the filename.'
|
495
471
|
},
|
496
|
-
:
|
497
|
-
:default =>
|
472
|
+
:marshaller => {
|
473
|
+
:default => 'json',
|
498
474
|
:public => true,
|
499
475
|
:type => String,
|
500
476
|
:allowed_from_server => false,
|
501
|
-
: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.'
|
502
478
|
},
|
503
|
-
:
|
504
|
-
:default =>
|
479
|
+
:monitor_mode => {
|
480
|
+
:default => value_of(:enabled),
|
481
|
+
:documentation_default => true,
|
505
482
|
:public => true,
|
506
483
|
:type => Boolean,
|
507
484
|
:allowed_from_server => false,
|
508
|
-
: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).'
|
509
486
|
},
|
510
|
-
:
|
487
|
+
:prepend_active_record_instrumentation => {
|
511
488
|
:default => false,
|
512
|
-
:public =>
|
489
|
+
:public => true,
|
513
490
|
:type => Boolean,
|
514
491
|
:allowed_from_server => false,
|
515
|
-
:description => '
|
492
|
+
:description => 'If `true`, uses `Module#prepend` rather than `alias_method` for ActiveRecord instrumentation.'
|
516
493
|
},
|
517
|
-
:
|
518
|
-
:default =>
|
494
|
+
:proxy_host => {
|
495
|
+
:default => nil,
|
496
|
+
:allow_nil => true,
|
519
497
|
:public => true,
|
520
|
-
:type =>
|
498
|
+
:type => String,
|
521
499
|
:allowed_from_server => false,
|
522
|
-
:
|
523
|
-
: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.'
|
524
501
|
},
|
525
|
-
:
|
526
|
-
:default =>
|
502
|
+
:proxy_pass => {
|
503
|
+
:default => nil,
|
504
|
+
:allow_nil => true,
|
527
505
|
:public => true,
|
528
|
-
:type =>
|
506
|
+
:type => String,
|
529
507
|
:allowed_from_server => false,
|
530
|
-
:
|
531
|
-
|
532
|
-
:apdex_t => {
|
533
|
-
:default => 0.5,
|
534
|
-
:public => true,
|
535
|
-
:type => Float,
|
536
|
-
:allowed_from_server => true,
|
537
|
-
:deprecated => true,
|
538
|
-
: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.'
|
539
510
|
},
|
540
|
-
:
|
541
|
-
:default =>
|
511
|
+
:proxy_port => {
|
512
|
+
:default => 8080,
|
513
|
+
:allow_nil => true,
|
542
514
|
:public => true,
|
543
|
-
:type =>
|
515
|
+
:type => Integer,
|
544
516
|
:allowed_from_server => false,
|
545
|
-
: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.'
|
546
518
|
},
|
547
|
-
:
|
548
|
-
:default =>
|
519
|
+
:proxy_user => {
|
520
|
+
:default => nil,
|
521
|
+
:allow_nil => true,
|
549
522
|
:public => true,
|
550
523
|
:type => String,
|
551
|
-
:deprecated => true,
|
552
524
|
:allowed_from_server => false,
|
553
|
-
:
|
554
|
-
:description => '
|
555
|
-
'For agent versions 6.8.0 or higher, ' \
|
556
|
-
'use <a href="#strip_exception_messages.allowed_classes"><code>' \
|
557
|
-
'strip_exception_messages.allowed_classes' \
|
558
|
-
'</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.'
|
559
527
|
},
|
560
|
-
:
|
528
|
+
:security_policies_token => {
|
561
529
|
:default => '',
|
562
530
|
:public => true,
|
563
531
|
:type => String,
|
564
532
|
:allowed_from_server => false,
|
565
|
-
:
|
566
|
-
: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>.'
|
567
|
-
},
|
568
|
-
:host => {
|
569
|
-
:default => DefaultSource.host,
|
570
|
-
:public => false,
|
571
|
-
:type => String,
|
572
|
-
:allowed_from_server => false,
|
573
|
-
:description => "URI for the New Relic data collection service."
|
533
|
+
:description => 'Applies Language Agent Security Policy settings.'
|
574
534
|
},
|
575
|
-
:
|
576
|
-
:default =>
|
577
|
-
:public =>
|
578
|
-
:type =>
|
535
|
+
:send_data_on_exit => {
|
536
|
+
:default => true,
|
537
|
+
:public => true,
|
538
|
+
:type => Boolean,
|
579
539
|
:allowed_from_server => false,
|
580
|
-
: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.'
|
581
541
|
},
|
582
|
-
:
|
583
|
-
:default =>
|
584
|
-
:public =>
|
585
|
-
:type =>
|
542
|
+
:sync_startup => {
|
543
|
+
:default => false,
|
544
|
+
:public => true,
|
545
|
+
:type => Boolean,
|
586
546
|
:allowed_from_server => false,
|
587
|
-
: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.'
|
588
548
|
},
|
589
|
-
:
|
590
|
-
:default =>
|
591
|
-
:public =>
|
549
|
+
:timeout => {
|
550
|
+
:default => 2 * 60, # 2 minutes
|
551
|
+
:public => true,
|
592
552
|
:type => Integer,
|
593
553
|
:allowed_from_server => false,
|
594
|
-
:description => '
|
554
|
+
:description => 'Defines the maximum number of seconds the agent should spend attempting to connect to the collector.'
|
595
555
|
},
|
596
|
-
|
597
|
-
|
556
|
+
# Transaction tracer
|
557
|
+
:'transaction_tracer.capture_attributes' => {
|
558
|
+
:default => true,
|
598
559
|
:public => true,
|
599
560
|
:type => Boolean,
|
561
|
+
:deprecated => true,
|
600
562
|
:allowed_from_server => false,
|
601
|
-
:description => '
|
563
|
+
:description => 'Use [`transaction_tracer.attributes.enabled`](#transaction_tracer-attributes-enabled) instead.'
|
602
564
|
},
|
603
|
-
:
|
565
|
+
:'transaction_tracer.enabled' => {
|
604
566
|
:default => true,
|
605
567
|
:public => true,
|
606
568
|
:type => Boolean,
|
607
|
-
:allowed_from_server => false,
|
608
|
-
:description => 'If <code>true</code>, enables the exit handler that sends data to the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a> before shutting down.'
|
609
|
-
},
|
610
|
-
:max_payload_size_in_bytes => {
|
611
|
-
:default => 1000000,
|
612
|
-
:public => false,
|
613
|
-
:type => Integer,
|
614
569
|
:allowed_from_server => true,
|
615
|
-
:description => '
|
570
|
+
:description => 'If `true`, enables collection of [transaction traces](/docs/apm/traces/transaction-traces/transaction-traces).'
|
616
571
|
},
|
617
|
-
:
|
618
|
-
:default =>
|
619
|
-
:public =>
|
572
|
+
:'transaction_tracer.explain_enabled' => {
|
573
|
+
:default => true,
|
574
|
+
:public => true,
|
620
575
|
:type => Boolean,
|
621
|
-
:allowed_from_server =>
|
622
|
-
:description => '
|
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.'
|
623
578
|
},
|
624
|
-
:
|
625
|
-
:default =>
|
626
|
-
:public =>
|
627
|
-
:type =>
|
628
|
-
:allowed_from_server =>
|
629
|
-
:description => '
|
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.'
|
630
585
|
},
|
631
|
-
:
|
586
|
+
:'transaction_tracer.limit_segments' => {
|
587
|
+
:default => 4000,
|
588
|
+
:public => true,
|
589
|
+
:type => Integer,
|
590
|
+
:allowed_from_server => true,
|
591
|
+
:description => 'Maximum number of transaction trace nodes to record in a single transaction trace.'
|
592
|
+
},
|
593
|
+
:'transaction_tracer.record_redis_arguments' => {
|
632
594
|
:default => false,
|
633
|
-
:public =>
|
595
|
+
:public => true,
|
634
596
|
:type => Boolean,
|
635
597
|
:allowed_from_server => false,
|
636
|
-
:description => '
|
598
|
+
:description => 'If `true`, the agent records Redis command arguments in transaction traces.'
|
637
599
|
},
|
638
|
-
:
|
639
|
-
:default =>
|
600
|
+
:'transaction_tracer.record_sql' => {
|
601
|
+
:default => 'obfuscated',
|
640
602
|
:public => true,
|
641
|
-
:type =>
|
642
|
-
:allowed_from_server =>
|
643
|
-
:description => '
|
603
|
+
:type => String,
|
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
|
+
'
|
644
613
|
},
|
645
|
-
|
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.'
|
621
|
+
},
|
622
|
+
:'transaction_tracer.transaction_threshold' => {
|
623
|
+
:default => DefaultSource.transaction_tracer_transaction_threshold,
|
624
|
+
:public => true,
|
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`.'
|
628
|
+
},
|
629
|
+
# Error collector
|
630
|
+
:'error_collector.capture_attributes' => {
|
646
631
|
:default => true,
|
647
|
-
:public =>
|
632
|
+
:public => true,
|
648
633
|
:type => Boolean,
|
634
|
+
:deprecated => true,
|
649
635
|
:allowed_from_server => false,
|
650
|
-
:description => '
|
636
|
+
:description => 'Use [`error_collector.attributes.enabled`](#error_collector-attributes-enabled) instead.'
|
651
637
|
},
|
652
|
-
:
|
653
|
-
:default =>
|
654
|
-
:public =>
|
655
|
-
:type =>
|
638
|
+
:'error_collector.ignore_classes' => {
|
639
|
+
:default => [],
|
640
|
+
:public => true,
|
641
|
+
:type => Array,
|
656
642
|
:allowed_from_server => true,
|
657
|
-
:
|
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
|
658
651
|
},
|
659
|
-
:
|
660
|
-
:default =>
|
661
|
-
:
|
662
|
-
:
|
652
|
+
:'error_collector.capture_events' => {
|
653
|
+
:default => value_of(:'error_collector.enabled'),
|
654
|
+
:documentation_default => true,
|
655
|
+
:public => true,
|
656
|
+
:type => Boolean,
|
663
657
|
:allowed_from_server => true,
|
664
|
-
:description => 'Number of seconds betwixt connections to the New Relic event collection services.'
|
665
|
-
},
|
666
|
-
:'event_report_period.analytic_event_data' => {
|
667
|
-
:default => 60,
|
668
|
-
:public => false,
|
669
|
-
:type => Integer,
|
670
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,
|
671
665
|
:allowed_from_server => true,
|
672
|
-
:description => '
|
666
|
+
:description => 'If `true`, the agent captures traced errors and error count metrics.'
|
673
667
|
},
|
674
|
-
:'
|
675
|
-
:default =>
|
676
|
-
:public =>
|
677
|
-
:type =>
|
668
|
+
:'error_collector.expected_classes' => {
|
669
|
+
:default => [],
|
670
|
+
:public => true,
|
671
|
+
:type => Array,
|
672
|
+
:allowed_from_server => true,
|
678
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,
|
679
686
|
:allowed_from_server => true,
|
680
|
-
:
|
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
|
681
695
|
},
|
682
|
-
:'
|
683
|
-
:default =>
|
684
|
-
:public =>
|
685
|
-
:type =>
|
696
|
+
:'error_collector.expected_status_codes' => {
|
697
|
+
:default => '',
|
698
|
+
:public => true,
|
699
|
+
:type => String,
|
700
|
+
:allowed_from_server => true,
|
686
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,
|
687
709
|
:allowed_from_server => true,
|
688
|
-
:
|
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
|
689
718
|
},
|
690
|
-
:'
|
691
|
-
:default =>
|
692
|
-
:public =>
|
693
|
-
:type =>
|
719
|
+
:'error_collector.ignore_messages' => {
|
720
|
+
:default => {},
|
721
|
+
:public => true,
|
722
|
+
:type => Hash,
|
723
|
+
:allowed_from_server => true,
|
694
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,
|
695
737
|
:allowed_from_server => true,
|
696
|
-
:
|
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.'
|
697
740
|
},
|
698
|
-
:
|
699
|
-
:default =>
|
700
|
-
:public =>
|
701
|
-
:type =>
|
702
|
-
:deprecated => true,
|
741
|
+
:'error_collector.max_backtrace_frames' => {
|
742
|
+
:default => 50,
|
743
|
+
:public => true,
|
744
|
+
:type => Integer,
|
703
745
|
:allowed_from_server => false,
|
704
|
-
:description => '
|
746
|
+
:description => 'Defines the maximum number of frames in an error backtrace. Backtraces over this amount are truncated at the beginning and end.'
|
705
747
|
},
|
706
|
-
:
|
707
|
-
:default =>
|
748
|
+
:'error_collector.max_event_samples_stored' => {
|
749
|
+
:default => 100,
|
750
|
+
:public => true,
|
751
|
+
:type => Integer,
|
752
|
+
:allowed_from_server => true,
|
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.'
|
754
|
+
},
|
755
|
+
# Browser monitoring
|
756
|
+
:'browser_monitoring.auto_instrument' => {
|
757
|
+
:default => value_of(:'rum.enabled'),
|
758
|
+
:documentation_default => true,
|
708
759
|
:public => true,
|
709
760
|
:type => Boolean,
|
710
|
-
:allowed_from_server =>
|
711
|
-
:description => '
|
712
|
-
'before shuttng down to be installed regardless of detecting scenarios where it generally should not be. ' \
|
713
|
-
'Known use-case for this option is where Sinatra is running as an embedded service within another framework ' \
|
714
|
-
'and the agent is detecting the Sinatra app and skipping the at_exit handler as a result. Sinatra classically ' \
|
715
|
-
'runs the entire application in an at_exit block and would otherwise misbehave if the Agent\'s at_exit handler ' \
|
716
|
-
'is also installed in those circumstances. Note: `send_data_on_exit` should also be set to `true` in tandem with this setting.'
|
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).'
|
717
763
|
},
|
718
|
-
:
|
764
|
+
:'browser_monitoring.capture_attributes' => {
|
719
765
|
:default => false,
|
720
|
-
:public =>
|
766
|
+
:public => true,
|
721
767
|
:type => Boolean,
|
768
|
+
:deprecated => true,
|
722
769
|
:allowed_from_server => false,
|
723
|
-
:description => '
|
770
|
+
:description => 'Use [`browser_monitoring.attributes.enabled`](#browser_monitoring-attributes-enabled) instead.'
|
724
771
|
},
|
725
|
-
|
772
|
+
# Analytics events
|
773
|
+
:'analytics_events.capture_attributes' => {
|
726
774
|
:default => true,
|
727
|
-
:public =>
|
775
|
+
:public => true,
|
728
776
|
:type => Boolean,
|
777
|
+
:deprecated => true,
|
729
778
|
:allowed_from_server => false,
|
730
|
-
:description => '
|
779
|
+
:description => 'Use [`transaction_events.attributes.enabled`](#transaction_events-attributes-enabled) instead.'
|
731
780
|
},
|
732
|
-
:
|
733
|
-
:default =>
|
781
|
+
:'analytics_events.enabled' => {
|
782
|
+
:default => true,
|
734
783
|
:public => true,
|
735
|
-
:type =>
|
736
|
-
:
|
737
|
-
:
|
784
|
+
:type => Boolean,
|
785
|
+
:deprecated => true,
|
786
|
+
:allowed_from_server => true,
|
787
|
+
:description => deprecated_description(:'transaction_events.enabled', 'If `true`, enables analytics event sampling.')
|
738
788
|
},
|
739
|
-
:
|
740
|
-
:default =>
|
789
|
+
:'analytics_events.max_samples_stored' => {
|
790
|
+
:default => 1200,
|
741
791
|
:public => true,
|
742
|
-
:type =>
|
743
|
-
:
|
744
|
-
:
|
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.')
|
745
796
|
},
|
746
|
-
|
747
|
-
|
797
|
+
# Transaction events
|
798
|
+
:'transaction_events.enabled' => {
|
799
|
+
:default => value_of(:'analytics_events.enabled'),
|
800
|
+
:documentation_default => true,
|
748
801
|
:public => true,
|
749
802
|
:type => Boolean,
|
750
|
-
:allowed_from_server =>
|
751
|
-
:description => 'If
|
803
|
+
:allowed_from_server => true,
|
804
|
+
:description => 'If `true`, enables transaction event sampling.'
|
752
805
|
},
|
753
|
-
:'
|
754
|
-
:default =>
|
806
|
+
:'transaction_events.max_samples_stored' => {
|
807
|
+
:default => value_of(:'analytics_events.max_samples_stored'),
|
808
|
+
:documentation_default => 1200,
|
755
809
|
:public => true,
|
756
|
-
:type =>
|
757
|
-
:allowed_from_server =>
|
758
|
-
:description => '
|
810
|
+
:type => Integer,
|
811
|
+
:allowed_from_server => true,
|
812
|
+
:description => 'Defines the maximum number of transaction events reported from a single harvest.'
|
759
813
|
},
|
760
|
-
|
761
|
-
|
814
|
+
# Application logging
|
815
|
+
:'application_logging.enabled' => {
|
816
|
+
:default => true,
|
762
817
|
:public => true,
|
763
|
-
:type =>
|
818
|
+
:type => Boolean,
|
764
819
|
:allowed_from_server => false,
|
765
|
-
:
|
766
|
-
:description => 'List of allowed endpoints to include in audit log'
|
820
|
+
:description => 'If `true`, enables log decoration and the collection of log events and metrics.'
|
767
821
|
},
|
768
|
-
:
|
769
|
-
:default =>
|
822
|
+
:'application_logging.forwarding.enabled' => {
|
823
|
+
:default => true,
|
770
824
|
:public => true,
|
771
825
|
:type => Boolean,
|
772
826
|
:allowed_from_server => false,
|
773
|
-
:description => 'If
|
827
|
+
:description => 'If `true`, the agent captures log records emitted by your application.'
|
774
828
|
},
|
775
|
-
:
|
776
|
-
:default =>
|
829
|
+
:'application_logging.forwarding.max_samples_stored' => {
|
830
|
+
:default => 10000,
|
777
831
|
:public => true,
|
778
|
-
:type =>
|
779
|
-
:allowed_from_server =>
|
780
|
-
: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
|
781
836
|
},
|
782
|
-
:
|
837
|
+
:'application_logging.local_decorating.enabled' => {
|
783
838
|
:default => false,
|
784
839
|
:public => true,
|
785
840
|
:type => Boolean,
|
786
841
|
:allowed_from_server => false,
|
787
|
-
:description => 'If
|
842
|
+
:description => 'If `true`, the agent decorates logs with metadata to link to entities, hosts, traces, and spans.'
|
788
843
|
},
|
789
|
-
:
|
790
|
-
:default =>
|
844
|
+
:'application_logging.metrics.enabled' => {
|
845
|
+
:default => true,
|
791
846
|
:public => true,
|
792
847
|
:type => Boolean,
|
793
|
-
:allowed_from_server =>
|
794
|
-
:description => 'If
|
848
|
+
:allowed_from_server => true,
|
849
|
+
:description => 'If `true`, the agent captures metrics related to logging for your application.'
|
795
850
|
},
|
796
|
-
|
797
|
-
|
851
|
+
# Attributes
|
852
|
+
:'attributes.enabled' => {
|
853
|
+
:default => true,
|
798
854
|
:public => true,
|
799
855
|
:type => Boolean,
|
800
856
|
:allowed_from_server => false,
|
801
|
-
:description => 'If
|
857
|
+
:description => 'If `true`, enables capture of attributes for all destinations.'
|
802
858
|
},
|
803
|
-
:
|
804
|
-
:default =>
|
859
|
+
:'attributes.exclude' => {
|
860
|
+
:default => [],
|
805
861
|
:public => true,
|
806
|
-
:type =>
|
862
|
+
:type => Array,
|
807
863
|
:allowed_from_server => false,
|
808
|
-
:
|
864
|
+
:transform => DefaultSource.method(:convert_to_list),
|
865
|
+
:description => 'Prefix of attributes to exclude from all destinations. Allows `*` as wildcard at end.'
|
809
866
|
},
|
810
|
-
:
|
811
|
-
:default =>
|
867
|
+
:'attributes.include' => {
|
868
|
+
:default => [],
|
812
869
|
:public => true,
|
813
|
-
:type =>
|
870
|
+
:type => Array,
|
814
871
|
:allowed_from_server => false,
|
815
|
-
:
|
872
|
+
:transform => DefaultSource.method(:convert_to_list),
|
873
|
+
:description => 'Prefix of attributes to include in all destinations. Allows `*` as wildcard at end.'
|
816
874
|
},
|
817
|
-
:
|
818
|
-
:default =>
|
819
|
-
:
|
875
|
+
:'browser_monitoring.attributes.enabled' => {
|
876
|
+
:default => value_of(:'browser_monitoring.capture_attributes'),
|
877
|
+
:documentation_default => false,
|
878
|
+
:public => true,
|
820
879
|
:type => Boolean,
|
821
880
|
:allowed_from_server => false,
|
822
|
-
:description => '
|
881
|
+
:description => 'If `true`, the agent captures attributes from browser monitoring.'
|
823
882
|
},
|
824
|
-
:
|
825
|
-
:default =>
|
826
|
-
:public =>
|
827
|
-
:type =>
|
883
|
+
:'browser_monitoring.attributes.exclude' => {
|
884
|
+
:default => [],
|
885
|
+
:public => true,
|
886
|
+
:type => Array,
|
828
887
|
:allowed_from_server => false,
|
829
|
-
:
|
888
|
+
:transform => DefaultSource.method(:convert_to_list),
|
889
|
+
:description => 'Prefix of attributes to exclude from browser monitoring. Allows `*` as wildcard at end.'
|
830
890
|
},
|
831
|
-
:
|
832
|
-
:default =>
|
891
|
+
:'browser_monitoring.attributes.include' => {
|
892
|
+
:default => [],
|
833
893
|
:public => true,
|
834
|
-
:type =>
|
894
|
+
:type => Array,
|
835
895
|
:allowed_from_server => false,
|
836
|
-
:
|
896
|
+
:transform => DefaultSource.method(:convert_to_list),
|
897
|
+
:description => 'Prefix of attributes to include in browser monitoring. Allows `*` as wildcard at end.'
|
837
898
|
},
|
838
|
-
:
|
839
|
-
:default =>
|
899
|
+
:'error_collector.attributes.enabled' => {
|
900
|
+
:default => value_of(:'error_collector.capture_attributes'),
|
901
|
+
:documentation_default => true,
|
840
902
|
:public => true,
|
841
903
|
:type => Boolean,
|
842
904
|
:allowed_from_server => false,
|
843
|
-
:description => 'If
|
905
|
+
:description => 'If `true`, the agent captures attributes from error collection.'
|
844
906
|
},
|
845
|
-
:
|
846
|
-
:default =>
|
907
|
+
:'error_collector.attributes.exclude' => {
|
908
|
+
:default => [],
|
847
909
|
:public => true,
|
848
|
-
:type =>
|
910
|
+
:type => Array,
|
849
911
|
:allowed_from_server => false,
|
850
|
-
:
|
912
|
+
:transform => DefaultSource.method(:convert_to_list),
|
913
|
+
:description => 'Prefix of attributes to exclude from error collection. Allows `*` as wildcard at end.'
|
851
914
|
},
|
852
|
-
:
|
853
|
-
:default =>
|
915
|
+
:'error_collector.attributes.include' => {
|
916
|
+
:default => [],
|
854
917
|
:public => true,
|
855
|
-
:type =>
|
918
|
+
:type => Array,
|
856
919
|
:allowed_from_server => false,
|
857
|
-
:
|
920
|
+
:transform => DefaultSource.method(:convert_to_list),
|
921
|
+
:description => 'Prefix of attributes to include in error collection. Allows `*` as wildcard at end.'
|
858
922
|
},
|
859
|
-
:
|
860
|
-
:default =>
|
923
|
+
:'span_events.attributes.enabled' => {
|
924
|
+
:default => true,
|
861
925
|
:public => true,
|
862
926
|
:type => Boolean,
|
863
|
-
:dynamic_name => true,
|
864
927
|
:allowed_from_server => false,
|
865
|
-
:description => 'If
|
928
|
+
:description => 'If `true`, the agent captures attributes on span events.'
|
866
929
|
},
|
867
|
-
:
|
868
|
-
:default =>
|
930
|
+
:'span_events.attributes.exclude' => {
|
931
|
+
:default => [],
|
869
932
|
:public => true,
|
870
|
-
:type =>
|
871
|
-
:dynamic_name => true,
|
933
|
+
:type => Array,
|
872
934
|
:allowed_from_server => false,
|
873
|
-
:
|
935
|
+
:transform => DefaultSource.method(:convert_to_list),
|
936
|
+
:description => 'Prefix of attributes to exclude from span events. Allows `*` as wildcard at end.'
|
874
937
|
},
|
875
|
-
:
|
876
|
-
:default =>
|
938
|
+
:'span_events.attributes.include' => {
|
939
|
+
:default => [],
|
877
940
|
:public => true,
|
878
|
-
:type =>
|
879
|
-
:dynamic_name => true,
|
941
|
+
:type => Array,
|
880
942
|
:allowed_from_server => false,
|
881
|
-
:
|
943
|
+
:transform => DefaultSource.method(:convert_to_list),
|
944
|
+
:description => 'Prefix of attributes to include on span events. Allows `*` as wildcard at end.'
|
882
945
|
},
|
883
|
-
:
|
884
|
-
:default => value_of(:
|
946
|
+
:'transaction_events.attributes.enabled' => {
|
947
|
+
:default => value_of(:'analytics_events.capture_attributes'),
|
948
|
+
:documentation_default => true,
|
885
949
|
:public => true,
|
886
950
|
:type => Boolean,
|
887
951
|
:allowed_from_server => false,
|
888
|
-
:description => 'If
|
952
|
+
:description => 'If `true`, the agent captures attributes from transaction events.'
|
889
953
|
},
|
890
|
-
:
|
891
|
-
:default =>
|
954
|
+
:'transaction_events.attributes.exclude' => {
|
955
|
+
:default => [],
|
892
956
|
:public => true,
|
893
|
-
:type =>
|
957
|
+
:type => Array,
|
894
958
|
:allowed_from_server => false,
|
895
|
-
:
|
959
|
+
:transform => DefaultSource.method(:convert_to_list),
|
960
|
+
:description => 'Prefix of attributes to exclude from transaction events. Allows `*` as wildcard at end.'
|
896
961
|
},
|
897
|
-
:
|
898
|
-
:default =>
|
962
|
+
:'transaction_events.attributes.include' => {
|
963
|
+
:default => [],
|
899
964
|
:public => true,
|
900
|
-
:type =>
|
965
|
+
:type => Array,
|
901
966
|
:allowed_from_server => false,
|
902
|
-
:
|
967
|
+
:transform => DefaultSource.method(:convert_to_list),
|
968
|
+
:description => 'Prefix of attributes to include in transaction events. Allows `*` as wildcard at end.'
|
903
969
|
},
|
904
|
-
:
|
905
|
-
:default =>
|
970
|
+
:'transaction_segments.attributes.enabled' => {
|
971
|
+
:default => true,
|
906
972
|
:public => true,
|
907
973
|
:type => Boolean,
|
908
974
|
:allowed_from_server => false,
|
909
|
-
:description =>
|
975
|
+
:description => 'If `true`, the agent captures attributes on transaction segments.'
|
910
976
|
},
|
911
|
-
:
|
912
|
-
:default =>
|
977
|
+
:'transaction_segments.attributes.exclude' => {
|
978
|
+
:default => [],
|
913
979
|
:public => true,
|
914
|
-
:type =>
|
980
|
+
:type => Array,
|
915
981
|
:allowed_from_server => false,
|
916
|
-
:
|
982
|
+
:transform => DefaultSource.method(:convert_to_list),
|
983
|
+
:description => 'Prefix of attributes to exclude from transaction segments. Allows `*` as wildcard at end.'
|
917
984
|
},
|
918
|
-
:
|
919
|
-
:default =>
|
985
|
+
:'transaction_segments.attributes.include' => {
|
986
|
+
:default => [],
|
920
987
|
:public => true,
|
921
|
-
:type =>
|
988
|
+
:type => Array,
|
922
989
|
:allowed_from_server => false,
|
923
|
-
:
|
990
|
+
:transform => DefaultSource.method(:convert_to_list),
|
991
|
+
:description => 'Prefix of attributes to include on transaction segments. Allows `*` as wildcard at end.'
|
924
992
|
},
|
925
|
-
:'
|
926
|
-
:default =>
|
993
|
+
:'transaction_tracer.attributes.enabled' => {
|
994
|
+
:default => value_of(:'transaction_tracer.capture_attributes'),
|
995
|
+
:documentation_default => true,
|
927
996
|
:public => true,
|
928
997
|
:type => Boolean,
|
929
998
|
:allowed_from_server => false,
|
930
|
-
:
|
931
|
-
:deprecated => true,
|
932
|
-
:description => 'If <code>true</code>, enables the capture of job arguments for transaction traces and traced errors in Sidekiq.'
|
999
|
+
:description => 'If `true`, the agent captures attributes from transaction traces.'
|
933
1000
|
},
|
934
|
-
:'
|
935
|
-
:default =>
|
1001
|
+
:'transaction_tracer.attributes.exclude' => {
|
1002
|
+
:default => [],
|
936
1003
|
:public => true,
|
937
|
-
:type =>
|
1004
|
+
:type => Array,
|
938
1005
|
:allowed_from_server => false,
|
939
|
-
:
|
940
|
-
:
|
941
|
-
:description => 'If <code>true</code>, enables the capture of job arguments for transaction traces and traced errors in Resque.'
|
1006
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1007
|
+
:description => 'Prefix of attributes to exclude from transaction traces. Allows `*` as wildcard at end.'
|
942
1008
|
},
|
943
|
-
:'
|
944
|
-
:default =>
|
945
|
-
:public =>
|
946
|
-
:type =>
|
1009
|
+
:'transaction_tracer.attributes.include' => {
|
1010
|
+
:default => [],
|
1011
|
+
:public => true,
|
1012
|
+
:type => Array,
|
947
1013
|
:allowed_from_server => false,
|
948
|
-
:
|
1014
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1015
|
+
:description => 'Prefix of attributes to include in transaction traces. Allows `*` as wildcard at end.'
|
949
1016
|
},
|
950
|
-
|
1017
|
+
# Audit log
|
1018
|
+
:'audit_log.enabled' => {
|
951
1019
|
:default => false,
|
952
1020
|
:public => true,
|
953
1021
|
:type => Boolean,
|
954
|
-
:allowed_from_server =>
|
955
|
-
: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).'
|
956
1024
|
},
|
957
|
-
:'
|
958
|
-
:default =>
|
1025
|
+
:'audit_log.endpoints' => {
|
1026
|
+
:default => [".*"],
|
959
1027
|
:public => true,
|
960
|
-
:type =>
|
961
|
-
:allowed_from_server =>
|
962
|
-
:
|
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'
|
963
1032
|
},
|
964
|
-
:'
|
965
|
-
:default => DefaultSource.
|
1033
|
+
:'audit_log.path' => {
|
1034
|
+
:default => DefaultSource.audit_log_path,
|
1035
|
+
:documentation_default => 'config/newrelic_audit.log',
|
966
1036
|
:public => true,
|
967
|
-
:type =>
|
968
|
-
:allowed_from_server =>
|
969
|
-
:description => '
|
1037
|
+
:type => String,
|
1038
|
+
:allowed_from_server => false,
|
1039
|
+
:description => 'Specifies a path to the audit log file (including the filename).'
|
970
1040
|
},
|
971
|
-
|
972
|
-
|
1041
|
+
# Autostart
|
1042
|
+
:'autostart.denylisted_constants' => {
|
1043
|
+
:default => 'Rails::Console',
|
973
1044
|
:public => true,
|
974
1045
|
:type => String,
|
975
|
-
:allowed_from_server =>
|
976
|
-
:description => '
|
977
|
-
|
978
|
-
<p>By default, this is set to <code>obfuscated</code>, which strips out the numeric and string literals.</p>
|
979
|
-
|
980
|
-
<ul>
|
981
|
-
<li>If you do not want the agent to capture query information, set this to <code>none</code>.</li>
|
982
|
-
<li>If you want the agent to capture all query information in its original form, set this to <code>raw</code>.</li>
|
983
|
-
<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>
|
984
|
-
</ul>
|
985
|
-
<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`.'
|
986
1048
|
},
|
987
|
-
:'
|
988
|
-
:default =>
|
1049
|
+
:'autostart.denylisted_executables' => {
|
1050
|
+
:default => 'irb,rspec',
|
989
1051
|
:public => true,
|
990
|
-
:type =>
|
1052
|
+
:type => String,
|
991
1053
|
:allowed_from_server => false,
|
992
|
-
:description => '
|
1054
|
+
:description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, `rake,my_ruby_script.rb`.'
|
993
1055
|
},
|
994
|
-
:'
|
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' => {
|
995
1065
|
:default => true,
|
996
1066
|
:public => true,
|
997
1067
|
:type => Boolean,
|
998
|
-
:
|
999
|
-
:
|
1000
|
-
|
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/'
|
1001
1071
|
},
|
1002
|
-
|
1003
|
-
|
1072
|
+
# Cross application tracer
|
1073
|
+
:"cross_application_tracer.enabled" => {
|
1074
|
+
:default => false,
|
1004
1075
|
:public => true,
|
1005
|
-
:type =>
|
1076
|
+
:type => Boolean,
|
1006
1077
|
:allowed_from_server => true,
|
1007
|
-
:
|
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
|
+
)
|
1008
1083
|
},
|
1009
|
-
|
1084
|
+
# Custom attributes
|
1085
|
+
:'custom_attributes.enabled' => {
|
1010
1086
|
:default => true,
|
1011
1087
|
:public => true,
|
1012
1088
|
:type => Boolean,
|
1013
|
-
:allowed_from_server =>
|
1014
|
-
:description => 'If
|
1089
|
+
:allowed_from_server => false,
|
1090
|
+
:description => 'If `false`, custom attributes will not be sent on events.'
|
1015
1091
|
},
|
1016
|
-
|
1017
|
-
|
1092
|
+
# Custom events
|
1093
|
+
:'custom_insights_events.enabled' => {
|
1094
|
+
:default => true,
|
1018
1095
|
:public => true,
|
1019
|
-
:type =>
|
1096
|
+
:type => Boolean,
|
1020
1097
|
:allowed_from_server => true,
|
1021
|
-
: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).'
|
1022
1099
|
},
|
1023
|
-
:'
|
1024
|
-
:default =>
|
1100
|
+
:'custom_insights_events.max_samples_stored' => {
|
1101
|
+
:default => 3000,
|
1025
1102
|
:public => true,
|
1026
1103
|
:type => Integer,
|
1027
1104
|
:allowed_from_server => true,
|
1028
|
-
:description => '
|
1105
|
+
:description => 'Specify a maximum number of custom events to buffer in memory at a time.',
|
1106
|
+
:dynamic_name => true
|
1029
1107
|
},
|
1030
|
-
|
1031
|
-
|
1108
|
+
# Datastore tracer
|
1109
|
+
:'datastore_tracer.database_name_reporting.enabled' => {
|
1110
|
+
:default => true,
|
1032
1111
|
:public => true,
|
1033
1112
|
:type => Boolean,
|
1034
1113
|
:allowed_from_server => false,
|
1035
|
-
:description => 'If
|
1114
|
+
:description => 'If `false`, the agent will not add `database_name` parameter to transaction or slow sql traces.'
|
1036
1115
|
},
|
1037
|
-
:
|
1038
|
-
:default =>
|
1116
|
+
:'datastore_tracer.instance_reporting.enabled' => {
|
1117
|
+
:default => true,
|
1039
1118
|
:public => true,
|
1040
1119
|
:type => Boolean,
|
1041
1120
|
:allowed_from_server => false,
|
1042
|
-
:
|
1043
|
-
: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.'
|
1044
1122
|
},
|
1045
|
-
|
1046
|
-
|
1047
|
-
:
|
1048
|
-
:
|
1049
|
-
:
|
1123
|
+
# Disabling
|
1124
|
+
:disable_action_cable_instrumentation => {
|
1125
|
+
:default => false,
|
1126
|
+
:public => true,
|
1127
|
+
:type => Boolean,
|
1050
1128
|
:dynamic_name => true,
|
1051
|
-
: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>.'
|
1052
|
-
},
|
1053
|
-
:disable_redis => {
|
1054
|
-
:default => false,
|
1055
|
-
:public => true,
|
1056
|
-
:type => Boolean,
|
1057
1129
|
:allowed_from_server => false,
|
1058
|
-
:description
|
1130
|
+
:description => 'If `true`, disables Action Cable instrumentation.'
|
1059
1131
|
},
|
1060
|
-
:
|
1061
|
-
:default
|
1062
|
-
:public
|
1063
|
-
:type
|
1132
|
+
:disable_activejob => {
|
1133
|
+
:default => false,
|
1134
|
+
:public => true,
|
1135
|
+
:type => Boolean,
|
1136
|
+
:dynamic_name => true,
|
1064
1137
|
:allowed_from_server => false,
|
1065
|
-
:description
|
1066
|
-
},
|
1067
|
-
:'message_tracer.segment_parameters.enabled' => {
|
1068
|
-
:default => true,
|
1069
|
-
:public => true,
|
1070
|
-
:type => Boolean,
|
1071
|
-
:allowed_from_server => true,
|
1072
|
-
: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.'
|
1073
1139
|
},
|
1074
|
-
:
|
1075
|
-
:default =>
|
1140
|
+
:disable_active_storage => {
|
1141
|
+
:default => false,
|
1076
1142
|
:public => true,
|
1077
1143
|
:type => Boolean,
|
1078
|
-
:
|
1079
|
-
:
|
1144
|
+
:dynamic_name => true,
|
1145
|
+
:allowed_from_server => false,
|
1146
|
+
:description => 'If `true`, disables ActiveStorage instrumentation.'
|
1080
1147
|
},
|
1081
|
-
:
|
1082
|
-
:default => value_of(:
|
1148
|
+
:disable_activerecord_instrumentation => {
|
1149
|
+
:default => value_of(:skip_ar_instrumentation),
|
1150
|
+
:documentation_default => false,
|
1083
1151
|
:public => true,
|
1084
|
-
:type =>
|
1085
|
-
:allowed_from_server =>
|
1086
|
-
:description => '
|
1152
|
+
:type => Boolean,
|
1153
|
+
:allowed_from_server => false,
|
1154
|
+
:description => 'If `true`, disables active record instrumentation.'
|
1087
1155
|
},
|
1088
|
-
:
|
1089
|
-
:default =>
|
1156
|
+
:disable_active_record_notifications => {
|
1157
|
+
:default => false,
|
1090
1158
|
:public => true,
|
1091
1159
|
:type => Boolean,
|
1092
|
-
:
|
1093
|
-
:
|
1160
|
+
:dynamic_name => true,
|
1161
|
+
:allowed_from_server => false,
|
1162
|
+
:description => 'If `true`, disables instrumentation for ActiveRecord 4, 5, and 6.'
|
1094
1163
|
},
|
1095
|
-
:
|
1096
|
-
:default =>
|
1164
|
+
:disable_bunny => {
|
1165
|
+
:default => false,
|
1097
1166
|
:public => true,
|
1098
|
-
:type =>
|
1099
|
-
:
|
1100
|
-
:
|
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.')
|
1101
1172
|
},
|
1102
|
-
:
|
1173
|
+
:disable_cpu_sampler => {
|
1103
1174
|
:default => false,
|
1104
1175
|
:public => true,
|
1105
1176
|
:type => Boolean,
|
1106
|
-
:
|
1107
|
-
:
|
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.'
|
1108
1180
|
},
|
1109
|
-
:
|
1110
|
-
:default =>
|
1181
|
+
:disable_curb => {
|
1182
|
+
:default => false,
|
1111
1183
|
:public => true,
|
1112
1184
|
:type => Boolean,
|
1113
|
-
:
|
1114
|
-
:
|
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.')
|
1115
1189
|
},
|
1116
|
-
:
|
1117
|
-
:default =>
|
1190
|
+
:disable_database_instrumentation => {
|
1191
|
+
:default => false,
|
1118
1192
|
:public => true,
|
1119
1193
|
:type => Boolean,
|
1120
|
-
:allowed_from_server =>
|
1121
|
-
:
|
1194
|
+
:allowed_from_server => false,
|
1195
|
+
:deprecated => true,
|
1196
|
+
:description => 'Use [`disable_sequel_instrumentation`](#disable_sequel_instrumentation) instead.'
|
1122
1197
|
},
|
1123
|
-
:
|
1124
|
-
:default =>
|
1198
|
+
:disable_data_mapper => {
|
1199
|
+
:default => false,
|
1125
1200
|
:public => true,
|
1126
1201
|
:type => Boolean,
|
1127
|
-
:allowed_from_server =>
|
1128
|
-
:description => 'If
|
1202
|
+
:allowed_from_server => false,
|
1203
|
+
:description => 'If `true`, disables DataMapper instrumentation.'
|
1129
1204
|
},
|
1130
|
-
:
|
1131
|
-
:default =>
|
1205
|
+
:disable_dalli => {
|
1206
|
+
:default => value_of(:disable_memcache_instrumentation),
|
1207
|
+
:documentation_default => false,
|
1132
1208
|
:public => true,
|
1133
1209
|
:type => Boolean,
|
1134
1210
|
:deprecated => true,
|
1135
1211
|
:allowed_from_server => false,
|
1136
|
-
:description => '
|
1212
|
+
:description => deprecated_description(:'instrumentation.memcache', 'If `true`, disables instrumentation for the dalli gem.')
|
1137
1213
|
},
|
1138
|
-
:
|
1139
|
-
:default =>
|
1214
|
+
:disable_dalli_cas_client => {
|
1215
|
+
:default => value_of(:disable_memcache_instrumentation),
|
1216
|
+
:documentation_default => false,
|
1140
1217
|
:public => true,
|
1141
|
-
:type =>
|
1142
|
-
:
|
1143
|
-
:
|
1218
|
+
:type => Boolean,
|
1219
|
+
:deprecated => true,
|
1220
|
+
:allowed_from_server => false,
|
1221
|
+
:description => deprecated_description(:'instrumentation.memcache', "If `true`, disables instrumentation for the dalli gem's additional CAS client support.")
|
1144
1222
|
},
|
1145
|
-
:
|
1146
|
-
:default =>
|
1223
|
+
:disable_delayed_job_sampler => {
|
1224
|
+
:default => false,
|
1147
1225
|
:public => true,
|
1148
|
-
:type =>
|
1226
|
+
:type => Boolean,
|
1227
|
+
:dynamic_name => true,
|
1149
1228
|
:allowed_from_server => false,
|
1150
|
-
:description => '
|
1229
|
+
:description => 'If `true`, the agent won\'t measure the depth of Delayed Job queues.'
|
1151
1230
|
},
|
1152
|
-
:
|
1153
|
-
:default =>
|
1231
|
+
:disable_dj => {
|
1232
|
+
:default => false,
|
1154
1233
|
:public => true,
|
1234
|
+
:deprecated => true,
|
1155
1235
|
:type => Boolean,
|
1156
|
-
:allowed_from_server =>
|
1157
|
-
:
|
1158
|
-
:description => 'If <code>true</code>, the agent collects <a href="https://docs.newrelic.com/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights">TransactionError events</a>.'
|
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).')
|
1159
1238
|
},
|
1160
|
-
:
|
1161
|
-
:default =>
|
1239
|
+
:disable_excon => {
|
1240
|
+
:default => false,
|
1162
1241
|
:public => true,
|
1163
|
-
:type => Integer,
|
1164
|
-
:allowed_from_server => true,
|
1165
|
-
: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.'
|
1166
|
-
},
|
1167
|
-
:'rum.enabled' => {
|
1168
|
-
:default => true,
|
1169
|
-
:public => false,
|
1170
1242
|
:type => Boolean,
|
1171
|
-
:
|
1172
|
-
:
|
1173
|
-
|
1174
|
-
|
1175
|
-
:default => '',
|
1176
|
-
:public => false,
|
1177
|
-
:type => String,
|
1178
|
-
:allowed_from_server => true,
|
1179
|
-
:description => 'Real user monitoring license key for the browser timing header.'
|
1180
|
-
},
|
1181
|
-
:beacon => {
|
1182
|
-
:default => '',
|
1183
|
-
:public => false,
|
1184
|
-
:type => String,
|
1185
|
-
:allowed_from_server => true,
|
1186
|
-
:description => 'Beacon for real user monitoring.'
|
1187
|
-
},
|
1188
|
-
:error_beacon => {
|
1189
|
-
:default => '',
|
1190
|
-
:public => false,
|
1191
|
-
:type => String,
|
1192
|
-
:allowed_from_server => true,
|
1193
|
-
:description => 'Error beacon for real user monitoring.'
|
1194
|
-
},
|
1195
|
-
:application_id => {
|
1196
|
-
:default => '',
|
1197
|
-
:public => false,
|
1198
|
-
:type => String,
|
1199
|
-
:allowed_from_server => true,
|
1200
|
-
:description => 'Application ID for real user monitoring.'
|
1201
|
-
},
|
1202
|
-
:js_agent_file => {
|
1203
|
-
:default => '',
|
1204
|
-
:public => false,
|
1205
|
-
:type => String,
|
1206
|
-
:allowed_from_server => true,
|
1207
|
-
:description => 'Javascript agent file for real user monitoring.'
|
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.')
|
1208
1247
|
},
|
1209
|
-
:
|
1210
|
-
:default => value_of(:
|
1248
|
+
:disable_memcached => {
|
1249
|
+
:default => value_of(:disable_memcache_instrumentation),
|
1250
|
+
:documentation_default => false,
|
1211
1251
|
:public => true,
|
1212
1252
|
:type => Boolean,
|
1213
|
-
:
|
1214
|
-
:
|
1253
|
+
:deprecated => true,
|
1254
|
+
:allowed_from_server => false,
|
1255
|
+
:description => deprecated_description(:'instrumentation.memcached', 'If `true`, disables instrumentation for the memcached gem.')
|
1215
1256
|
},
|
1216
|
-
:
|
1217
|
-
:default =>
|
1257
|
+
:disable_memcache_client => {
|
1258
|
+
:default => value_of(:disable_memcache_instrumentation),
|
1259
|
+
:documentation_default => false,
|
1218
1260
|
:public => true,
|
1219
1261
|
:type => Boolean,
|
1220
1262
|
:deprecated => true,
|
1221
1263
|
:allowed_from_server => false,
|
1222
|
-
:description => '
|
1223
|
-
},
|
1224
|
-
:'browser_monitoring.loader' => {
|
1225
|
-
:default => DefaultSource.browser_monitoring_loader,
|
1226
|
-
:public => false,
|
1227
|
-
:type => String,
|
1228
|
-
:allowed_from_server => true,
|
1229
|
-
:description => 'Type of JavaScript agent loader to use for browser monitoring instrumentation.'
|
1230
|
-
},
|
1231
|
-
:'browser_monitoring.loader_version' => {
|
1232
|
-
:default => '',
|
1233
|
-
:public => false,
|
1234
|
-
:type => String,
|
1235
|
-
:allowed_from_server => true,
|
1236
|
-
:description => 'Version of JavaScript agent loader (returned from the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>.)'
|
1264
|
+
:description => deprecated_description(:'instrumentation.memcache-client', 'If `true`, disables instrumentation for the memcache-client gem.')
|
1237
1265
|
},
|
1238
|
-
:
|
1266
|
+
:disable_memcache_instrumentation => {
|
1239
1267
|
:default => false,
|
1240
|
-
:public =>
|
1241
|
-
:type => Boolean,
|
1242
|
-
:allowed_from_server => true,
|
1243
|
-
:description => 'Enable or disable debugging version of JavaScript agent loader for browser monitoring instrumentation.'
|
1244
|
-
},
|
1245
|
-
:'browser_monitoring.ssl_for_http' => {
|
1246
|
-
:default => nil,
|
1247
|
-
:allow_nil => true,
|
1248
|
-
:public => false,
|
1268
|
+
:public => true,
|
1249
1269
|
:type => Boolean,
|
1250
|
-
:
|
1251
|
-
:
|
1252
|
-
|
1253
|
-
:js_agent_loader => {
|
1254
|
-
:default => '',
|
1255
|
-
:public => false,
|
1256
|
-
:type => String,
|
1257
|
-
:allowed_from_server => true,
|
1258
|
-
:description => 'JavaScript agent loader content.'
|
1270
|
+
:deprecated => true,
|
1271
|
+
:allowed_from_server => false,
|
1272
|
+
:description => deprecated_description(:'instrumentation.memcache', 'If `true`, disables memcache instrumentation.')
|
1259
1273
|
},
|
1260
|
-
:
|
1274
|
+
:disable_gc_profiler => {
|
1261
1275
|
:default => false,
|
1262
|
-
:public =>
|
1276
|
+
:public => true,
|
1263
1277
|
:type => Boolean,
|
1264
1278
|
:allowed_from_server => false,
|
1265
|
-
:
|
1266
|
-
:description => 'Enable or disable beta JavaScript error reporting.'
|
1267
|
-
},
|
1268
|
-
:trusted_account_ids => {
|
1269
|
-
:default => [],
|
1270
|
-
:public => false,
|
1271
|
-
:type => Array,
|
1272
|
-
:allowed_from_server => true,
|
1273
|
-
: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.'
|
1279
|
+
:description => 'If `true`, disables the use of GC::Profiler to measure time spent in garbage collection'
|
1274
1280
|
},
|
1275
|
-
:
|
1276
|
-
:default =>
|
1281
|
+
:disable_grape => {
|
1282
|
+
:default => false,
|
1277
1283
|
:public => true,
|
1278
1284
|
:type => Boolean,
|
1279
|
-
:allowed_from_server => true,
|
1280
|
-
:description => 'If <code>true</code>, enables <a href="https://docs.newrelic.com/docs/apm/transactions/cross-application-traces/cross-application-tracing">cross-application tracing</a>.'
|
1281
|
-
},
|
1282
|
-
:cross_application_tracing => {
|
1283
|
-
:default => nil,
|
1284
|
-
:allow_nil => true,
|
1285
|
-
:public => false,
|
1286
|
-
:type => Boolean,
|
1287
1285
|
:allowed_from_server => false,
|
1288
1286
|
:deprecated => true,
|
1289
|
-
:description => '
|
1290
|
-
|
1291
|
-
:encoding_key => {
|
1292
|
-
:default => '',
|
1293
|
-
:public => false,
|
1294
|
-
:type => String,
|
1295
|
-
:allowed_from_server => true,
|
1296
|
-
:description => 'Encoding key for cross-application tracing.'
|
1297
|
-
},
|
1298
|
-
:cross_process_id => {
|
1299
|
-
:default => '',
|
1300
|
-
:public => false,
|
1301
|
-
:type => String,
|
1302
|
-
:allowed_from_server => true,
|
1303
|
-
:description => 'Cross process ID for cross-application tracing.'
|
1287
|
+
:description => deprecated_description(:'instrumentation.grape',
|
1288
|
+
'If `true`, the agent won\'t install Grape instrumentation.')
|
1304
1289
|
},
|
1305
|
-
:
|
1306
|
-
:default =>
|
1290
|
+
:disable_httpclient => {
|
1291
|
+
:default => false,
|
1307
1292
|
:public => true,
|
1308
1293
|
:type => Boolean,
|
1309
|
-
:
|
1310
|
-
:
|
1311
|
-
},
|
1312
|
-
:'thread_profiler.max_profile_overhead' => {
|
1313
|
-
:default => 0.05,
|
1314
|
-
:public => false,
|
1315
|
-
:type => Float,
|
1316
|
-
:allowed_from_server => true,
|
1317
|
-
:description => 'Maximum overhead percentage for thread profiling before agent reduces polling frequency'
|
1318
|
-
},
|
1319
|
-
:marshaller => {
|
1320
|
-
:default => 'json',
|
1321
|
-
:public => true,
|
1322
|
-
:type => String,
|
1294
|
+
:dynamic_name => true,
|
1295
|
+
:deprecated => true,
|
1323
1296
|
:allowed_from_server => false,
|
1324
|
-
:description => '
|
1325
|
-
},
|
1326
|
-
:'analytics_events.enabled' => {
|
1327
|
-
:default => true,
|
1328
|
-
:public => true,
|
1329
|
-
:type => Boolean,
|
1330
|
-
:allowed_from_server => true,
|
1331
|
-
:description => 'If <code>true</code>, enables analytics event sampling.'
|
1332
|
-
},
|
1333
|
-
:'analytics_events.max_samples_stored' => {
|
1334
|
-
:default => 1200,
|
1335
|
-
:public => true,
|
1336
|
-
:type => Integer,
|
1337
|
-
:allowed_from_server => true,
|
1338
|
-
:description => 'Defines the maximum number of request events reported from a single harvest.'
|
1297
|
+
:description => deprecated_description(:'instrumentation.httpclient', 'If `true`, disables instrumentation for the httpclient gem.')
|
1339
1298
|
},
|
1340
|
-
:
|
1341
|
-
:default =>
|
1299
|
+
:disable_httprb => {
|
1300
|
+
:default => false,
|
1342
1301
|
:public => true,
|
1343
1302
|
:type => Boolean,
|
1303
|
+
:dynamic_name => true,
|
1344
1304
|
:deprecated => true,
|
1345
1305
|
:allowed_from_server => false,
|
1346
|
-
:description => '
|
1306
|
+
:description => deprecated_description(:'instrumentation.httprb', 'If `true`, the agent won\'t install instrumentation for the http.rb gem.')
|
1347
1307
|
},
|
1348
|
-
:
|
1349
|
-
:default =>
|
1350
|
-
:public =>
|
1308
|
+
:disable_mongo => {
|
1309
|
+
:default => false,
|
1310
|
+
:public => true,
|
1351
1311
|
:type => Boolean,
|
1352
1312
|
:allowed_from_server => false,
|
1353
|
-
:
|
1313
|
+
:dynamic_name => true,
|
1314
|
+
:deprecated => true,
|
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).')
|
1354
1316
|
},
|
1355
|
-
:
|
1356
|
-
:default =>
|
1357
|
-
:public =>
|
1317
|
+
:disable_memory_sampler => {
|
1318
|
+
:default => false,
|
1319
|
+
:public => true,
|
1358
1320
|
:type => Boolean,
|
1321
|
+
:dynamic_name => true,
|
1359
1322
|
:allowed_from_server => false,
|
1360
|
-
:description => '
|
1323
|
+
:description => 'If `true`, the agent won\'t sample the memory usage of the host process.'
|
1361
1324
|
},
|
1362
|
-
:
|
1325
|
+
:disable_middleware_instrumentation => {
|
1363
1326
|
:default => false,
|
1364
1327
|
:public => true,
|
1365
1328
|
:type => Boolean,
|
1366
1329
|
:allowed_from_server => false,
|
1367
|
-
:description => '
|
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).'
|
1368
1331
|
},
|
1369
|
-
:
|
1370
|
-
:default
|
1371
|
-
:public
|
1372
|
-
:type
|
1332
|
+
:disable_net_http => {
|
1333
|
+
:default => false,
|
1334
|
+
:public => true,
|
1335
|
+
:type => Boolean,
|
1373
1336
|
:dynamic_name => true,
|
1374
1337
|
:allowed_from_server => false,
|
1375
|
-
:
|
1338
|
+
:deprecated => true,
|
1339
|
+
:description => deprecated_description(:'instrumentation.net_http',
|
1340
|
+
'If `true`, disables instrumentation for Net::HTTP.')
|
1376
1341
|
},
|
1377
|
-
:
|
1378
|
-
:default
|
1379
|
-
:
|
1380
|
-
:
|
1342
|
+
:disable_puma_rack => {
|
1343
|
+
:default => value_of(:disable_rack),
|
1344
|
+
:documentation_default => false,
|
1345
|
+
:public => true,
|
1346
|
+
:type => Boolean,
|
1381
1347
|
:dynamic_name => true,
|
1382
1348
|
:allowed_from_server => false,
|
1383
|
-
:
|
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.')
|
1384
1351
|
},
|
1385
|
-
:
|
1386
|
-
:default
|
1387
|
-
:
|
1388
|
-
:
|
1352
|
+
:disable_puma_rack_urlmap => {
|
1353
|
+
:default => value_of(:disable_rack_urlmap),
|
1354
|
+
:documentation_default => false,
|
1355
|
+
:public => true,
|
1356
|
+
:type => Boolean,
|
1389
1357
|
:dynamic_name => true,
|
1390
1358
|
:allowed_from_server => false,
|
1391
|
-
:
|
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.')
|
1392
1361
|
},
|
1393
|
-
:
|
1394
|
-
:default
|
1395
|
-
:public
|
1396
|
-
:type
|
1362
|
+
:disable_rack => {
|
1363
|
+
:default => false,
|
1364
|
+
:public => true,
|
1365
|
+
:type => Boolean,
|
1397
1366
|
:dynamic_name => true,
|
1398
1367
|
:allowed_from_server => false,
|
1399
|
-
:
|
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.')
|
1400
1370
|
},
|
1401
|
-
:
|
1402
|
-
:default
|
1403
|
-
:public
|
1404
|
-
:type
|
1371
|
+
:disable_rack_urlmap => {
|
1372
|
+
:default => false,
|
1373
|
+
:public => true,
|
1374
|
+
:type => Boolean,
|
1405
1375
|
:dynamic_name => true,
|
1406
1376
|
:allowed_from_server => false,
|
1407
|
-
:deprecated
|
1408
|
-
:description
|
1409
|
-
'For agent versions 6.3 or higher, ' \
|
1410
|
-
'use <a href="#disable_active_record_notifications"><code>' \
|
1411
|
-
'disable_active_record_notifications' \
|
1412
|
-
'</code></a> instead.'
|
1377
|
+
:deprecated => true,
|
1378
|
+
:description => deprecated_description(:'instrumentation.rack_urlmap', 'If `true`, prevents the agent from hooking into Rack::URLMap to install middleware tracing.')
|
1413
1379
|
},
|
1414
|
-
:
|
1415
|
-
:default
|
1416
|
-
:public
|
1417
|
-
:type
|
1418
|
-
:dynamic_name => true,
|
1380
|
+
:disable_rake => {
|
1381
|
+
:default => false,
|
1382
|
+
:public => true,
|
1383
|
+
:type => Boolean,
|
1419
1384
|
:allowed_from_server => false,
|
1420
|
-
:deprecated
|
1421
|
-
:description
|
1422
|
-
'For agent versions 6.3 or higher, ' \
|
1423
|
-
'use <a href="#disable_active_record_notifications"><code>' \
|
1424
|
-
'disable_active_record_notifications' \
|
1425
|
-
'</code></a> instead.'
|
1385
|
+
:deprecated => true,
|
1386
|
+
:description => deprecated_description(:'instrumentation.rake', 'If `true`, disables Rake instrumentation.')
|
1426
1387
|
},
|
1427
|
-
:
|
1428
|
-
:default
|
1429
|
-
:public
|
1430
|
-
:type
|
1431
|
-
:
|
1388
|
+
:disable_redis => {
|
1389
|
+
:default => false,
|
1390
|
+
:public => true,
|
1391
|
+
:type => Boolean,
|
1392
|
+
:deprecated => true,
|
1432
1393
|
:allowed_from_server => false,
|
1433
|
-
:description
|
1394
|
+
:description => deprecated_description(:'instrumentation.redis', 'If `true`, the agent won\'t install [instrumentation for Redis](/docs/agents/ruby-agent/frameworks/redis-instrumentation).')
|
1434
1395
|
},
|
1435
|
-
:
|
1436
|
-
:default
|
1437
|
-
:public
|
1438
|
-
:type
|
1439
|
-
:
|
1396
|
+
:disable_resque => {
|
1397
|
+
:default => false,
|
1398
|
+
:public => true,
|
1399
|
+
:type => Boolean,
|
1400
|
+
:deprecated => true,
|
1440
1401
|
:allowed_from_server => false,
|
1441
|
-
:description
|
1402
|
+
:description => deprecated_description(:'instrumentation.resque', 'If `true`, disables [Resque instrumentation](/docs/agents/ruby-agent/background-jobs/resque-instrumentation).')
|
1442
1403
|
},
|
1443
|
-
:
|
1444
|
-
:default
|
1445
|
-
:public
|
1446
|
-
:type
|
1447
|
-
:dynamic_name => true,
|
1404
|
+
:disable_samplers => {
|
1405
|
+
:default => false,
|
1406
|
+
:public => true,
|
1407
|
+
:type => Boolean,
|
1448
1408
|
:allowed_from_server => false,
|
1449
|
-
: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).'
|
1450
1410
|
},
|
1451
|
-
:
|
1452
|
-
:default
|
1453
|
-
:public
|
1454
|
-
:type
|
1455
|
-
:dynamic_name => true,
|
1411
|
+
:disable_sequel_instrumentation => {
|
1412
|
+
:default => false,
|
1413
|
+
:public => true,
|
1414
|
+
:type => Boolean,
|
1456
1415
|
:allowed_from_server => false,
|
1457
|
-
:description
|
1416
|
+
:description => 'If `true`, disables [Sequel instrumentation](/docs/agents/ruby-agent/frameworks/sequel-instrumentation).'
|
1458
1417
|
},
|
1459
|
-
:
|
1460
|
-
:default
|
1461
|
-
:public
|
1462
|
-
:type
|
1463
|
-
:dynamic_name => true,
|
1418
|
+
:disable_sidekiq => {
|
1419
|
+
:default => false,
|
1420
|
+
:public => true,
|
1421
|
+
:type => Boolean,
|
1464
1422
|
:allowed_from_server => false,
|
1465
|
-
:description
|
1423
|
+
:description => 'If `true`, disables [Sidekiq instrumentation](/docs/agents/ruby-agent/background-jobs/sidekiq-instrumentation).'
|
1466
1424
|
},
|
1467
|
-
:
|
1468
|
-
:default
|
1469
|
-
:public
|
1470
|
-
:type
|
1471
|
-
:
|
1425
|
+
:disable_sinatra => {
|
1426
|
+
:default => false,
|
1427
|
+
:public => true,
|
1428
|
+
:type => Boolean,
|
1429
|
+
:deprecated => true,
|
1472
1430
|
:allowed_from_server => false,
|
1473
|
-
:description
|
1431
|
+
:description => deprecated_description(:'instrumentation.sinatra', 'If `true` , disables [Sinatra instrumentation](/docs/agents/ruby-agent/frameworks/sinatra-support).')
|
1474
1432
|
},
|
1475
|
-
:
|
1476
|
-
:default
|
1477
|
-
:public
|
1478
|
-
:type
|
1479
|
-
:dynamic_name => true,
|
1433
|
+
:disable_sinatra_auto_middleware => {
|
1434
|
+
:default => false,
|
1435
|
+
:public => true,
|
1436
|
+
:type => Boolean,
|
1480
1437
|
:allowed_from_server => false,
|
1481
|
-
: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
|
1482
1456
|
},
|
1483
|
-
:
|
1484
|
-
:default
|
1485
|
-
:public
|
1486
|
-
:type
|
1457
|
+
:disable_typhoeus => {
|
1458
|
+
:default => false,
|
1459
|
+
:public => true,
|
1460
|
+
:type => Boolean,
|
1487
1461
|
:dynamic_name => true,
|
1462
|
+
:deprecated => true,
|
1488
1463
|
:allowed_from_server => false,
|
1489
|
-
:description
|
1464
|
+
:description => deprecated_description(:'instrumentation.typhoeus', 'If `true`, the agent won\'t install instrumentation for the typhoeus gem.')
|
1490
1465
|
},
|
1491
|
-
:
|
1492
|
-
:default
|
1493
|
-
:public
|
1494
|
-
:type
|
1495
|
-
:dynamic_name => true,
|
1466
|
+
:disable_view_instrumentation => {
|
1467
|
+
:default => false,
|
1468
|
+
:public => true,
|
1469
|
+
:type => Boolean,
|
1496
1470
|
:allowed_from_server => false,
|
1497
|
-
:description
|
1471
|
+
:description => 'If `true`, disables view instrumentation.'
|
1498
1472
|
},
|
1499
|
-
:
|
1500
|
-
:default
|
1501
|
-
:public
|
1502
|
-
:type
|
1473
|
+
:disable_vm_sampler => {
|
1474
|
+
:default => false,
|
1475
|
+
:public => true,
|
1476
|
+
:type => Boolean,
|
1503
1477
|
:dynamic_name => true,
|
1504
1478
|
:allowed_from_server => false,
|
1505
|
-
:description
|
1479
|
+
:description => 'If `true`, the agent won\'t [sample performance measurements from the Ruby VM](/docs/agents/ruby-agent/features/ruby-vm-measurements).'
|
1506
1480
|
},
|
1507
|
-
|
1508
|
-
|
1509
|
-
:
|
1510
|
-
:
|
1511
|
-
:
|
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.'
|
1488
|
+
},
|
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.'
|
1496
|
+
},
|
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.'
|
1503
|
+
},
|
1504
|
+
# Heroku
|
1505
|
+
:'heroku.use_dyno_names' => {
|
1506
|
+
:default => true,
|
1507
|
+
:public => true,
|
1508
|
+
:type => Boolean,
|
1512
1509
|
:allowed_from_server => false,
|
1513
|
-
:description
|
1510
|
+
:description => 'If `true`, the agent uses Heroku dyno names as the hostname.'
|
1514
1511
|
},
|
1515
|
-
:
|
1516
|
-
:default
|
1517
|
-
:public
|
1518
|
-
:type
|
1519
|
-
:dynamic_name => true,
|
1512
|
+
:'heroku.dyno_name_prefixes_to_shorten' => {
|
1513
|
+
:default => %w[scheduler run],
|
1514
|
+
:public => true,
|
1515
|
+
:type => Array,
|
1520
1516
|
:allowed_from_server => false,
|
1521
|
-
:
|
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>).'
|
1522
1519
|
},
|
1523
|
-
|
1524
|
-
|
1525
|
-
:
|
1526
|
-
:
|
1520
|
+
# Infinite tracing
|
1521
|
+
:'infinite_tracing.trace_observer.host' => {
|
1522
|
+
:default => '',
|
1523
|
+
:public => true,
|
1524
|
+
:type => String,
|
1527
1525
|
:allowed_from_server => false,
|
1528
|
-
:
|
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."
|
1529
1531
|
},
|
1530
|
-
:
|
1531
|
-
:default
|
1532
|
-
:public
|
1533
|
-
:type
|
1532
|
+
:'infinite_tracing.trace_observer.port' => {
|
1533
|
+
:default => 443,
|
1534
|
+
:public => true,
|
1535
|
+
:type => Integer,
|
1534
1536
|
:allowed_from_server => false,
|
1535
|
-
:
|
1537
|
+
:external => :infinite_tracing,
|
1538
|
+
:description => "Configures the TCP/IP port for the Trace Observer Host"
|
1536
1539
|
},
|
1537
|
-
|
1538
|
-
|
1539
|
-
:
|
1540
|
-
:
|
1540
|
+
# Instrumentation
|
1541
|
+
:'instrumentation.active_support_logger' => {
|
1542
|
+
:default => instrumentation_value_from_boolean(:'application_logging.enabled'),
|
1543
|
+
:documentation_default => 'auto',
|
1544
|
+
:dynamic_name => true,
|
1545
|
+
:public => true,
|
1546
|
+
:type => String,
|
1541
1547
|
:allowed_from_server => false,
|
1542
|
-
:description
|
1548
|
+
:description => 'Controls auto-instrumentation of ActiveSupport::Logger at start up. May be one of [auto|prepend|chain|disabled].'
|
1543
1549
|
},
|
1544
|
-
:'
|
1545
|
-
:default
|
1546
|
-
:
|
1547
|
-
:
|
1550
|
+
:'instrumentation.bunny' => {
|
1551
|
+
:default => instrumentation_value_of(:disable_bunny),
|
1552
|
+
:documentation_default => 'auto',
|
1553
|
+
:public => true,
|
1554
|
+
:type => String,
|
1555
|
+
:dynamic_name => true,
|
1548
1556
|
:allowed_from_server => false,
|
1549
|
-
:
|
1550
|
-
: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>).'
|
1557
|
+
:description => 'Controls auto-instrumentation of bunny at start up. May be one of [auto|prepend|chain|disabled].'
|
1551
1558
|
},
|
1552
|
-
:'
|
1553
|
-
:default
|
1554
|
-
:
|
1555
|
-
:
|
1559
|
+
:'instrumentation.curb' => {
|
1560
|
+
:default => instrumentation_value_of(:disable_curb),
|
1561
|
+
:documentation_default => 'auto',
|
1562
|
+
:public => true,
|
1563
|
+
:type => String,
|
1564
|
+
:dynamic_name => true,
|
1556
1565
|
:allowed_from_server => false,
|
1557
|
-
:description
|
1566
|
+
:description => 'Controls auto-instrumentation of Curb at start up. May be one of [auto|prepend|chain|disabled].'
|
1558
1567
|
},
|
1559
|
-
:
|
1560
|
-
:default
|
1561
|
-
:
|
1562
|
-
:
|
1568
|
+
:'instrumentation.delayed_job' => {
|
1569
|
+
:default => instrumentation_value_of(:disable_dj),
|
1570
|
+
:documentation_default => 'auto',
|
1571
|
+
:public => true,
|
1572
|
+
:type => String,
|
1573
|
+
:dynamic_name => true,
|
1563
1574
|
:allowed_from_server => false,
|
1564
|
-
:description
|
1575
|
+
:description => 'Controls auto-instrumentation of Delayed Job at start up. May be one of [auto|prepend|chain|disabled].'
|
1565
1576
|
},
|
1566
|
-
:
|
1567
|
-
:default
|
1568
|
-
:public
|
1569
|
-
:type
|
1570
|
-
:
|
1571
|
-
:
|
1577
|
+
:'instrumentation.elasticsearch' => {
|
1578
|
+
:default => 'auto',
|
1579
|
+
:public => true,
|
1580
|
+
:type => String,
|
1581
|
+
:dynamic_name => true,
|
1582
|
+
:allowed_from_server => false,
|
1583
|
+
:description => 'Controls auto-instrumentation of the elasticsearch library at start up. May be one of [auto|prepend|chain|disabled].'
|
1572
1584
|
},
|
1573
|
-
:
|
1574
|
-
:default
|
1575
|
-
:
|
1576
|
-
:
|
1577
|
-
:
|
1578
|
-
:
|
1585
|
+
:'instrumentation.excon' => {
|
1586
|
+
:default => instrumentation_value_of(:disable_excon),
|
1587
|
+
:documentation_default => 'enabled',
|
1588
|
+
:public => :true,
|
1589
|
+
:type => String,
|
1590
|
+
:dynamic_name => true,
|
1591
|
+
:allowed_from_server => false,
|
1592
|
+
:description => "Controls auto-instrumentation of Excon at start up. May be one of [enabled|disabled]."
|
1579
1593
|
},
|
1580
|
-
:
|
1581
|
-
:default
|
1582
|
-
:
|
1583
|
-
:public
|
1584
|
-
:type
|
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,
|
1585
1600
|
:allowed_from_server => false,
|
1586
|
-
:description
|
1601
|
+
:description => "Controls auto-instrumentation of Grape at start up. May be one of [auto|prepend|chain|disabled]."
|
1587
1602
|
},
|
1588
|
-
:'
|
1589
|
-
:default
|
1590
|
-
:
|
1591
|
-
:
|
1592
|
-
:
|
1593
|
-
:
|
1594
|
-
:
|
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,
|
1609
|
+
:allowed_from_server => false,
|
1610
|
+
:description => 'Controls auto-instrumentation of gRPC clients at start up. May be one of [auto|prepend|chain|disabled].'
|
1595
1611
|
},
|
1596
|
-
:'
|
1597
|
-
:default
|
1598
|
-
:public
|
1599
|
-
:type
|
1600
|
-
:allowed_from_server =>
|
1601
|
-
:
|
1612
|
+
:'instrumentation.grpc.host_denylist' => {
|
1613
|
+
:default => [],
|
1614
|
+
:public => true,
|
1615
|
+
:type => Array,
|
1616
|
+
:allowed_from_server => false,
|
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.*")
|
1602
1619
|
},
|
1603
|
-
:'
|
1604
|
-
:default
|
1605
|
-
:
|
1606
|
-
:
|
1607
|
-
:
|
1608
|
-
:
|
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,
|
1626
|
+
:allowed_from_server => false,
|
1627
|
+
:description => 'Controls auto-instrumentation of gRPC servers at start up. May be one of [auto|prepend|chain|disabled].'
|
1609
1628
|
},
|
1610
|
-
:'
|
1611
|
-
:default
|
1612
|
-
:
|
1613
|
-
:
|
1614
|
-
:
|
1615
|
-
:
|
1629
|
+
:'instrumentation.httpclient' => {
|
1630
|
+
:default => instrumentation_value_of(:disable_httpclient),
|
1631
|
+
:documentation_default => 'auto',
|
1632
|
+
:public => true,
|
1633
|
+
:type => String,
|
1634
|
+
:dynamic_name => true,
|
1635
|
+
:allowed_from_server => false,
|
1636
|
+
:description => "Controls auto-instrumentation of HTTPClient at start up. May be one of [auto|prepend|chain|disabled]."
|
1616
1637
|
},
|
1617
|
-
:'
|
1618
|
-
:default
|
1619
|
-
:
|
1620
|
-
:
|
1621
|
-
:
|
1622
|
-
:
|
1623
|
-
:
|
1638
|
+
:'instrumentation.httprb' => {
|
1639
|
+
:default => instrumentation_value_of(:disable_httprb),
|
1640
|
+
:documentation_default => 'auto',
|
1641
|
+
:public => true,
|
1642
|
+
:type => String,
|
1643
|
+
:dynamic_name => true,
|
1644
|
+
:allowed_from_server => false,
|
1645
|
+
:description => 'Controls auto-instrumentation of http.rb gem at start up. May be one of [auto|prepend|chain|disabled].'
|
1624
1646
|
},
|
1625
|
-
:
|
1626
|
-
:default
|
1627
|
-
:
|
1628
|
-
:
|
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,
|
1629
1653
|
:allowed_from_server => false,
|
1630
|
-
:description
|
1654
|
+
:description => 'Controls auto-instrumentation of Ruby standard library Logger at start up. May be one of [auto|prepend|chain|disabled].'
|
1631
1655
|
},
|
1632
|
-
:
|
1633
|
-
:default
|
1634
|
-
:
|
1635
|
-
:
|
1656
|
+
:'instrumentation.memcache' => {
|
1657
|
+
:default => instrumentation_value_of(:disable_dalli),
|
1658
|
+
:documentation_default => 'auto',
|
1659
|
+
:public => true,
|
1660
|
+
:type => String,
|
1661
|
+
:dynamic_name => true,
|
1636
1662
|
:allowed_from_server => false,
|
1637
|
-
:description
|
1663
|
+
:description => 'Controls auto-instrumentation of dalli gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
|
1638
1664
|
},
|
1639
|
-
:'
|
1640
|
-
:default
|
1641
|
-
:
|
1642
|
-
:
|
1665
|
+
:'instrumentation.memcached' => {
|
1666
|
+
:default => instrumentation_value_of(:disable_memcached),
|
1667
|
+
:documentation_default => 'auto',
|
1668
|
+
:public => true,
|
1669
|
+
:type => String,
|
1670
|
+
:dynamic_name => true,
|
1643
1671
|
:allowed_from_server => false,
|
1644
|
-
:description => '
|
1672
|
+
:description => 'Controls auto-instrumentation of memcached gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
|
1645
1673
|
},
|
1646
|
-
:'
|
1647
|
-
:default
|
1648
|
-
:
|
1649
|
-
:
|
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,
|
1650
1680
|
:allowed_from_server => false,
|
1651
|
-
:description => '
|
1681
|
+
:description => 'Controls auto-instrumentation of memcache-client gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
|
1652
1682
|
},
|
1653
|
-
:'
|
1654
|
-
:default
|
1655
|
-
:
|
1656
|
-
:
|
1683
|
+
:'instrumentation.mongo' => {
|
1684
|
+
:default => instrumentation_value_of(:disable_mongo),
|
1685
|
+
:documentation_default => 'enabled',
|
1686
|
+
:public => :true,
|
1687
|
+
:type => String,
|
1688
|
+
:dynamic_name => true,
|
1657
1689
|
:allowed_from_server => false,
|
1658
|
-
:description =>
|
1690
|
+
:description => "Controls auto-instrumentation of Mongo at start up. May be one of [enabled|disabled]."
|
1659
1691
|
},
|
1660
|
-
:'
|
1661
|
-
:default
|
1662
|
-
:
|
1663
|
-
:
|
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,
|
1664
1698
|
:allowed_from_server => false,
|
1665
|
-
:description =>
|
1699
|
+
:description => "Controls auto-instrumentation of Net::HTTP at start up. May be one of [auto|prepend|chain|disabled]."
|
1666
1700
|
},
|
1667
|
-
:'
|
1668
|
-
:default
|
1669
|
-
:
|
1670
|
-
:
|
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,
|
1671
1707
|
:allowed_from_server => false,
|
1672
|
-
: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]."
|
1673
1711
|
},
|
1674
|
-
:'
|
1675
|
-
:default
|
1676
|
-
:
|
1677
|
-
:
|
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,
|
1678
1718
|
:allowed_from_server => false,
|
1679
|
-
:description => '
|
1719
|
+
:description => 'Controls auto-instrumentation of Puma::Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
|
1680
1720
|
},
|
1681
|
-
:'
|
1682
|
-
:default
|
1683
|
-
:
|
1684
|
-
:
|
1721
|
+
:'instrumentation.rack' => {
|
1722
|
+
:default => instrumentation_value_of(:disable_rack),
|
1723
|
+
:documentation_default => 'auto',
|
1724
|
+
:public => true,
|
1725
|
+
:type => String,
|
1726
|
+
:dynamic_name => true,
|
1685
1727
|
:allowed_from_server => false,
|
1686
|
-
:description =>
|
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]."
|
1687
1731
|
},
|
1688
|
-
:'
|
1689
|
-
:default
|
1690
|
-
:
|
1691
|
-
:
|
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,
|
1692
1738
|
:allowed_from_server => false,
|
1693
|
-
:
|
1694
|
-
:description => 'Prefix of attributes to exclude from all destinations. 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].'
|
1695
1740
|
},
|
1696
|
-
:'
|
1697
|
-
:default
|
1698
|
-
:
|
1699
|
-
:
|
1741
|
+
:'instrumentation.rake' => {
|
1742
|
+
:default => instrumentation_value_of(:disable_rake),
|
1743
|
+
:documentation_default => 'auto',
|
1744
|
+
:public => :true,
|
1745
|
+
:type => String,
|
1746
|
+
:dynamic_name => true,
|
1700
1747
|
:allowed_from_server => false,
|
1701
|
-
:
|
1702
|
-
:description => 'Prefix of attributes to exclude from transaction traces. 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]."
|
1703
1749
|
},
|
1704
|
-
:'
|
1705
|
-
:default
|
1706
|
-
:
|
1707
|
-
:
|
1750
|
+
:'instrumentation.redis' => {
|
1751
|
+
:default => instrumentation_value_of(:disable_redis),
|
1752
|
+
:documentation_default => 'auto',
|
1753
|
+
:public => true,
|
1754
|
+
:type => String,
|
1755
|
+
:dynamic_name => true,
|
1708
1756
|
:allowed_from_server => false,
|
1709
|
-
:
|
1710
|
-
:description => 'Prefix of attributes to exclude from transaction events. 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]."
|
1711
1758
|
},
|
1712
|
-
:'
|
1713
|
-
:default
|
1714
|
-
:
|
1715
|
-
:
|
1759
|
+
:'instrumentation.resque' => {
|
1760
|
+
:default => instrumentation_value_of(:disable_resque),
|
1761
|
+
:documentation_default => 'auto',
|
1762
|
+
:public => true,
|
1763
|
+
:type => String,
|
1764
|
+
:dynamic_name => true,
|
1716
1765
|
:allowed_from_server => false,
|
1717
|
-
:
|
1718
|
-
:description => 'Prefix of attributes to exclude from error collection. 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]."
|
1719
1767
|
},
|
1720
|
-
:'
|
1721
|
-
:default
|
1722
|
-
:
|
1723
|
-
:
|
1768
|
+
:'instrumentation.sinatra' => {
|
1769
|
+
:default => instrumentation_value_of(:disable_sinatra),
|
1770
|
+
:documentation_default => 'auto',
|
1771
|
+
:public => :true,
|
1772
|
+
:type => String,
|
1773
|
+
:dynamic_name => true,
|
1724
1774
|
:allowed_from_server => false,
|
1725
|
-
:
|
1726
|
-
:description => 'Prefix of attributes to exclude from browser monitoring. 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]."
|
1727
1776
|
},
|
1728
|
-
:'
|
1729
|
-
:default
|
1730
|
-
:public
|
1731
|
-
:type
|
1777
|
+
:'instrumentation.thread' => {
|
1778
|
+
:default => 'auto',
|
1779
|
+
:public => true,
|
1780
|
+
:type => String,
|
1781
|
+
:dynamic_name => true,
|
1732
1782
|
:allowed_from_server => false,
|
1733
|
-
:
|
1734
|
-
:description => 'Prefix of attributes to exclude from span events. 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]."
|
1735
1784
|
},
|
1736
|
-
:'
|
1737
|
-
:default
|
1738
|
-
:public
|
1739
|
-
:type
|
1785
|
+
:'instrumentation.thread.tracing' => {
|
1786
|
+
:default => false,
|
1787
|
+
:public => true,
|
1788
|
+
:type => Boolean,
|
1740
1789
|
:allowed_from_server => false,
|
1741
|
-
:
|
1742
|
-
:description => 'Prefix of attributes to exclude from transaction segments. 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."
|
1743
1791
|
},
|
1744
|
-
:'
|
1745
|
-
:default
|
1746
|
-
:public
|
1747
|
-
:type
|
1792
|
+
:'instrumentation.tilt' => {
|
1793
|
+
:default => "auto",
|
1794
|
+
:public => true,
|
1795
|
+
:type => String,
|
1796
|
+
:dynamic_name => true,
|
1748
1797
|
:allowed_from_server => false,
|
1749
|
-
:
|
1750
|
-
:description => 'Prefix of attributes to include in all destinations. 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].'
|
1751
1799
|
},
|
1752
|
-
:'
|
1753
|
-
:default
|
1754
|
-
:
|
1755
|
-
:
|
1800
|
+
:'instrumentation.typhoeus' => {
|
1801
|
+
:default => instrumentation_value_of(:disable_typhoeus),
|
1802
|
+
:documentation_default => 'auto',
|
1803
|
+
:public => true,
|
1804
|
+
:type => String,
|
1805
|
+
:dynamic_name => true,
|
1756
1806
|
:allowed_from_server => false,
|
1757
|
-
:
|
1758
|
-
:description => 'Prefix of attributes to include in transaction traces. 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]."
|
1759
1808
|
},
|
1760
|
-
|
1761
|
-
|
1762
|
-
:
|
1763
|
-
:
|
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.'
|
1816
|
+
},
|
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.'
|
1824
|
+
},
|
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.'
|
1831
|
+
},
|
1832
|
+
# Process host
|
1833
|
+
:'process_host.display_name' => {
|
1834
|
+
:default => proc { NewRelic::Agent::Hostname.get },
|
1835
|
+
:public => true,
|
1836
|
+
:type => String,
|
1837
|
+
:allowed_from_server => false,
|
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).'
|
1839
|
+
},
|
1840
|
+
# Rake
|
1841
|
+
:'rake.tasks' => {
|
1842
|
+
:default => [],
|
1843
|
+
:public => true,
|
1844
|
+
:type => Array,
|
1845
|
+
:allowed_from_server => false,
|
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].'
|
1852
|
+
},
|
1853
|
+
:'rake.connect_timeout' => {
|
1854
|
+
:default => 10,
|
1855
|
+
:public => true,
|
1856
|
+
:type => Integer,
|
1764
1857
|
:allowed_from_server => false,
|
1765
|
-
:
|
1766
|
-
|
1858
|
+
:description => 'Timeout for waiting on connect to complete before a rake task'
|
1859
|
+
},
|
1860
|
+
# Resque
|
1861
|
+
:'resque.capture_params' => {
|
1862
|
+
:default => false,
|
1863
|
+
:public => true,
|
1864
|
+
:type => Boolean,
|
1865
|
+
:allowed_from_server => false,
|
1866
|
+
:dynamic_name => true,
|
1867
|
+
:deprecated => true,
|
1868
|
+
:description => 'If `true`, enables the capture of job arguments for transaction traces and traced errors in Resque.'
|
1869
|
+
},
|
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.'
|
1878
|
+
},
|
1879
|
+
# Sidekiq
|
1880
|
+
:'sidekiq.capture_params' => {
|
1881
|
+
:default => false,
|
1882
|
+
:public => true,
|
1883
|
+
:type => Boolean,
|
1884
|
+
:allowed_from_server => false,
|
1885
|
+
:dynamic_name => true,
|
1886
|
+
:deprecated => true,
|
1887
|
+
:description => 'If `true`, enables the capture of job arguments for transaction traces and traced errors in Sidekiq.'
|
1888
|
+
},
|
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.'
|
2009
|
+
},
|
2010
|
+
:'utilization.detect_kubernetes' => {
|
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.'
|
1767
2249
|
},
|
1768
|
-
:'
|
1769
|
-
:default
|
1770
|
-
:public
|
1771
|
-
:type
|
1772
|
-
:
|
1773
|
-
:
|
1774
|
-
:description => '
|
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.'
|
1775
2257
|
},
|
1776
|
-
:'
|
1777
|
-
:default
|
1778
|
-
:public
|
1779
|
-
:type
|
1780
|
-
:
|
1781
|
-
:
|
1782
|
-
:description => '
|
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.'
|
1783
2265
|
},
|
1784
|
-
:'
|
1785
|
-
:default
|
1786
|
-
:public
|
1787
|
-
:type
|
1788
|
-
:
|
1789
|
-
:
|
1790
|
-
:description => '
|
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.'
|
1791
2273
|
},
|
1792
|
-
:
|
1793
|
-
:default
|
1794
|
-
:public
|
1795
|
-
:type
|
2274
|
+
:force_reconnect => {
|
2275
|
+
:default => false,
|
2276
|
+
:public => false,
|
2277
|
+
:type => Boolean,
|
1796
2278
|
:allowed_from_server => false,
|
1797
|
-
:
|
1798
|
-
:description => 'Prefix of attributes to include on transaction segments. Allows <code>*</code> as wildcard at end.'
|
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.'
|
1799
2280
|
},
|
1800
|
-
:
|
1801
|
-
:default
|
1802
|
-
:public
|
1803
|
-
:type
|
2281
|
+
:framework => {
|
2282
|
+
:default => DefaultSource.framework,
|
2283
|
+
:public => false,
|
2284
|
+
:type => Symbol,
|
1804
2285
|
:allowed_from_server => false,
|
1805
|
-
:description => '
|
2286
|
+
:description => 'Autodetected application framework used to enable framework-specific functionality.'
|
1806
2287
|
},
|
1807
|
-
:
|
1808
|
-
:default
|
1809
|
-
:public
|
1810
|
-
:type
|
2288
|
+
:host => {
|
2289
|
+
:default => DefaultSource.host,
|
2290
|
+
:public => false,
|
2291
|
+
:type => String,
|
1811
2292
|
:allowed_from_server => false,
|
1812
|
-
:
|
1813
|
-
:description => 'If <code>true</code>, the agent automatically detects that it is running in an AWS environment.'
|
2293
|
+
:description => "URI for the New Relic data collection service."
|
1814
2294
|
},
|
1815
|
-
:'
|
1816
|
-
:default
|
1817
|
-
:public
|
1818
|
-
:type
|
2295
|
+
:'infinite_tracing.batching' => {
|
2296
|
+
:default => false,
|
2297
|
+
:public => false,
|
2298
|
+
:type => Boolean,
|
1819
2299
|
:allowed_from_server => false,
|
1820
|
-
:
|
1821
|
-
:description
|
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"
|
1822
2303
|
},
|
1823
|
-
:'
|
1824
|
-
:default
|
1825
|
-
:public
|
1826
|
-
:type
|
2304
|
+
:'infinite_tracing.compression_level' => {
|
2305
|
+
:default => :none,
|
2306
|
+
:public => false,
|
2307
|
+
:type => Symbol,
|
1827
2308
|
:allowed_from_server => false,
|
1828
|
-
:
|
1829
|
-
:description =>
|
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)"
|
1830
2312
|
},
|
1831
|
-
:
|
1832
|
-
:default
|
1833
|
-
:public
|
1834
|
-
:type
|
1835
|
-
:allowed_from_server =>
|
1836
|
-
:
|
1837
|
-
:description => 'If <code>true</code>, the agent automatically detects that it is running in a Pivotal Cloud Foundry environment.'
|
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.'
|
1838
2319
|
},
|
1839
|
-
:
|
1840
|
-
:default
|
1841
|
-
:public
|
1842
|
-
:type
|
1843
|
-
:allowed_from_server =>
|
1844
|
-
:description => '
|
2320
|
+
:js_agent_loader => {
|
2321
|
+
:default => '',
|
2322
|
+
:public => false,
|
2323
|
+
:type => String,
|
2324
|
+
:allowed_from_server => true,
|
2325
|
+
:description => 'JavaScript agent loader content.'
|
1845
2326
|
},
|
1846
|
-
:
|
1847
|
-
:default
|
1848
|
-
:public
|
1849
|
-
:type
|
2327
|
+
:js_errors_beta => {
|
2328
|
+
:default => false,
|
2329
|
+
:public => false,
|
2330
|
+
:type => Boolean,
|
1850
2331
|
:allowed_from_server => false,
|
1851
|
-
:
|
2332
|
+
:deprecated => true,
|
2333
|
+
:description => 'Enable or disable beta JavaScript error reporting.'
|
1852
2334
|
},
|
1853
|
-
:
|
1854
|
-
:default
|
1855
|
-
:
|
1856
|
-
:
|
1857
|
-
:
|
1858
|
-
:
|
1859
|
-
:description => 'The configured server name by a customer.'
|
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.'
|
1860
2341
|
},
|
1861
|
-
:
|
1862
|
-
:default
|
1863
|
-
:
|
1864
|
-
:
|
1865
|
-
:
|
2342
|
+
:keep_retrying => {
|
2343
|
+
:default => true,
|
2344
|
+
:public => false,
|
2345
|
+
:type => Boolean,
|
2346
|
+
:deprecated => true,
|
1866
2347
|
:allowed_from_server => false,
|
1867
|
-
:description => '
|
2348
|
+
:description => 'Enable or disable retrying failed connections to the New Relic data collection service.'
|
1868
2349
|
},
|
1869
|
-
:
|
1870
|
-
:default
|
1871
|
-
:
|
1872
|
-
:
|
1873
|
-
:
|
1874
|
-
:
|
1875
|
-
: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).'
|
2350
|
+
:max_payload_size_in_bytes => {
|
2351
|
+
:default => 1000000,
|
2352
|
+
:public => false,
|
2353
|
+
:type => Integer,
|
2354
|
+
:allowed_from_server => true,
|
2355
|
+
:description => 'Maximum number of bytes to send to the New Relic data collection service.'
|
1876
2356
|
},
|
1877
|
-
:
|
1878
|
-
:default
|
1879
|
-
:public
|
1880
|
-
:type
|
2357
|
+
:normalize_json_string_encodings => {
|
2358
|
+
:default => true,
|
2359
|
+
:public => false,
|
2360
|
+
:type => Boolean,
|
1881
2361
|
:allowed_from_server => false,
|
1882
|
-
:description => '
|
2362
|
+
:description => 'Controls whether to normalize string encodings prior to serializing data for the collector to JSON.'
|
1883
2363
|
},
|
1884
|
-
:
|
1885
|
-
:default
|
1886
|
-
:public
|
1887
|
-
:type
|
2364
|
+
:port => {
|
2365
|
+
:default => 443,
|
2366
|
+
:public => false,
|
2367
|
+
:type => Integer,
|
1888
2368
|
:allowed_from_server => false,
|
1889
|
-
:description => '
|
2369
|
+
:description => 'Port for the New Relic data collection service.'
|
1890
2370
|
},
|
1891
|
-
:
|
1892
|
-
:default
|
1893
|
-
:public
|
1894
|
-
:type
|
2371
|
+
:prepend_net_instrumentation => {
|
2372
|
+
:default => true,
|
2373
|
+
:public => false,
|
2374
|
+
:type => Boolean,
|
1895
2375
|
:allowed_from_server => false,
|
1896
|
-
:
|
2376
|
+
:deprecated => true,
|
2377
|
+
:description => deprecated_description(:'instrumentation.net_http',
|
2378
|
+
'If `true`, uses `Module#prepend` rather than alias_method for Net::HTTP instrumentation.')
|
1897
2379
|
},
|
1898
|
-
:
|
2380
|
+
:primary_application_id => {
|
1899
2381
|
:default => nil,
|
1900
2382
|
:allow_nil => true,
|
1901
2383
|
:public => false,
|
1902
2384
|
:type => String,
|
1903
2385
|
:allowed_from_server => true,
|
1904
|
-
:description => 'The
|
2386
|
+
:description => 'The primary id associated with your application.'
|
1905
2387
|
},
|
1906
|
-
:
|
1907
|
-
:default =>
|
1908
|
-
:allow_nil => true,
|
2388
|
+
:put_for_data_send => {
|
2389
|
+
:default => false,
|
1909
2390
|
:public => false,
|
1910
|
-
:type =>
|
1911
|
-
:allowed_from_server =>
|
1912
|
-
:description => '
|
2391
|
+
:type => Boolean,
|
2392
|
+
:allowed_from_server => false,
|
2393
|
+
:description => 'Use HTTP PUT requests instead of POST.'
|
1913
2394
|
},
|
1914
|
-
:
|
1915
|
-
:default
|
1916
|
-
:public
|
1917
|
-
:type
|
2395
|
+
:report_instance_busy => {
|
2396
|
+
:default => true,
|
2397
|
+
:public => false,
|
2398
|
+
:type => Boolean,
|
1918
2399
|
:allowed_from_server => false,
|
1919
|
-
:description => '
|
2400
|
+
:description => 'Enable or disable transmission of metrics recording the percentage of time application instances spend servicing requests (duty cycle metrics).'
|
1920
2401
|
},
|
1921
|
-
:
|
1922
|
-
:default =>
|
1923
|
-
:allow_nil => true,
|
2402
|
+
:restart_thread_in_children => {
|
2403
|
+
:default => true,
|
1924
2404
|
:public => false,
|
1925
|
-
: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,
|
1926
2420
|
:allowed_from_server => true,
|
1927
|
-
:description => '
|
2421
|
+
:description => 'Enable or disable page load timing (sometimes referred to as real user monitoring or RUM).'
|
1928
2422
|
},
|
1929
2423
|
:sampling_target => {
|
1930
2424
|
:default => 10,
|
@@ -1940,53 +2434,93 @@ module NewRelic
|
|
1940
2434
|
:allowed_from_server => true,
|
1941
2435
|
:description => 'The period during which a target number of transactions should be marked as sampled.'
|
1942
2436
|
},
|
1943
|
-
:
|
2437
|
+
:send_environment_info => {
|
1944
2438
|
:default => true,
|
1945
|
-
:public =>
|
2439
|
+
:public => false,
|
1946
2440
|
:type => Boolean,
|
1947
|
-
:allowed_from_server =>
|
1948
|
-
:description => '
|
2441
|
+
:allowed_from_server => false,
|
2442
|
+
:description => 'Enable or disable transmission of application environment information to the New Relic data collection service.'
|
1949
2443
|
},
|
1950
|
-
:
|
1951
|
-
:default =>
|
1952
|
-
:public =>
|
1953
|
-
:type =>
|
2444
|
+
:simple_compression => {
|
2445
|
+
:default => false,
|
2446
|
+
:public => false,
|
2447
|
+
:type => Boolean,
|
1954
2448
|
:allowed_from_server => false,
|
1955
|
-
:
|
1956
|
-
:description => "Sets the maximum number of span events to buffer when streaming to the trace observer."
|
2449
|
+
:description => 'When enabled the agent will compress payloads destined for the collector, but will not pre-compress parts of the payload.'
|
1957
2450
|
},
|
1958
|
-
:
|
1959
|
-
:default =>
|
1960
|
-
:public =>
|
2451
|
+
:skip_ar_instrumentation => {
|
2452
|
+
:default => false,
|
2453
|
+
:public => false,
|
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,
|
1961
2461
|
:type => Integer,
|
1962
2462
|
:allowed_from_server => true,
|
1963
|
-
:description => '
|
2463
|
+
:description => 'Maximum number of synthetics transaction traces to hold for a given harvest'
|
1964
2464
|
},
|
1965
|
-
:'
|
2465
|
+
:'synthetics.events_limit' => {
|
2466
|
+
:default => 200,
|
2467
|
+
:public => false,
|
2468
|
+
:type => Integer,
|
2469
|
+
:allowed_from_server => true,
|
2470
|
+
:description => 'Maximum number of synthetics transaction events to hold for a given harvest'
|
2471
|
+
},
|
2472
|
+
:test_mode => {
|
1966
2473
|
:default => false,
|
1967
|
-
:public =>
|
2474
|
+
:public => false,
|
1968
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,
|
1969
2483
|
:allowed_from_server => true,
|
1970
|
-
:description =>
|
2484
|
+
:description => 'Maximum overhead percentage for thread profiling before agent reduces polling frequency'
|
1971
2485
|
},
|
1972
|
-
:
|
1973
|
-
:default =>
|
1974
|
-
:public =>
|
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,
|
1975
2505
|
:type => String,
|
1976
2506
|
:allowed_from_server => false,
|
1977
|
-
:
|
1978
|
-
:description => "Configures the hostname for the Trace Observer Host. " \
|
1979
|
-
"When configured, enables tail-based sampling by sending all recorded spans " \
|
1980
|
-
"to a Trace Observer for further sampling decisions, irrespective of any usual " \
|
1981
|
-
"agent sampling decision."
|
2507
|
+
:description => 'The configured server name by a customer.'
|
1982
2508
|
},
|
1983
|
-
:'
|
1984
|
-
:default =>
|
1985
|
-
:
|
2509
|
+
:'utilization.logical_processors' => {
|
2510
|
+
:default => nil,
|
2511
|
+
:allow_nil => true,
|
2512
|
+
:public => false,
|
1986
2513
|
:type => Integer,
|
1987
2514
|
:allowed_from_server => false,
|
1988
|
-
:
|
1989
|
-
|
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).'
|
1990
2524
|
}
|
1991
2525
|
}.freeze
|
1992
2526
|
end
|