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