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