newrelic_rpm 3.12.0.288 → 9.10.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.build_ignore +26 -0
- data/CHANGELOG.md +5681 -0
- data/CONTRIBUTING.md +194 -0
- data/Gemfile +5 -2
- data/LICENSE +201 -150
- data/README.md +87 -143
- data/Rakefile +39 -55
- data/THIRD_PARTY_NOTICES.md +28 -0
- data/Thorfile +5 -0
- data/bin/newrelic +4 -9
- data/bin/newrelic_rpm +15 -0
- data/bin/nrdebug +86 -63
- data/init.rb +7 -9
- data/install.rb +3 -3
- data/lib/boot/strap.rb +101 -0
- data/lib/new_relic/agent/adaptive_sampler.rb +108 -0
- data/lib/new_relic/agent/agent.rb +158 -1000
- data/lib/new_relic/agent/agent_helpers/connect.rb +224 -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 +203 -0
- data/lib/new_relic/agent/agent_helpers/transmit.rb +76 -0
- data/lib/new_relic/agent/agent_logger.rb +39 -54
- data/lib/new_relic/agent/attribute_filter.rb +111 -35
- data/lib/new_relic/agent/attribute_pre_filtering.rb +109 -0
- data/lib/new_relic/agent/attribute_processing.rb +12 -12
- data/lib/new_relic/agent/attributes.rb +153 -0
- data/lib/new_relic/agent/audit_logger.rb +23 -7
- data/lib/new_relic/agent/autostart.rb +36 -47
- data/lib/new_relic/agent/aws.rb +62 -0
- data/lib/new_relic/agent/chained_call.rb +2 -2
- data/lib/new_relic/agent/commands/agent_command.rb +5 -5
- data/lib/new_relic/agent/commands/agent_command_router.rb +18 -35
- data/lib/new_relic/agent/commands/thread_profiler_session.rb +20 -19
- data/lib/new_relic/agent/configuration/default_source.rb +1903 -823
- data/lib/new_relic/agent/configuration/dotted_hash.rb +7 -8
- data/lib/new_relic/agent/configuration/environment_source.rb +26 -14
- data/lib/new_relic/agent/configuration/event_harvest_config.rb +68 -0
- data/lib/new_relic/agent/configuration/high_security_source.rb +15 -15
- data/lib/new_relic/agent/configuration/manager.rb +143 -114
- data/lib/new_relic/agent/configuration/manual_source.rb +2 -2
- data/lib/new_relic/agent/configuration/mask_defaults.rb +4 -4
- data/lib/new_relic/agent/configuration/security_policy_source.rb +246 -0
- data/lib/new_relic/agent/configuration/server_source.rb +70 -27
- data/lib/new_relic/agent/configuration/yaml_source.rb +85 -35
- data/lib/new_relic/agent/configuration.rb +2 -2
- data/lib/new_relic/agent/connect/request_builder.rb +61 -0
- data/lib/new_relic/agent/connect/response_handler.rb +58 -0
- data/lib/new_relic/agent/custom_event_aggregator.rb +68 -56
- data/lib/new_relic/agent/database/explain_plan_helpers.rb +138 -0
- data/lib/new_relic/agent/database/obfuscation_helpers.rb +73 -49
- data/lib/new_relic/agent/database/obfuscator.rb +7 -25
- data/lib/new_relic/agent/database/postgres_explain_obfuscator.rb +5 -8
- data/lib/new_relic/agent/database.rb +166 -202
- data/lib/new_relic/agent/database_adapter.rb +35 -0
- data/lib/new_relic/agent/datastores/metric_helper.rb +62 -22
- data/lib/new_relic/agent/datastores/mongo/event_formatter.rb +50 -0
- data/lib/new_relic/agent/datastores/mongo/metric_translator.rb +21 -31
- data/lib/new_relic/agent/datastores/mongo.rb +8 -12
- data/lib/new_relic/agent/datastores/nosql_obfuscator.rb +41 -0
- data/lib/new_relic/agent/datastores/redis.rb +125 -0
- data/lib/new_relic/agent/datastores.rb +45 -30
- data/lib/new_relic/agent/deprecator.rb +2 -2
- data/lib/new_relic/agent/distributed_tracing/cross_app_payload.rb +44 -0
- data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +253 -0
- data/lib/new_relic/agent/distributed_tracing/distributed_trace_attributes.rb +84 -0
- data/lib/new_relic/agent/distributed_tracing/distributed_trace_metrics.rb +75 -0
- data/lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb +159 -0
- data/lib/new_relic/agent/distributed_tracing/distributed_trace_transport_type.rb +38 -0
- data/lib/new_relic/agent/distributed_tracing/trace_context.rb +245 -0
- data/lib/new_relic/agent/distributed_tracing/trace_context_payload.rb +127 -0
- data/lib/new_relic/agent/distributed_tracing.rb +148 -0
- data/lib/new_relic/agent/encoding_normalizer.rb +9 -24
- data/lib/new_relic/agent/error_collector.rb +200 -142
- data/lib/new_relic/agent/error_event_aggregator.rb +41 -0
- data/lib/new_relic/agent/error_filter.rb +174 -0
- data/lib/new_relic/agent/error_trace_aggregator.rb +102 -0
- data/lib/new_relic/agent/event_aggregator.rb +150 -0
- data/lib/new_relic/agent/event_buffer.rb +15 -9
- data/lib/new_relic/agent/event_listener.rb +2 -3
- data/lib/new_relic/agent/event_loop.rb +28 -26
- data/lib/new_relic/agent/external.rb +110 -0
- data/lib/new_relic/agent/guid_generator.rb +30 -0
- data/lib/new_relic/agent/harvester.rb +7 -10
- data/lib/new_relic/agent/heap.rb +139 -0
- data/lib/new_relic/agent/hostname.rb +44 -5
- data/lib/new_relic/agent/http_clients/abstract.rb +73 -0
- data/lib/new_relic/agent/http_clients/async_http_wrappers.rb +80 -0
- data/lib/new_relic/agent/http_clients/curb_wrappers.rb +36 -24
- data/lib/new_relic/agent/http_clients/ethon_wrappers.rb +109 -0
- data/lib/new_relic/agent/http_clients/excon_wrappers.rb +49 -23
- data/lib/new_relic/agent/http_clients/http_rb_wrappers.rb +64 -0
- data/lib/new_relic/agent/http_clients/httpclient_wrappers.rb +29 -22
- data/lib/new_relic/agent/http_clients/httpx_wrappers.rb +91 -0
- data/lib/new_relic/agent/http_clients/net_http_wrappers.rb +39 -11
- data/lib/new_relic/agent/http_clients/typhoeus_wrappers.rb +30 -20
- data/lib/new_relic/agent/http_clients/uri_util.rb +23 -19
- data/lib/new_relic/agent/instrumentation/action_cable_subscriber.rb +47 -0
- data/lib/new_relic/agent/instrumentation/action_controller_other_subscriber.rb +42 -0
- data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +61 -74
- 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 +82 -66
- data/lib/new_relic/agent/instrumentation/active_job.rb +52 -20
- data/lib/new_relic/agent/instrumentation/active_job_subscriber.rb +41 -0
- data/lib/new_relic/agent/instrumentation/active_merchant.rb +21 -7
- data/lib/new_relic/agent/instrumentation/active_record.rb +112 -42
- data/lib/new_relic/agent/instrumentation/active_record_helper.rb +217 -56
- data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +156 -0
- data/lib/new_relic/agent/instrumentation/active_record_prepend.rb +98 -0
- data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +104 -59
- data/lib/new_relic/agent/instrumentation/active_storage.rb +27 -0
- data/lib/new_relic/agent/instrumentation/active_storage_subscriber.rb +38 -0
- 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 +17 -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 +32 -0
- 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 +32 -0
- data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +106 -74
- 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 +16 -175
- 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 +95 -36
- data/lib/new_relic/agent/instrumentation/dynamodb/chain.rb +27 -0
- data/lib/new_relic/agent/instrumentation/dynamodb/instrumentation.rb +64 -0
- data/lib/new_relic/agent/instrumentation/dynamodb/prepend.rb +19 -0
- data/lib/new_relic/agent/instrumentation/dynamodb.rb +25 -0
- data/lib/new_relic/agent/instrumentation/elasticsearch/chain.rb +29 -0
- data/lib/new_relic/agent/instrumentation/elasticsearch/instrumentation.rb +120 -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 +29 -16
- data/lib/new_relic/agent/instrumentation/excon.rb +29 -31
- 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 +18 -85
- data/lib/new_relic/agent/instrumentation/grpc/client/chain.rb +97 -0
- data/lib/new_relic/agent/instrumentation/grpc/client/instrumentation.rb +93 -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 +14 -22
- 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 +6 -7
- 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 +97 -0
- 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 +53 -109
- data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +17 -16
- data/lib/new_relic/agent/instrumentation/middleware_tracing.rb +48 -14
- data/lib/new_relic/agent/instrumentation/mongo.rb +14 -110
- data/lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb +140 -0
- data/lib/new_relic/agent/instrumentation/net_http/chain.rb +24 -0
- data/lib/new_relic/agent/instrumentation/net_http/instrumentation.rb +50 -0
- data/lib/new_relic/agent/instrumentation/net_http/prepend.rb +21 -0
- data/lib/new_relic/agent/instrumentation/net_http.rb +44 -0
- data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +146 -0
- 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 +21 -21
- data/lib/new_relic/agent/instrumentation/passenger_instrumentation.rb +7 -7
- data/lib/new_relic/agent/instrumentation/queue_time.rb +19 -22
- 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 +49 -152
- data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +28 -55
- data/lib/new_relic/agent/instrumentation/rails_middleware.rb +5 -5
- data/lib/new_relic/agent/instrumentation/rails_notifications/action_cable.rb +36 -0
- data/lib/new_relic/agent/instrumentation/rails_notifications/action_controller.rb +46 -0
- data/lib/new_relic/agent/instrumentation/rails_notifications/action_view.rb +30 -0
- 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 +31 -0
- 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 +44 -0
- 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 +38 -78
- 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/ruby_openai/chain.rb +36 -0
- data/lib/new_relic/agent/instrumentation/ruby_openai/instrumentation.rb +196 -0
- data/lib/new_relic/agent/instrumentation/ruby_openai/prepend.rb +20 -0
- data/lib/new_relic/agent/instrumentation/ruby_openai.rb +35 -0
- data/lib/new_relic/agent/instrumentation/sequel.rb +17 -23
- data/lib/new_relic/agent/instrumentation/sequel_helper.rb +13 -13
- 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 +37 -45
- data/lib/new_relic/agent/instrumentation/sinatra/chain.rb +55 -0
- data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +31 -37
- data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +130 -0
- data/lib/new_relic/agent/instrumentation/sinatra/prepend.rb +33 -0
- data/lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb +13 -7
- data/lib/new_relic/agent/instrumentation/sinatra.rb +35 -165
- 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 +14 -47
- 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 +2 -2
- data/lib/new_relic/agent/internal_agent_error.rb +3 -3
- data/lib/new_relic/agent/javascript_instrumentor.rb +72 -58
- data/lib/new_relic/agent/linking_metadata.rb +44 -0
- data/lib/new_relic/agent/llm/chat_completion_message.rb +25 -0
- data/lib/new_relic/agent/llm/chat_completion_summary.rb +66 -0
- data/lib/new_relic/agent/llm/embedding.rb +60 -0
- data/lib/new_relic/agent/llm/llm_event.rb +95 -0
- data/lib/new_relic/agent/llm/response_headers.rb +80 -0
- data/lib/new_relic/agent/llm.rb +49 -0
- data/lib/new_relic/agent/local_log_decorator.rb +37 -0
- data/lib/new_relic/agent/log_event_aggregator.rb +267 -0
- data/lib/new_relic/agent/log_event_attributes.rb +115 -0
- data/lib/new_relic/agent/log_once.rb +39 -0
- data/lib/new_relic/agent/log_priority.rb +20 -0
- data/lib/new_relic/agent/logging.rb +182 -0
- data/lib/new_relic/agent/memory_logger.rb +11 -4
- data/lib/new_relic/agent/messaging.rb +358 -0
- data/lib/new_relic/agent/method_tracer.rb +173 -195
- data/lib/new_relic/agent/method_tracer_helpers.rb +109 -66
- data/lib/new_relic/agent/monitors/cross_app_monitor.rb +117 -0
- data/lib/new_relic/agent/monitors/distributed_tracing_monitor.rb +28 -0
- data/lib/new_relic/agent/monitors/inbound_request_monitor.rb +43 -0
- data/lib/new_relic/agent/monitors/synthetics_monitor.rb +64 -0
- data/lib/new_relic/agent/monitors.rb +26 -0
- data/lib/new_relic/agent/new_relic_service/encoders.rb +29 -13
- data/lib/new_relic/agent/new_relic_service/json_marshaller.rb +18 -24
- data/lib/new_relic/agent/new_relic_service/marshaller.rb +8 -29
- data/lib/new_relic/agent/new_relic_service/security_policy_settings.rb +61 -0
- data/lib/new_relic/agent/new_relic_service.rb +406 -226
- data/lib/new_relic/agent/noticeable_error.rb +19 -0
- data/lib/new_relic/agent/null_logger.rb +8 -4
- data/lib/new_relic/agent/obfuscator.rb +8 -12
- data/lib/new_relic/agent/parameter_filtering.rb +41 -14
- data/lib/new_relic/agent/payload_metric_mapping.rb +57 -0
- data/lib/new_relic/agent/pipe_channel_manager.rb +37 -27
- data/lib/new_relic/agent/pipe_service.rb +23 -16
- data/lib/new_relic/agent/prepend_supportability.rb +16 -0
- data/lib/new_relic/agent/priority_sampled_buffer.rb +92 -0
- data/lib/new_relic/agent/rules_engine/replacement_rule.rb +12 -12
- data/lib/new_relic/agent/rules_engine/segment_terms_rule.rb +32 -12
- data/lib/new_relic/agent/rules_engine.rb +30 -7
- data/lib/new_relic/agent/sampler.rb +13 -13
- data/lib/new_relic/agent/sampler_collection.rb +5 -6
- data/lib/new_relic/agent/samplers/cpu_sampler.rb +13 -10
- data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +22 -19
- data/lib/new_relic/agent/samplers/memory_sampler.rb +41 -25
- data/lib/new_relic/agent/samplers/object_sampler.rb +3 -3
- data/lib/new_relic/agent/samplers/vm_sampler.rb +22 -20
- data/lib/new_relic/agent/serverless_handler.rb +171 -0
- data/lib/new_relic/agent/span_event_aggregator.rb +49 -0
- data/lib/new_relic/agent/span_event_primitive.rb +222 -0
- data/lib/new_relic/agent/sql_sampler.rb +83 -47
- data/lib/new_relic/agent/stats.rb +80 -57
- data/lib/new_relic/agent/stats_engine/gc_profiler.rb +12 -13
- data/lib/new_relic/agent/stats_engine/stats_hash.rb +97 -40
- data/lib/new_relic/agent/stats_engine.rb +175 -9
- data/lib/new_relic/agent/synthetics_event_aggregator.rb +44 -0
- data/lib/new_relic/agent/system_info.rb +203 -61
- data/lib/new_relic/agent/threading/agent_thread.rb +20 -15
- data/lib/new_relic/agent/threading/backtrace_node.rb +13 -14
- data/lib/new_relic/agent/threading/backtrace_service.rb +23 -26
- data/lib/new_relic/agent/threading/thread_profile.rb +32 -46
- data/lib/new_relic/agent/timestamp_sampled_buffer.rb +19 -0
- data/lib/new_relic/agent/tracer.rb +514 -0
- data/lib/new_relic/agent/transaction/abstract_segment.rb +388 -0
- data/lib/new_relic/agent/transaction/datastore_segment.rb +155 -0
- data/lib/new_relic/agent/transaction/distributed_tracer.rb +185 -0
- data/lib/new_relic/agent/transaction/distributed_tracing.rb +171 -0
- data/lib/new_relic/agent/transaction/external_request_segment.rb +265 -0
- data/lib/new_relic/agent/transaction/message_broker_segment.rb +98 -0
- data/lib/new_relic/agent/transaction/request_attributes.rb +158 -0
- data/lib/new_relic/agent/transaction/segment.rb +102 -0
- data/lib/new_relic/agent/transaction/slowest_sample_buffer.rb +2 -4
- data/lib/new_relic/agent/transaction/synthetics_sample_buffer.rb +3 -3
- data/lib/new_relic/agent/transaction/trace.rb +43 -37
- data/lib/new_relic/agent/transaction/trace_builder.rb +56 -0
- data/lib/new_relic/agent/transaction/trace_context.rb +168 -0
- data/lib/new_relic/agent/transaction/trace_node.rb +57 -66
- data/lib/new_relic/agent/transaction/tracing.rb +87 -0
- data/lib/new_relic/agent/transaction/transaction_sample_buffer.rb +7 -7
- data/lib/new_relic/agent/transaction.rb +438 -396
- data/lib/new_relic/agent/transaction_error_primitive.rb +105 -0
- data/lib/new_relic/agent/transaction_event_aggregator.rb +43 -260
- data/lib/new_relic/agent/transaction_event_primitive.rb +127 -0
- data/lib/new_relic/agent/transaction_event_recorder.rb +49 -0
- data/lib/new_relic/agent/transaction_metrics.rb +19 -10
- data/lib/new_relic/agent/transaction_sampler.rb +22 -219
- data/lib/new_relic/agent/transaction_time_aggregator.rb +160 -0
- data/lib/new_relic/agent/utilization/aws.rb +48 -0
- data/lib/new_relic/agent/utilization/azure.rb +17 -0
- data/lib/new_relic/agent/utilization/gcp.rb +33 -0
- data/lib/new_relic/agent/utilization/pcf.rb +33 -0
- data/lib/new_relic/agent/utilization/vendor.rb +157 -0
- data/lib/new_relic/agent/utilization_data.rb +124 -37
- data/lib/new_relic/agent/vm/c_ruby_vm.rb +99 -0
- data/lib/new_relic/agent/vm/jruby_vm.rb +3 -5
- data/lib/new_relic/agent/vm/monotonic_gc_profiler.rb +4 -4
- data/lib/new_relic/agent/vm/snapshot.rb +6 -6
- data/lib/new_relic/agent/vm.rb +5 -8
- data/lib/new_relic/agent/worker_loop.rb +16 -18
- data/lib/new_relic/agent.rb +476 -210
- data/lib/new_relic/base64.rb +25 -0
- data/lib/new_relic/cli/command.rb +27 -26
- data/lib/new_relic/cli/commands/deployments.rb +108 -50
- data/lib/new_relic/cli/commands/install.rb +35 -36
- data/lib/new_relic/coerce.rb +43 -16
- data/lib/new_relic/collection_helper.rb +49 -67
- data/lib/new_relic/constants.rb +45 -0
- data/lib/new_relic/control/class_methods.rb +7 -7
- data/lib/new_relic/control/frameworks/external.rb +3 -3
- data/lib/new_relic/control/frameworks/rails.rb +59 -49
- data/lib/new_relic/control/frameworks/rails3.rb +5 -7
- data/lib/new_relic/control/frameworks/rails4.rb +3 -3
- data/lib/new_relic/control/frameworks/rails_notifications.rb +14 -0
- data/lib/new_relic/control/frameworks/roda.rb +20 -0
- data/lib/new_relic/control/frameworks/ruby.rb +5 -5
- data/lib/new_relic/control/frameworks/sinatra.rb +8 -2
- data/lib/new_relic/control/frameworks.rb +2 -2
- data/lib/new_relic/control/instance_methods.rb +47 -29
- data/lib/new_relic/control/instrumentation.rb +27 -21
- data/lib/new_relic/control/private_instance_methods.rb +48 -0
- data/lib/new_relic/control/server_methods.rb +6 -60
- data/lib/new_relic/control.rb +3 -5
- data/lib/new_relic/delayed_job_injection.rb +2 -2
- data/lib/new_relic/dependency_detection.rb +234 -0
- data/lib/new_relic/environment_report.rb +42 -36
- data/lib/new_relic/helper.rb +54 -22
- data/lib/new_relic/language_support.rb +73 -99
- data/lib/new_relic/latest_changes.rb +13 -12
- data/lib/new_relic/local_environment.rb +55 -42
- data/lib/new_relic/metric_data.rb +37 -39
- data/lib/new_relic/metric_spec.rb +9 -24
- data/lib/new_relic/noticed_error.rb +103 -62
- data/lib/new_relic/rack/agent_hooks.rb +3 -3
- data/lib/new_relic/rack/agent_middleware.rb +5 -5
- data/lib/new_relic/rack/browser_monitoring.rb +147 -114
- data/lib/new_relic/rack.rb +2 -2
- data/lib/new_relic/recipes/capistrano3.rb +12 -55
- data/lib/new_relic/recipes/capistrano_legacy.rb +26 -29
- data/lib/new_relic/recipes/helpers/send_deployment.rb +70 -0
- data/lib/new_relic/recipes.rb +2 -2
- data/lib/new_relic/supportability_helper.rb +88 -0
- data/lib/new_relic/thread_local_storage.rb +31 -0
- data/lib/new_relic/traced_thread.rb +38 -0
- data/lib/new_relic/version.rb +7 -63
- data/lib/newrelic_rpm.rb +21 -34
- data/lib/sequel/extensions/new_relic_instrumentation.rb +99 -0
- data/lib/sequel/plugins/new_relic_instrumentation.rb +64 -0
- data/lib/tasks/all.rb +4 -4
- data/lib/tasks/bump_version.rake +21 -0
- data/lib/tasks/config.rake +27 -119
- data/lib/tasks/coverage_report.rake +28 -0
- data/lib/tasks/helpers/config.html.erb +115 -0
- data/lib/tasks/helpers/config.text.erb +8 -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 +129 -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 +10 -0
- data/lib/tasks/newrelicyml.rake +13 -0
- data/lib/tasks/tests.rake +87 -16
- data/newrelic.yml +832 -10
- data/newrelic_rpm.gemspec +56 -56
- data/recipes/newrelic.rb +3 -3
- data/test/agent_helper.rb +513 -115
- metadata +384 -912
- data/.gitignore +0 -27
- data/.project +0 -23
- data/.travis.yml +0 -12
- data/.yardopts +0 -21
- data/CHANGELOG +0 -2300
- data/GUIDELINES_FOR_CONTRIBUTING.md +0 -80
- data/Guardfile +0 -8
- 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 -287
- data/lib/conditional_vendored_dependency_detection.rb +0 -7
- data/lib/conditional_vendored_metric_parser.rb +0 -9
- data/lib/new_relic/agent/busy_calculator.rb +0 -117
- data/lib/new_relic/agent/commands/xray_session.rb +0 -55
- data/lib/new_relic/agent/commands/xray_session_collection.rb +0 -161
- data/lib/new_relic/agent/cross_app_monitor.rb +0 -178
- data/lib/new_relic/agent/cross_app_tracing.rb +0 -339
- data/lib/new_relic/agent/datastores/mongo/obfuscator.rb +0 -39
- data/lib/new_relic/agent/datastores/mongo/statement_formatter.rb +0 -53
- data/lib/new_relic/agent/hash_extensions.rb +0 -26
- data/lib/new_relic/agent/inbound_request_monitor.rb +0 -41
- data/lib/new_relic/agent/instrumentation/active_record_4.rb +0 -28
- data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +0 -72
- data/lib/new_relic/agent/instrumentation/authlogic.rb +0 -25
- data/lib/new_relic/agent/instrumentation/data_mapper.rb +0 -167
- data/lib/new_relic/agent/instrumentation/evented_subscriber.rb +0 -100
- data/lib/new_relic/agent/instrumentation/excon/connection.rb +0 -33
- 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/metric_frame.rb +0 -39
- data/lib/new_relic/agent/instrumentation/net.rb +0 -36
- data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +0 -123
- data/lib/new_relic/agent/instrumentation/rails/action_web_service.rb +0 -46
- data/lib/new_relic/agent/instrumentation/rails/errors.rb +0 -51
- data/lib/new_relic/agent/instrumentation/rails3/errors.rb +0 -47
- data/lib/new_relic/agent/instrumentation/rails4/action_controller.rb +0 -29
- data/lib/new_relic/agent/instrumentation/rails4/action_view.rb +0 -25
- data/lib/new_relic/agent/instrumentation/rails4/errors.rb +0 -46
- data/lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb +0 -26
- data/lib/new_relic/agent/instrumentation/rubyprof.rb +0 -26
- data/lib/new_relic/agent/instrumentation/sunspot.rb +0 -33
- data/lib/new_relic/agent/new_relic_service/pruby_marshaller.rb +0 -56
- data/lib/new_relic/agent/sampled_buffer.rb +0 -51
- data/lib/new_relic/agent/shim_agent.rb +0 -33
- data/lib/new_relic/agent/sized_buffer.rb +0 -23
- data/lib/new_relic/agent/stats_engine/metric_stats.rb +0 -237
- data/lib/new_relic/agent/stats_engine/samplers.rb +0 -28
- data/lib/new_relic/agent/supported_versions.rb +0 -259
- data/lib/new_relic/agent/synthetics_event_buffer.rb +0 -42
- data/lib/new_relic/agent/synthetics_monitor.rb +0 -50
- data/lib/new_relic/agent/traced_method_stack.rb +0 -99
- data/lib/new_relic/agent/transaction/attributes.rb +0 -161
- data/lib/new_relic/agent/transaction/developer_mode_sample_buffer.rb +0 -62
- data/lib/new_relic/agent/transaction/xray_sample_buffer.rb +0 -64
- data/lib/new_relic/agent/transaction_sample_builder.rb +0 -147
- data/lib/new_relic/agent/transaction_state.rb +0 -153
- data/lib/new_relic/agent/transaction_timings.rb +0 -57
- data/lib/new_relic/agent/vm/mri_vm.rb +0 -87
- data/lib/new_relic/agent/vm/rubinius_vm.rb +0 -132
- data/lib/new_relic/build.rb +0 -2
- data/lib/new_relic/control/frameworks/merb.rb +0 -29
- data/lib/new_relic/json_wrapper.rb +0 -78
- data/lib/new_relic/merbtasks.rb +0 -10
- data/lib/new_relic/metrics.rb +0 -13
- data/lib/new_relic/okjson.rb +0 -602
- data/lib/new_relic/rack/developer_mode/segment_summary.rb +0 -56
- data/lib/new_relic/rack/developer_mode.rb +0 -321
- data/lib/new_relic/rack/error_collector.rb +0 -27
- data/lib/new_relic/timer_lib.rb +0 -31
- data/lib/sequel/extensions/newrelic_instrumentation.rb +0 -79
- data/lib/sequel/plugins/newrelic_instrumentation.rb +0 -65
- data/lib/tasks/config.html.erb +0 -28
- data/lib/tasks/config.text.erb +0 -7
- data/lib/tasks/versions.html.erb +0 -27
- data/lib/tasks/versions.rake +0 -53
- data/lib/tasks/versions.txt.erb +0 -14
- data/test/config/newrelic.yml +0 -46
- data/test/config/test.cert.crt +0 -18
- data/test/config/test.cert.key +0 -15
- data/test/config/test_control.rb +0 -54
- data/test/environments/.gitignore +0 -16
- data/test/environments/lib/environments/runner.rb +0 -113
- data/test/environments/norails/Gemfile +0 -21
- data/test/environments/norails/Rakefile +0 -9
- data/test/environments/rails21/Gemfile +0 -25
- data/test/environments/rails21/Rakefile +0 -16
- data/test/environments/rails21/app/controllers/application.rb +0 -20
- data/test/environments/rails21/config/boot.rb +0 -113
- data/test/environments/rails21/config/database.yml +0 -26
- data/test/environments/rails21/config/environment.rb +0 -26
- data/test/environments/rails21/config/environments/development.rb +0 -10
- data/test/environments/rails21/config/environments/production.rb +0 -8
- data/test/environments/rails21/config/environments/test.rb +0 -10
- data/test/environments/rails21/config/routes.rb +0 -5
- data/test/environments/rails21/db/schema.rb +0 -5
- data/test/environments/rails22/Gemfile +0 -25
- data/test/environments/rails22/Rakefile +0 -16
- data/test/environments/rails22/app/controllers/application.rb +0 -20
- data/test/environments/rails22/config/boot.rb +0 -113
- data/test/environments/rails22/config/database.yml +0 -26
- data/test/environments/rails22/config/environment.rb +0 -25
- data/test/environments/rails22/config/environments/development.rb +0 -10
- data/test/environments/rails22/config/environments/production.rb +0 -8
- data/test/environments/rails22/config/environments/test.rb +0 -10
- data/test/environments/rails22/config/routes.rb +0 -5
- data/test/environments/rails22/db/schema.rb +0 -5
- data/test/environments/rails23/Gemfile +0 -24
- data/test/environments/rails23/Rakefile +0 -16
- data/test/environments/rails23/app/controllers/application.rb +0 -20
- data/test/environments/rails23/config/boot.rb +0 -127
- data/test/environments/rails23/config/database.yml +0 -26
- data/test/environments/rails23/config/environment.rb +0 -16
- data/test/environments/rails23/config/environments/production.rb +0 -8
- data/test/environments/rails23/config/environments/test.rb +0 -10
- data/test/environments/rails23/config/preinitializer.rb +0 -25
- data/test/environments/rails23/config/routes.rb +0 -5
- data/test/environments/rails23/db/schema.rb +0 -5
- data/test/environments/rails30/Gemfile +0 -23
- data/test/environments/rails30/Rakefile +0 -11
- data/test/environments/rails30/config/application.rb +0 -17
- data/test/environments/rails30/config/boot.rb +0 -10
- data/test/environments/rails30/config/database.yml +0 -26
- data/test/environments/rails30/config/environment.rb +0 -6
- data/test/environments/rails30/config/initializers/new_rails_defaults.rb +0 -11
- data/test/environments/rails30/db/schema.rb +0 -5
- data/test/environments/rails31/Gemfile +0 -24
- data/test/environments/rails31/Rakefile +0 -11
- data/test/environments/rails31/config/application.rb +0 -18
- data/test/environments/rails31/config/boot.rb +0 -10
- data/test/environments/rails31/config/database.yml +0 -26
- data/test/environments/rails31/config/environment.rb +0 -6
- data/test/environments/rails31/config/initializers/new_rails_defaults.rb +0 -21
- data/test/environments/rails31/db/schema.rb +0 -5
- data/test/environments/rails32/Gemfile +0 -26
- data/test/environments/rails32/Rakefile +0 -11
- data/test/environments/rails32/config/application.rb +0 -19
- data/test/environments/rails32/config/boot.rb +0 -10
- data/test/environments/rails32/config/database.yml +0 -31
- data/test/environments/rails32/config/environment.rb +0 -6
- data/test/environments/rails32/db/schema.rb +0 -5
- data/test/environments/rails40/Gemfile +0 -43
- data/test/environments/rails40/Rakefile +0 -11
- data/test/environments/rails40/config/application.rb +0 -18
- data/test/environments/rails40/config/boot.rb +0 -10
- data/test/environments/rails40/config/database.yml +0 -26
- data/test/environments/rails40/config/environment.rb +0 -6
- data/test/environments/rails40/db/schema.rb +0 -5
- data/test/environments/rails41/Gemfile +0 -35
- data/test/environments/rails41/Rakefile +0 -11
- data/test/environments/rails41/config/application.rb +0 -18
- data/test/environments/rails41/config/boot.rb +0 -10
- data/test/environments/rails41/config/database.yml +0 -26
- data/test/environments/rails41/config/environment.rb +0 -6
- data/test/environments/rails41/db/schema.rb +0 -5
- data/test/environments/rails42/Gemfile +0 -39
- data/test/environments/rails42/Rakefile +0 -11
- data/test/environments/rails42/config/application.rb +0 -18
- data/test/environments/rails42/config/boot.rb +0 -10
- data/test/environments/rails42/config/database.yml +0 -26
- data/test/environments/rails42/config/environment.rb +0 -6
- data/test/environments/rails42/db/schema.rb +0 -5
- data/test/fixtures/cross_agent_tests/README.md +0 -56
- data/test/fixtures/cross_agent_tests/attribute_configuration.json +0 -384
- data/test/fixtures/cross_agent_tests/cat_map.json +0 -597
- data/test/fixtures/cross_agent_tests/docker_container_id/README.md +0 -6
- data/test/fixtures/cross_agent_tests/docker_container_id/cases.json +0 -46
- data/test/fixtures/cross_agent_tests/docker_container_id/docker-0.9.1.txt +0 -10
- data/test/fixtures/cross_agent_tests/docker_container_id/docker-1.0.0.txt +0 -10
- data/test/fixtures/cross_agent_tests/docker_container_id/docker-1.1.2-lxc-driver.txt +0 -10
- data/test/fixtures/cross_agent_tests/docker_container_id/docker-1.1.2-native-driver-fs.txt +0 -10
- data/test/fixtures/cross_agent_tests/docker_container_id/docker-1.1.2-native-driver-systemd.txt +0 -10
- data/test/fixtures/cross_agent_tests/docker_container_id/docker-1.3.txt +0 -9
- data/test/fixtures/cross_agent_tests/docker_container_id/empty.txt +0 -0
- data/test/fixtures/cross_agent_tests/docker_container_id/heroku.txt +0 -1
- data/test/fixtures/cross_agent_tests/docker_container_id/ubuntu-14.04-lxc-container.txt +0 -10
- data/test/fixtures/cross_agent_tests/docker_container_id/ubuntu-14.04-no-container.txt +0 -10
- data/test/fixtures/cross_agent_tests/docker_container_id/ubuntu-14.10-no-container.txt +0 -10
- data/test/fixtures/cross_agent_tests/labels.json +0 -133
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/README.md +0 -16
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/basic_where.colon_obfuscated.txt +0 -3
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/basic_where.explain.txt +0 -3
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/basic_where.obfuscated.txt +0 -3
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/basic_where.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/current_date.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/current_date.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/current_date.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/current_date.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/date.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/date.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/date.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/date.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_newline.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_newline.explain.txt +0 -3
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_newline.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_newline.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_quote.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_quote.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_quote.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_quote.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/floating_point.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/floating_point.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/floating_point.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/floating_point.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/function_with_strings.colon_obfuscated.txt +0 -5
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/function_with_strings.explain.txt +0 -5
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/function_with_strings.obfuscated.txt +0 -5
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/function_with_strings.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/quote_in_table_name.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/quote_in_table_name.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/quote_in_table_name.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/quote_in_table_name.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/subplan.colon_obfuscated.txt +0 -5
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/subplan.explain.txt +0 -5
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/subplan.obfuscated.txt +0 -5
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/subplan.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_integer.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_integer.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_integer.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_integer.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_regex_chars.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_regex_chars.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_regex_chars.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_regex_chars.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_substring.colon_obfuscated.txt +0 -3
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_substring.explain.txt +0 -3
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_substring.obfuscated.txt +0 -3
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_substring.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case1.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case1.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case1.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case1.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case2.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case2.explain.txt +0 -3
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case2.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case2.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case3.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case3.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case3.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case3.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case4.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case4.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case4.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case4.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case5.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case5.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case5.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case5.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case6.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case6.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case6.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case6.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case7.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case7.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case7.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case7.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case8.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case8.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case8.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case8.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case9.colon_obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case9.explain.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case9.obfuscated.txt +0 -2
- data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case9.query.txt +0 -1
- data/test/fixtures/cross_agent_tests/proc_cpuinfo/1pack_1core_1logical.txt +0 -3
- data/test/fixtures/cross_agent_tests/proc_cpuinfo/1pack_1core_2logical.txt +0 -14
- data/test/fixtures/cross_agent_tests/proc_cpuinfo/1pack_2core_2logical.txt +0 -14
- data/test/fixtures/cross_agent_tests/proc_cpuinfo/1pack_4core_4logical.txt +0 -28
- data/test/fixtures/cross_agent_tests/proc_cpuinfo/2pack_12core_24logical.txt +0 -575
- data/test/fixtures/cross_agent_tests/proc_cpuinfo/2pack_20core_40logical.txt +0 -999
- data/test/fixtures/cross_agent_tests/proc_cpuinfo/2pack_2core_2logical.txt +0 -51
- data/test/fixtures/cross_agent_tests/proc_cpuinfo/2pack_2core_4logical.txt +0 -28
- data/test/fixtures/cross_agent_tests/proc_cpuinfo/2pack_4core_4logical.txt +0 -28
- data/test/fixtures/cross_agent_tests/proc_cpuinfo/4pack_4core_4logical.txt +0 -103
- data/test/fixtures/cross_agent_tests/proc_cpuinfo/8pack_8core_8logical.txt +0 -199
- data/test/fixtures/cross_agent_tests/proc_cpuinfo/README.md +0 -24
- data/test/fixtures/cross_agent_tests/proc_cpuinfo/Xpack_Xcore_2logical.txt +0 -43
- data/test/fixtures/cross_agent_tests/proc_meminfo/README.md +0 -7
- data/test/fixtures/cross_agent_tests/proc_meminfo/meminfo_4096MB.txt +0 -47
- data/test/fixtures/cross_agent_tests/rules.json +0 -165
- data/test/fixtures/cross_agent_tests/rum_client_config.json +0 -62
- data/test/fixtures/cross_agent_tests/rum_footer_insertion_location/close-body-in-comment.html +0 -10
- data/test/fixtures/cross_agent_tests/rum_footer_insertion_location/dynamic-iframe.html +0 -19
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/basic.html +0 -10
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/body_with_attributes.html +0 -3
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/charset_tag.html +0 -11
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/charset_tag_after_x_ua_tag.html +0 -11
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/charset_tag_before_x_ua_tag.html +0 -11
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/charset_tag_with_spaces.html +0 -11
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/comments1.html +0 -24
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/comments2.html +0 -24
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/content_type_charset_tag.html +0 -11
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/content_type_charset_tag_after_x_ua_tag.html +0 -11
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/content_type_charset_tag_before_x_ua_tag.html +0 -11
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/empty_head +0 -4
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/gt_in_quotes1.html +0 -27
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/gt_in_quotes2.html +0 -24
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/gt_in_quotes_mismatch.html +0 -24
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/gt_in_single_quotes1.html +0 -25
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/gt_in_single_quotes_mismatch.html +0 -25
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/head_with_attributes.html +0 -10
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/incomplete_non_meta_tags.html +0 -10
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/no_end_header.html +0 -6
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/no_header.html +0 -7
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/no_html_and_no_header.html +0 -3
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/no_start_header.html +0 -9
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/script1.html +0 -19
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/script2.html +0 -17
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/x_ua_meta_tag.html +0 -10
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/x_ua_meta_tag_multiline.html +0 -11
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/x_ua_meta_tag_multiple_tags.html +0 -12
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/x_ua_meta_tag_spaces_around_equals.html +0 -10
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/x_ua_meta_tag_with_others.html +0 -11
- data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/x_ua_meta_tag_with_spaces.html +0 -10
- data/test/fixtures/cross_agent_tests/sql_obfuscation/README.md +0 -30
- data/test/fixtures/cross_agent_tests/sql_obfuscation/sql_obfuscation.json +0 -365
- data/test/fixtures/cross_agent_tests/sql_parsing.json +0 -55
- data/test/fixtures/cross_agent_tests/synthetics/README.md +0 -65
- data/test/fixtures/cross_agent_tests/synthetics/synthetics.json +0 -317
- data/test/fixtures/cross_agent_tests/transaction_segment_terms.json +0 -101
- data/test/fixtures/cross_agent_tests/url_clean.json +0 -15
- data/test/fixtures/cross_agent_tests/url_domain_extraction.json +0 -35
- data/test/helpers/exceptions.rb +0 -16
- data/test/helpers/file_searching.rb +0 -28
- data/test/helpers/mongo_metric_builder.rb +0 -28
- data/test/helpers/runtime_detection.rb +0 -17
- data/test/intentional_fail.rb +0 -13
- data/test/multiverse/.gitignore +0 -13
- data/test/multiverse/README.md +0 -85
- data/test/multiverse/lib/multiverse/color.rb +0 -23
- data/test/multiverse/lib/multiverse/envfile.rb +0 -66
- data/test/multiverse/lib/multiverse/environment.rb +0 -19
- data/test/multiverse/lib/multiverse/output_collector.rb +0 -82
- data/test/multiverse/lib/multiverse/runner.rb +0 -117
- data/test/multiverse/lib/multiverse/suite.rb +0 -525
- data/test/multiverse/script/runner +0 -5
- data/test/multiverse/suites/active_record/.gitignore +0 -1
- data/test/multiverse/suites/active_record/Envfile +0 -67
- data/test/multiverse/suites/active_record/Rakefile +0 -9
- data/test/multiverse/suites/active_record/active_record_test.rb +0 -374
- data/test/multiverse/suites/active_record/app/models/models.rb +0 -27
- data/test/multiverse/suites/active_record/ar_method_aliasing.rb +0 -43
- data/test/multiverse/suites/active_record/before_suite.rb +0 -23
- data/test/multiverse/suites/active_record/config/database.rb +0 -79
- data/test/multiverse/suites/active_record/config/database.yml +0 -19
- data/test/multiverse/suites/active_record/config/newrelic.yml +0 -18
- data/test/multiverse/suites/active_record/db/migrate/20141105131800_create_users_and_aliases.rb +0 -21
- data/test/multiverse/suites/active_record/db/migrate/20141106082200_create_orders_and_shipments.rb +0 -25
- data/test/multiverse/suites/activemerchant/Envfile +0 -36
- data/test/multiverse/suites/activemerchant/activemerchant_test.rb +0 -62
- data/test/multiverse/suites/agent_only/Envfile +0 -4
- data/test/multiverse/suites/agent_only/agent_attributes_test.rb +0 -145
- data/test/multiverse/suites/agent_only/agent_run_id_handling_test.rb +0 -39
- data/test/multiverse/suites/agent_only/audit_log_test.rb +0 -58
- data/test/multiverse/suites/agent_only/collector_exception_handling_test.rb +0 -87
- data/test/multiverse/suites/agent_only/config/newrelic.yml +0 -27
- data/test/multiverse/suites/agent_only/cross_application_tracing_test.rb +0 -94
- data/test/multiverse/suites/agent_only/custom_analytics_events_test.rb +0 -67
- data/test/multiverse/suites/agent_only/custom_queue_time_test.rb +0 -60
- data/test/multiverse/suites/agent_only/encoding_handling_test.rb +0 -130
- data/test/multiverse/suites/agent_only/exclusive_time_test.rb +0 -176
- data/test/multiverse/suites/agent_only/harvest_timestamps_test.rb +0 -83
- data/test/multiverse/suites/agent_only/http_response_code_test.rb +0 -38
- data/test/multiverse/suites/agent_only/keepalive_test.rb +0 -24
- data/test/multiverse/suites/agent_only/key_transactions_test.rb +0 -118
- data/test/multiverse/suites/agent_only/labels_test.rb +0 -83
- data/test/multiverse/suites/agent_only/logging_test.rb +0 -162
- data/test/multiverse/suites/agent_only/marshaling_test.rb +0 -88
- data/test/multiverse/suites/agent_only/pipe_manager_test.rb +0 -41
- data/test/multiverse/suites/agent_only/rename_rule_test.rb +0 -91
- data/test/multiverse/suites/agent_only/rum_instrumentation_test.rb +0 -97
- data/test/multiverse/suites/agent_only/script/env_change.rb +0 -10
- data/test/multiverse/suites/agent_only/script/loading.rb +0 -20
- data/test/multiverse/suites/agent_only/script/symbol_env.rb +0 -10
- data/test/multiverse/suites/agent_only/service_timeout_test.rb +0 -39
- data/test/multiverse/suites/agent_only/set_transaction_name_test.rb +0 -118
- data/test/multiverse/suites/agent_only/ssl_test.rb +0 -20
- data/test/multiverse/suites/agent_only/start_up_test.rb +0 -55
- data/test/multiverse/suites/agent_only/synthetics_test.rb +0 -131
- data/test/multiverse/suites/agent_only/testing_app.rb +0 -58
- data/test/multiverse/suites/agent_only/thread_profiling_test.rb +0 -160
- data/test/multiverse/suites/agent_only/transaction_ignoring_test.rb +0 -42
- data/test/multiverse/suites/agent_only/utilization_data_collection_test.rb +0 -171
- data/test/multiverse/suites/agent_only/xray_sessions_test.rb +0 -199
- data/test/multiverse/suites/bare/Envfile +0 -3
- data/test/multiverse/suites/bare/standalone_instrumentation_test.rb +0 -43
- data/test/multiverse/suites/capistrano/Capfile +0 -26
- data/test/multiverse/suites/capistrano/Envfile +0 -18
- data/test/multiverse/suites/capistrano/config/deploy/production.rb +0 -9
- data/test/multiverse/suites/capistrano/config/deploy.rb +0 -14
- data/test/multiverse/suites/capistrano/config/newrelic.yml +0 -21
- data/test/multiverse/suites/capistrano/deployment_test.rb +0 -54
- data/test/multiverse/suites/capistrano2/Capfile +0 -4
- data/test/multiverse/suites/capistrano2/Envfile +0 -8
- data/test/multiverse/suites/capistrano2/config/deploy.rb +0 -19
- data/test/multiverse/suites/capistrano2/config/newrelic.yml +0 -21
- data/test/multiverse/suites/capistrano2/deployment_test.rb +0 -37
- data/test/multiverse/suites/config_file_loading/Envfile +0 -13
- data/test/multiverse/suites/config_file_loading/config_file_loading_test.rb +0 -213
- data/test/multiverse/suites/curb/Envfile +0 -31
- data/test/multiverse/suites/curb/config/newrelic.yml +0 -18
- data/test/multiverse/suites/curb/curb_test.rb +0 -213
- data/test/multiverse/suites/datamapper/Envfile +0 -30
- data/test/multiverse/suites/datamapper/config/newrelic.yml +0 -20
- data/test/multiverse/suites/datamapper/datamapper_test.rb +0 -335
- data/test/multiverse/suites/deferred_instrumentation/Envfile +0 -15
- data/test/multiverse/suites/deferred_instrumentation/config/newrelic.yml +0 -20
- data/test/multiverse/suites/deferred_instrumentation/sinatra_test.rb +0 -107
- data/test/multiverse/suites/delayed_job/Envfile +0 -102
- data/test/multiverse/suites/delayed_job/before_suite.rb +0 -33
- data/test/multiverse/suites/delayed_job/config/newrelic.yml +0 -18
- data/test/multiverse/suites/delayed_job/delayed_job_sampler_test.rb +0 -128
- data/test/multiverse/suites/delayed_job/unsupported_backend_test.rb +0 -21
- data/test/multiverse/suites/excon/Envfile +0 -21
- data/test/multiverse/suites/excon/config/newrelic.yml +0 -18
- data/test/multiverse/suites/excon/excon_test.rb +0 -81
- data/test/multiverse/suites/grape/Envfile +0 -13
- data/test/multiverse/suites/grape/config/newrelic.yml +0 -19
- data/test/multiverse/suites/grape/grape_test.rb +0 -202
- data/test/multiverse/suites/grape/grape_test_api.rb +0 -64
- data/test/multiverse/suites/grape/grape_versioning_test.rb +0 -64
- data/test/multiverse/suites/grape/grape_versioning_test_api.rb +0 -72
- data/test/multiverse/suites/grape/unsupported_version_test.rb +0 -28
- data/test/multiverse/suites/high_security/Envfile +0 -3
- data/test/multiverse/suites/high_security/config/newrelic.yml +0 -70
- data/test/multiverse/suites/high_security/high_security_test.rb +0 -214
- data/test/multiverse/suites/httpclient/Envfile +0 -13
- data/test/multiverse/suites/httpclient/config/newrelic.yml +0 -18
- data/test/multiverse/suites/httpclient/httpclient_test.rb +0 -75
- data/test/multiverse/suites/json/Envfile +0 -25
- data/test/multiverse/suites/json/config/newrelic.yml +0 -22
- data/test/multiverse/suites/json/json_test.rb +0 -16
- data/test/multiverse/suites/marshalling/Envfile +0 -12
- data/test/multiverse/suites/marshalling/config/newrelic.yml +0 -20
- data/test/multiverse/suites/marshalling/marshalling_test.rb +0 -16
- data/test/multiverse/suites/memcached/Envfile +0 -52
- data/test/multiverse/suites/memcached/dalli_test.rb +0 -89
- data/test/multiverse/suites/memcached/memcache_client_test.rb +0 -25
- data/test/multiverse/suites/memcached/memcache_test_cases.rb +0 -302
- data/test/multiverse/suites/memcached/memcached_test.rb +0 -159
- data/test/multiverse/suites/mongo/Envfile +0 -69
- data/test/multiverse/suites/mongo/config/newrelic.yml +0 -18
- data/test/multiverse/suites/mongo/helpers/mongo_operation_tests.rb +0 -489
- data/test/multiverse/suites/mongo/helpers/mongo_replica_set.rb +0 -97
- data/test/multiverse/suites/mongo/helpers/mongo_replica_set_test.rb +0 -82
- data/test/multiverse/suites/mongo/helpers/mongo_server.rb +0 -241
- data/test/multiverse/suites/mongo/helpers/mongo_server_test.rb +0 -176
- data/test/multiverse/suites/mongo/mongo_connection_test.rb +0 -39
- data/test/multiverse/suites/mongo/mongo_instrumentation_test.rb +0 -39
- data/test/multiverse/suites/mongo/mongo_unsupported_version_test.rb +0 -72
- data/test/multiverse/suites/net_http/Envfile +0 -4
- data/test/multiverse/suites/net_http/config/newrelic.yml +0 -18
- data/test/multiverse/suites/net_http/net_http_test.rb +0 -111
- data/test/multiverse/suites/padrino/Envfile +0 -14
- data/test/multiverse/suites/padrino/config/newrelic.yml +0 -20
- data/test/multiverse/suites/padrino/padrino_test.rb +0 -52
- data/test/multiverse/suites/rack/Envfile +0 -35
- data/test/multiverse/suites/rack/builder_map_test.rb +0 -128
- data/test/multiverse/suites/rack/example_app.rb +0 -100
- data/test/multiverse/suites/rack/http_response_code_test.rb +0 -50
- data/test/multiverse/suites/rack/nested_non_rack_app_test.rb +0 -66
- data/test/multiverse/suites/rack/rack_auto_instrumentation_test.rb +0 -144
- data/test/multiverse/suites/rack/rack_cascade_test.rb +0 -45
- data/test/multiverse/suites/rack/rack_env_mutation_test.rb +0 -53
- data/test/multiverse/suites/rack/rack_parameter_filtering_test.rb +0 -49
- data/test/multiverse/suites/rack/rack_unsupported_version_test.rb +0 -43
- data/test/multiverse/suites/rack/url_map_test.rb +0 -117
- data/test/multiverse/suites/rails/Envfile +0 -61
- data/test/multiverse/suites/rails/action_controller_live_rum_test.rb +0 -39
- data/test/multiverse/suites/rails/activejob_test.rb +0 -152
- data/test/multiverse/suites/rails/app/views/foos/_foo.html.haml +0 -1
- data/test/multiverse/suites/rails/app/views/views/_a_partial.html.erb +0 -2
- data/test/multiverse/suites/rails/app/views/views/_mid_partial.html.erb +0 -1
- data/test/multiverse/suites/rails/app/views/views/_top_partial.html.erb +0 -3
- data/test/multiverse/suites/rails/app/views/views/deep_partial.html.erb +0 -3
- data/test/multiverse/suites/rails/app/views/views/haml_view.html.haml +0 -6
- data/test/multiverse/suites/rails/app/views/views/index.html.erb +0 -4
- data/test/multiverse/suites/rails/app.rb +0 -44
- data/test/multiverse/suites/rails/bad_instrumentation_test.rb +0 -29
- data/test/multiverse/suites/rails/config/newrelic.yml +0 -30
- data/test/multiverse/suites/rails/dummy.txt +0 -1
- data/test/multiverse/suites/rails/error_tracing_test.rb +0 -322
- data/test/multiverse/suites/rails/gc_instrumentation_test.rb +0 -93
- data/test/multiverse/suites/rails/ignore_test.rb +0 -79
- data/test/multiverse/suites/rails/middleware_instrumentation_test.rb +0 -41
- data/test/multiverse/suites/rails/middlewares.rb +0 -19
- data/test/multiverse/suites/rails/parameter_capture_test.rb +0 -299
- data/test/multiverse/suites/rails/queue_time_test.rb +0 -89
- data/test/multiverse/suites/rails/rails2_app/app/controllers/application.rb +0 -7
- data/test/multiverse/suites/rails/rails2_app/config/boot.rb +0 -127
- data/test/multiverse/suites/rails/rails2_app/config/database.yml +0 -18
- data/test/multiverse/suites/rails/rails2_app/config/environment.rb +0 -16
- data/test/multiverse/suites/rails/rails2_app/config/environments/development.rb +0 -10
- data/test/multiverse/suites/rails/rails2_app/config/initializers/load_newrelic_rpm.rb +0 -9
- data/test/multiverse/suites/rails/rails2_app/config/preinitializer.rb +0 -25
- data/test/multiverse/suites/rails/rails2_app/config/routes.rb +0 -19
- data/test/multiverse/suites/rails/rails2_app/db/schema.rb +0 -5
- data/test/multiverse/suites/rails/rails3_app/app_rails3_plus.rb +0 -92
- data/test/multiverse/suites/rails/request_statistics_test.rb +0 -192
- data/test/multiverse/suites/rails/transaction_ignoring_test.rb +0 -41
- data/test/multiverse/suites/rails/view_instrumentation_test.rb +0 -254
- data/test/multiverse/suites/resque/Envfile +0 -11
- data/test/multiverse/suites/resque/Rakefile +0 -3
- data/test/multiverse/suites/resque/config/newrelic.yml +0 -19
- data/test/multiverse/suites/resque/instrumentation_test.rb +0 -155
- data/test/multiverse/suites/resque/resque_marshalling_test.rb +0 -53
- data/test/multiverse/suites/sequel/Envfile +0 -34
- data/test/multiverse/suites/sequel/config/newrelic.yml +0 -18
- data/test/multiverse/suites/sequel/database.rb +0 -57
- data/test/multiverse/suites/sequel/sequel_extension_test.rb +0 -142
- data/test/multiverse/suites/sequel/sequel_helpers.rb +0 -62
- data/test/multiverse/suites/sequel/sequel_plugin_test.rb +0 -230
- data/test/multiverse/suites/sequel/sequel_safety_test.rb +0 -30
- data/test/multiverse/suites/sidekiq/Envfile +0 -31
- data/test/multiverse/suites/sidekiq/after_suite.rb +0 -16
- data/test/multiverse/suites/sidekiq/config/newrelic.yml +0 -20
- data/test/multiverse/suites/sidekiq/log/.gitkeep +0 -0
- data/test/multiverse/suites/sidekiq/sidekiq_instrumentation_test.rb +0 -181
- data/test/multiverse/suites/sidekiq/sidekiq_server.rb +0 -31
- data/test/multiverse/suites/sidekiq/test_worker.rb +0 -59
- data/test/multiverse/suites/sinatra/Envfile +0 -17
- data/test/multiverse/suites/sinatra/config/newrelic.yml +0 -21
- data/test/multiverse/suites/sinatra/ignoring_test.rb +0 -208
- data/test/multiverse/suites/sinatra/nested_middleware_test.rb +0 -39
- data/test/multiverse/suites/sinatra/sinatra_classic_test.rb +0 -99
- data/test/multiverse/suites/sinatra/sinatra_error_tracing_test.rb +0 -45
- data/test/multiverse/suites/sinatra/sinatra_metric_explosion_test.rb +0 -96
- data/test/multiverse/suites/sinatra/sinatra_modular_test.rb +0 -89
- data/test/multiverse/suites/sinatra/sinatra_parameter_capture_test.rb +0 -65
- data/test/multiverse/suites/sinatra/sinatra_routes_test.rb +0 -49
- data/test/multiverse/suites/sinatra/sinatra_test_cases.rb +0 -137
- data/test/multiverse/suites/typhoeus/Envfile +0 -57
- data/test/multiverse/suites/typhoeus/config/newrelic.yml +0 -18
- data/test/multiverse/suites/typhoeus/typhoeus_test.rb +0 -144
- data/test/multiverse/suites/yajl/Envfile +0 -13
- data/test/multiverse/suites/yajl/config/newrelic.yml +0 -21
- data/test/multiverse/suites/yajl/yajl_test.rb +0 -18
- data/test/multiverse/test/multiverse_test.rb +0 -59
- data/test/multiverse/test/suite_examples/one/a/Envfile +0 -3
- data/test/multiverse/test/suite_examples/one/a/a_test.rb +0 -14
- data/test/multiverse/test/suite_examples/one/a/config/newrelic.yml +0 -22
- data/test/multiverse/test/suite_examples/one/b/Envfile +0 -3
- data/test/multiverse/test/suite_examples/one/b/b_test.rb +0 -14
- data/test/multiverse/test/suite_examples/one/b/config/newrelic.yml +0 -22
- data/test/multiverse/test/suite_examples/three/a/Envfile +0 -2
- data/test/multiverse/test/suite_examples/three/a/fail_test.rb +0 -10
- data/test/multiverse/test/suite_examples/three/b/Envfile +0 -2
- data/test/multiverse/test/suite_examples/three/b/win_test.rb +0 -10
- data/test/multiverse/test/suite_examples/two/a/Envfile +0 -1
- data/test/multiverse/test/suite_examples/two/a/fail_test.rb +0 -10
- data/test/new_relic/FAKECHANGELOG +0 -21
- data/test/new_relic/agent/agent/connect_test.rb +0 -308
- data/test/new_relic/agent/agent/start_test.rb +0 -191
- data/test/new_relic/agent/agent/start_worker_thread_test.rb +0 -74
- data/test/new_relic/agent/agent_logger_test.rb +0 -392
- data/test/new_relic/agent/agent_test.rb +0 -701
- data/test/new_relic/agent/agent_test_controller.rb +0 -84
- data/test/new_relic/agent/apdex_from_server_test.rb +0 -13
- data/test/new_relic/agent/attribute_filter_test.rb +0 -218
- data/test/new_relic/agent/attribute_processing_test.rb +0 -160
- data/test/new_relic/agent/audit_logger_test.rb +0 -213
- data/test/new_relic/agent/autostart_test.rb +0 -110
- data/test/new_relic/agent/busy_calculator_test.rb +0 -98
- data/test/new_relic/agent/commands/agent_command_router_test.rb +0 -256
- data/test/new_relic/agent/commands/agent_command_test.rb +0 -37
- data/test/new_relic/agent/commands/thread_profiler_session_test.rb +0 -215
- data/test/new_relic/agent/commands/xray_session_collection_test.rb +0 -332
- data/test/new_relic/agent/commands/xray_session_test.rb +0 -42
- data/test/new_relic/agent/configuration/default_source_test.rb +0 -226
- data/test/new_relic/agent/configuration/dotted_hash_test.rb +0 -53
- data/test/new_relic/agent/configuration/environment_source_test.rb +0 -201
- data/test/new_relic/agent/configuration/high_security_source_test.rb +0 -83
- data/test/new_relic/agent/configuration/manager_test.rb +0 -460
- data/test/new_relic/agent/configuration/manual_source_test.rb +0 -18
- data/test/new_relic/agent/configuration/orphan_configuration_test.rb +0 -89
- data/test/new_relic/agent/configuration/server_source_test.rb +0 -202
- data/test/new_relic/agent/configuration/yaml_source_test.rb +0 -93
- data/test/new_relic/agent/cross_app_monitor_test.rb +0 -248
- data/test/new_relic/agent/cross_app_tracing_test.rb +0 -71
- data/test/new_relic/agent/custom_event_aggregator_test.rb +0 -88
- data/test/new_relic/agent/database/postgres_explain_obfuscator_test.rb +0 -34
- data/test/new_relic/agent/database/sql_obfuscation_test.rb +0 -59
- data/test/new_relic/agent/database_test.rb +0 -400
- data/test/new_relic/agent/datastores/metric_helper_test.rb +0 -97
- data/test/new_relic/agent/datastores/mongo/metric_translator_test.rb +0 -320
- data/test/new_relic/agent/datastores/mongo/obfuscator_test.rb +0 -91
- data/test/new_relic/agent/datastores/mongo/statement_formatter_test.rb +0 -72
- data/test/new_relic/agent/datastores_test.rb +0 -195
- data/test/new_relic/agent/deprecator_test.rb +0 -52
- data/test/new_relic/agent/encoding_normalizer_test.rb +0 -66
- data/test/new_relic/agent/error_collector_test.rb +0 -595
- data/test/new_relic/agent/event_buffer_test_cases.rb +0 -152
- data/test/new_relic/agent/event_listener_test.rb +0 -70
- data/test/new_relic/agent/event_loop_test.rb +0 -202
- data/test/new_relic/agent/harvester_test.rb +0 -79
- data/test/new_relic/agent/hash_extensions_test.rb +0 -34
- data/test/new_relic/agent/hostname_test.rb +0 -93
- data/test/new_relic/agent/http_clients/uri_util_test.rb +0 -64
- data/test/new_relic/agent/inbound_request_monitor_test.rb +0 -49
- data/test/new_relic/agent/instrumentation/action_controller_subscriber_test.rb +0 -299
- data/test/new_relic/agent/instrumentation/action_view_subscriber_test.rb +0 -239
- data/test/new_relic/agent/instrumentation/active_job_test.rb +0 -20
- data/test/new_relic/agent/instrumentation/active_record_helper_test.rb +0 -77
- data/test/new_relic/agent/instrumentation/active_record_subscriber_test.rb +0 -132
- data/test/new_relic/agent/instrumentation/controller_instrumentation_test.rb +0 -325
- data/test/new_relic/agent/instrumentation/instrumentation_test.rb +0 -14
- data/test/new_relic/agent/instrumentation/metric_frame_test.rb +0 -22
- data/test/new_relic/agent/instrumentation/middleware_proxy_test.rb +0 -257
- data/test/new_relic/agent/instrumentation/middleware_tracing_test.rb +0 -49
- data/test/new_relic/agent/instrumentation/net_instrumentation_test.rb +0 -35
- data/test/new_relic/agent/instrumentation/queue_time_test.rb +0 -103
- data/test/new_relic/agent/instrumentation/rack_test.rb +0 -47
- data/test/new_relic/agent/instrumentation/sequel_helper_test.rb +0 -36
- data/test/new_relic/agent/instrumentation/sinatra/transaction_namer_test.rb +0 -55
- data/test/new_relic/agent/instrumentation/sinatra_test.rb +0 -80
- data/test/new_relic/agent/instrumentation/task_instrumentation_test.rb +0 -196
- data/test/new_relic/agent/javascript_instrumentor_test.rb +0 -340
- data/test/new_relic/agent/memory_logger_test.rb +0 -67
- data/test/new_relic/agent/method_interrobang_test.rb +0 -31
- data/test/new_relic/agent/method_tracer/class_methods/add_method_tracer_test.rb +0 -122
- data/test/new_relic/agent/method_tracer/instance_methods/trace_execution_scoped_test.rb +0 -224
- data/test/new_relic/agent/method_tracer_test.rb +0 -474
- data/test/new_relic/agent/method_visibility_test.rb +0 -90
- data/test/new_relic/agent/mock_scope_listener.rb +0 -27
- data/test/new_relic/agent/new_relic_service_test.rb +0 -1063
- data/test/new_relic/agent/obfuscator_test.rb +0 -77
- data/test/new_relic/agent/parameter_filtering_test.rb +0 -39
- data/test/new_relic/agent/pipe_channel_manager_test.rb +0 -278
- data/test/new_relic/agent/pipe_service_test.rb +0 -145
- data/test/new_relic/agent/rpm_agent_test.rb +0 -104
- data/test/new_relic/agent/rules_engine_test.rb +0 -136
- data/test/new_relic/agent/sampled_buffer_test.rb +0 -106
- data/test/new_relic/agent/sampler_collection_test.rb +0 -90
- data/test/new_relic/agent/sampler_test.rb +0 -66
- data/test/new_relic/agent/samplers/cpu_sampler_test.rb +0 -51
- data/test/new_relic/agent/samplers/vm_sampler_test.rb +0 -349
- data/test/new_relic/agent/shim_agent_test.rb +0 -20
- data/test/new_relic/agent/sized_buffer_test.rb +0 -29
- data/test/new_relic/agent/sql_sampler_test.rb +0 -403
- data/test/new_relic/agent/stats_engine/gc_profiler_test.rb +0 -188
- data/test/new_relic/agent/stats_engine/metric_stats_test.rb +0 -347
- data/test/new_relic/agent/stats_engine/samplers_test.rb +0 -98
- data/test/new_relic/agent/stats_engine/stats_hash_test.rb +0 -198
- data/test/new_relic/agent/stats_engine_test.rb +0 -32
- data/test/new_relic/agent/stats_test.rb +0 -189
- data/test/new_relic/agent/synthetics_event_buffer_test.rb +0 -54
- data/test/new_relic/agent/synthetics_monitor_test.rb +0 -93
- data/test/new_relic/agent/system_info_test.rb +0 -61
- data/test/new_relic/agent/threading/agent_thread_test.rb +0 -149
- data/test/new_relic/agent/threading/backtrace_node_test.rb +0 -184
- data/test/new_relic/agent/threading/backtrace_service_test.rb +0 -595
- data/test/new_relic/agent/threading/fake_thread.rb +0 -43
- data/test/new_relic/agent/threading/thread_profile_test.rb +0 -272
- data/test/new_relic/agent/threading/threaded_test_case.rb +0 -18
- data/test/new_relic/agent/traced_method_stack_test.rb +0 -187
- data/test/new_relic/agent/transaction/attributes_test.rb +0 -276
- data/test/new_relic/agent/transaction/developer_mode_sample_buffer_test.rb +0 -75
- data/test/new_relic/agent/transaction/slowest_sample_buffer_test.rb +0 -67
- data/test/new_relic/agent/transaction/synthetics_sample_buffer_test.rb +0 -38
- data/test/new_relic/agent/transaction/trace_node_test.rb +0 -361
- data/test/new_relic/agent/transaction/trace_test.rb +0 -394
- data/test/new_relic/agent/transaction/xray_sample_buffer_test.rb +0 -71
- data/test/new_relic/agent/transaction_event_aggregator_test.rb +0 -433
- data/test/new_relic/agent/transaction_interrobang_test.rb +0 -33
- data/test/new_relic/agent/transaction_metrics_test.rb +0 -113
- data/test/new_relic/agent/transaction_sample_builder_test.rb +0 -215
- data/test/new_relic/agent/transaction_sampler_test.rb +0 -849
- data/test/new_relic/agent/transaction_state_test.rb +0 -122
- data/test/new_relic/agent/transaction_test.rb +0 -1435
- data/test/new_relic/agent/transaction_timings_test.rb +0 -91
- data/test/new_relic/agent/utilization_data_test.rb +0 -18
- data/test/new_relic/agent/vm/monotonic_gc_profiler_test.rb +0 -42
- data/test/new_relic/agent/vm/mri_vm_test.rb +0 -42
- data/test/new_relic/agent/vm/rubinius_vm_test.rb +0 -69
- data/test/new_relic/agent/vm/snapshot_test.rb +0 -13
- data/test/new_relic/agent/vm_test.rb +0 -48
- data/test/new_relic/agent/worker_loop_test.rb +0 -98
- data/test/new_relic/agent_test.rb +0 -471
- data/test/new_relic/cli/commands/deployments_test.rb +0 -121
- data/test/new_relic/cli/commands/install_test.rb +0 -27
- data/test/new_relic/coerce_test.rb +0 -95
- data/test/new_relic/collection_helper_test.rb +0 -151
- data/test/new_relic/control/class_methods_test.rb +0 -48
- data/test/new_relic/control/frameworks/rails_test.rb +0 -29
- data/test/new_relic/control/instance_methods_test.rb +0 -50
- data/test/new_relic/control/instrumentation_test.rb +0 -56
- data/test/new_relic/control_test.rb +0 -232
- data/test/new_relic/data_container_tests.rb +0 -76
- data/test/new_relic/dependency_detection_test.rb +0 -155
- data/test/new_relic/dispatcher_test.rb +0 -59
- data/test/new_relic/environment_report_test.rb +0 -107
- data/test/new_relic/evil_server.rb +0 -55
- data/test/new_relic/fake_collector.rb +0 -398
- data/test/new_relic/fake_external_server.rb +0 -65
- data/test/new_relic/fake_instance_metadata_service.rb +0 -45
- data/test/new_relic/fake_rpm_site.rb +0 -35
- data/test/new_relic/fake_server.rb +0 -104
- data/test/new_relic/filtering_test_app.rb +0 -19
- data/test/new_relic/framework_test.rb +0 -58
- data/test/new_relic/http_client_test_cases.rb +0 -621
- data/test/new_relic/json_wrapper_test.rb +0 -32
- data/test/new_relic/language_support_test.rb +0 -74
- data/test/new_relic/latest_changes_test.rb +0 -45
- data/test/new_relic/license_test.rb +0 -126
- data/test/new_relic/load_test.rb +0 -15
- data/test/new_relic/local_environment_test.rb +0 -103
- data/test/new_relic/marshalling_test_cases.rb +0 -140
- data/test/new_relic/metric_data_test.rb +0 -191
- data/test/new_relic/metric_parser/metric_parser_test.rb +0 -17
- data/test/new_relic/metric_spec_test.rb +0 -145
- data/test/new_relic/multiverse_helpers.rb +0 -271
- data/test/new_relic/noticed_error_test.rb +0 -197
- data/test/new_relic/rack/agent_hooks_test.rb +0 -44
- data/test/new_relic/rack/agent_middleware_test.rb +0 -32
- data/test/new_relic/rack/browser_monitoring_test.rb +0 -197
- data/test/new_relic/rack/deferred_instrumentation_test.rb +0 -33
- data/test/new_relic/rack/developer_mode/segment_summary_test.rb +0 -96
- data/test/new_relic/rack/developer_mode_helper_test.rb +0 -136
- data/test/new_relic/rack/developer_mode_test.rb +0 -93
- data/test/new_relic/rack/error_collector_test.rb +0 -77
- data/test/new_relic/transaction_ignoring_test_cases.rb +0 -102
- data/test/new_relic/version_number_test.rb +0 -101
- data/test/performance/README.md +0 -182
- data/test/performance/lib/performance/baseline.rb +0 -36
- data/test/performance/lib/performance/baseline_compare_reporter.rb +0 -103
- data/test/performance/lib/performance/baseline_save_reporter.rb +0 -24
- data/test/performance/lib/performance/console_reporter.rb +0 -66
- data/test/performance/lib/performance/formatting_helpers.rb +0 -22
- data/test/performance/lib/performance/hako_client.rb +0 -31
- data/test/performance/lib/performance/hako_reporter.rb +0 -26
- data/test/performance/lib/performance/instrumentation/cpu_usage.rb +0 -26
- data/test/performance/lib/performance/instrumentation/gc_stats.rb +0 -58
- data/test/performance/lib/performance/instrumentation/perf_tools.rb +0 -30
- data/test/performance/lib/performance/instrumentation/stackprof.rb +0 -46
- data/test/performance/lib/performance/instrumentor.rb +0 -96
- data/test/performance/lib/performance/json_reporter.rb +0 -15
- data/test/performance/lib/performance/platform.rb +0 -37
- data/test/performance/lib/performance/reporting.rb +0 -36
- data/test/performance/lib/performance/result.rb +0 -104
- data/test/performance/lib/performance/runner.rb +0 -221
- data/test/performance/lib/performance/table.rb +0 -105
- data/test/performance/lib/performance/test_case.rb +0 -152
- data/test/performance/lib/performance/timer.rb +0 -40
- data/test/performance/lib/performance.rb +0 -38
- data/test/performance/script/baselines +0 -102
- data/test/performance/script/mega-runner +0 -37
- data/test/performance/script/runner +0 -133
- data/test/performance/suites/active_record.rb +0 -47
- data/test/performance/suites/agent_attributes.rb +0 -62
- data/test/performance/suites/config.rb +0 -35
- data/test/performance/suites/marshalling.rb +0 -156
- data/test/performance/suites/queue_time.rb +0 -21
- data/test/performance/suites/rack_middleware.rb +0 -136
- data/test/performance/suites/rum_autoinsertion.rb +0 -75
- data/test/performance/suites/sql_obfuscation.rb +0 -30
- data/test/performance/suites/startup.rb +0 -12
- data/test/performance/suites/stats_hash.rb +0 -30
- data/test/performance/suites/thread_profiling.rb +0 -116
- data/test/performance/suites/trace_execution_scoped.rb +0 -32
- data/test/performance/suites/transaction_tracing.rb +0 -106
- data/test/script/build_test_gem.sh +0 -57
- data/test/script/ci.sh +0 -170
- data/test/script/ci_agent-tests_runner.sh +0 -82
- data/test/script/ci_bench.sh +0 -52
- data/test/script/ci_multiverse_runner.sh +0 -63
- data/test/script/path_hash.rb +0 -49
- data/test/test_helper.rb +0 -267
- data/ui/helpers/developer_mode_helper.rb +0 -324
- data/ui/helpers/google_pie_chart.rb +0 -53
- data/ui/views/layouts/newrelic_default.rhtml +0 -48
- data/ui/views/newrelic/_explain_plans.rhtml +0 -27
- data/ui/views/newrelic/_sample.rhtml +0 -20
- data/ui/views/newrelic/_segment.rhtml +0 -28
- data/ui/views/newrelic/_segment_limit_message.rhtml +0 -1
- data/ui/views/newrelic/_segment_row.rhtml +0 -12
- data/ui/views/newrelic/_show_sample_detail.rhtml +0 -24
- data/ui/views/newrelic/_show_sample_sql.rhtml +0 -24
- data/ui/views/newrelic/_show_sample_summary.rhtml +0 -3
- data/ui/views/newrelic/_sql_row.rhtml +0 -16
- data/ui/views/newrelic/_stack_trace.rhtml +0 -15
- data/ui/views/newrelic/_table.rhtml +0 -12
- data/ui/views/newrelic/explain_sql.rhtml +0 -43
- data/ui/views/newrelic/file/images/arrow-close.png +0 -0
- data/ui/views/newrelic/file/images/arrow-open.png +0 -0
- data/ui/views/newrelic/file/images/blue_bar.gif +0 -0
- data/ui/views/newrelic/file/images/file_icon.png +0 -0
- data/ui/views/newrelic/file/images/gray_bar.gif +0 -0
- data/ui/views/newrelic/file/images/new-relic-rpm-desktop.gif +0 -0
- data/ui/views/newrelic/file/images/new_relic_rpm_desktop.gif +0 -0
- data/ui/views/newrelic/file/images/textmate.png +0 -0
- data/ui/views/newrelic/file/javascript/jquery-1.4.2.js +0 -6243
- data/ui/views/newrelic/file/javascript/transaction_sample.js +0 -123
- data/ui/views/newrelic/file/stylesheets/style.css +0 -490
- data/ui/views/newrelic/index.rhtml +0 -70
- data/ui/views/newrelic/sample_not_found.rhtml +0 -2
- data/ui/views/newrelic/show_sample.rhtml +0 -81
- data/ui/views/newrelic/threads.rhtml +0 -45
- data/vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection/version.rb +0 -7
- data/vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection.rb +0 -122
- data/vendor/gems/metric_parser-0.1.0.pre1/.specification +0 -116
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/metric_parser.rb +0 -5
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/action_mailer.rb +0 -18
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_merchant.rb +0 -35
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_record.rb +0 -37
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/apdex.rb +0 -93
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/background_transaction.rb +0 -11
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/client.rb +0 -50
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller.rb +0 -71
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_cpu.rb +0 -47
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_ext.rb +0 -21
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database.rb +0 -52
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database_pool.rb +0 -28
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net.rb +0 -32
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net_parser.rb +0 -21
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/errors.rb +0 -15
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/external.rb +0 -59
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/frontend.rb +0 -44
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/gc.rb +0 -24
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/hibernate_session.rb +0 -11
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java.rb +0 -35
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java_parser.rb +0 -21
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp.rb +0 -38
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp_tag.rb +0 -11
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/mem_cache.rb +0 -59
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/metric_parser.rb +0 -138
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/middleware.rb +0 -34
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/nested.rb +0 -24
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/orm.rb +0 -31
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/other_transaction.rb +0 -44
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet.rb +0 -11
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_context_listener.rb +0 -11
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_filter.rb +0 -11
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_init.rb +0 -11
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr.rb +0 -31
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr_request_handler.rb +0 -19
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring.rb +0 -58
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_controller.rb +0 -10
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_view.rb +0 -10
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_action.rb +0 -24
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_result.rb +0 -24
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/version.rb +0 -9
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb +0 -74
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_frontend.rb +0 -22
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_service.rb +0 -18
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_transaction.rb +0 -137
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser.rb +0 -70
@@ -1,21 +1,38 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
# This file is distributed under New Relic's license terms.
|
3
|
-
# See https://github.com/newrelic/
|
2
|
+
# See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
|
3
|
+
# frozen_string_literal: true
|
4
4
|
|
5
5
|
require 'forwardable'
|
6
|
+
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
|
-
|
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
|
+
|
31
|
+
class Boolean
|
32
|
+
def self.===(o)
|
33
|
+
TrueClass === o or FalseClass === o
|
34
|
+
end
|
35
|
+
end
|
19
36
|
|
20
37
|
class DefaultSource
|
21
38
|
attr_reader :defaults
|
@@ -35,32 +52,55 @@ module NewRelic
|
|
35
52
|
result
|
36
53
|
end
|
37
54
|
|
55
|
+
def self.default_settings(key)
|
56
|
+
::NewRelic::Agent::Configuration::DEFAULTS[key]
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.value_from_defaults(key, subkey)
|
60
|
+
default_settings(key)&.send(:[], subkey)
|
61
|
+
end
|
62
|
+
|
63
|
+
def self.allowlist_for(key)
|
64
|
+
value_from_defaults(key, :allowlist)
|
65
|
+
end
|
66
|
+
|
67
|
+
def self.default_for(key)
|
68
|
+
value_from_defaults(key, :default)
|
69
|
+
end
|
70
|
+
|
38
71
|
def self.transform_for(key)
|
39
|
-
|
40
|
-
default_settings[:transform] if default_settings
|
72
|
+
value_from_defaults(key, :transform)
|
41
73
|
end
|
42
74
|
|
43
|
-
def self.config_search_paths
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
75
|
+
def self.config_search_paths # rubocop:disable Metrics/AbcSize
|
76
|
+
proc {
|
77
|
+
yaml = 'newrelic.yml'
|
78
|
+
config_yaml = File.join('config', yaml)
|
79
|
+
erb = 'newrelic.yml.erb'
|
80
|
+
config_erb = File.join('config', erb)
|
81
|
+
|
82
|
+
paths = [config_yaml, yaml, config_erb, erb]
|
49
83
|
|
50
84
|
if NewRelic::Control.instance.root
|
51
|
-
paths << File.join(NewRelic::Control.instance.root,
|
52
|
-
paths << File.join(NewRelic::Control.instance.root,
|
85
|
+
paths << File.join(NewRelic::Control.instance.root, config_yaml)
|
86
|
+
paths << File.join(NewRelic::Control.instance.root, yaml)
|
87
|
+
paths << File.join(NewRelic::Control.instance.root, config_erb)
|
88
|
+
paths << File.join(NewRelic::Control.instance.root, erb)
|
53
89
|
end
|
54
90
|
|
55
|
-
if ENV[
|
56
|
-
paths << File.join(ENV[
|
57
|
-
paths << File.join(ENV[
|
91
|
+
if ENV['HOME']
|
92
|
+
paths << File.join(ENV['HOME'], '.newrelic', yaml)
|
93
|
+
paths << File.join(ENV['HOME'], yaml)
|
94
|
+
paths << File.join(ENV['HOME'], '.newrelic', erb)
|
95
|
+
paths << File.join(ENV['HOME'], erb)
|
58
96
|
end
|
59
97
|
|
60
98
|
# If we're packaged for warbler, we can tell from GEM_HOME
|
61
|
-
|
62
|
-
|
63
|
-
|
99
|
+
# the following line needs else branch coverage
|
100
|
+
if ENV['GEM_HOME'] && ENV['GEM_HOME'].end_with?('.jar!') # rubocop:disable Style/SafeNavigation
|
101
|
+
app_name = File.basename(ENV['GEM_HOME'], '.jar!')
|
102
|
+
paths << File.join(ENV['GEM_HOME'], app_name, config_yaml)
|
103
|
+
paths << File.join(ENV['GEM_HOME'], app_name, config_erb)
|
64
104
|
end
|
65
105
|
|
66
106
|
paths
|
@@ -68,31 +108,30 @@ module NewRelic
|
|
68
108
|
end
|
69
109
|
|
70
110
|
def self.config_path
|
71
|
-
|
111
|
+
proc {
|
72
112
|
found_path = NewRelic::Agent.config[:config_search_paths].detect do |file|
|
73
|
-
File.expand_path(file) if File.
|
113
|
+
File.expand_path(file) if File.exist?(file)
|
74
114
|
end
|
75
|
-
found_path ||
|
115
|
+
found_path || NewRelic::EMPTY_STR
|
76
116
|
}
|
77
117
|
end
|
78
118
|
|
79
119
|
def self.framework
|
80
|
-
|
120
|
+
proc {
|
81
121
|
case
|
82
122
|
when defined?(::NewRelic::TEST) then :test
|
83
|
-
when defined?(::Merb) && defined?(::Merb::Plugins) then :merb
|
84
123
|
when defined?(::Rails::VERSION)
|
85
124
|
case Rails::VERSION::MAJOR
|
86
|
-
when 0..2
|
87
|
-
:rails
|
88
125
|
when 3
|
89
126
|
:rails3
|
90
|
-
when 4
|
91
|
-
:
|
127
|
+
when 4..7
|
128
|
+
:rails_notifications
|
92
129
|
else
|
93
|
-
::NewRelic::Agent.logger.
|
130
|
+
::NewRelic::Agent.logger.warn("Detected untested Rails version #{Rails::VERSION::STRING}")
|
131
|
+
:rails_notifications
|
94
132
|
end
|
95
133
|
when defined?(::Sinatra) && defined?(::Sinatra::Base) then :sinatra
|
134
|
+
when defined?(::Roda) then :roda
|
96
135
|
when defined?(::NewRelic::IA) then :external
|
97
136
|
else :ruby
|
98
137
|
end
|
@@ -100,59 +139,43 @@ module NewRelic
|
|
100
139
|
end
|
101
140
|
|
102
141
|
def self.agent_enabled
|
103
|
-
|
142
|
+
proc {
|
104
143
|
NewRelic::Agent.config[:enabled] &&
|
105
|
-
|
106
|
-
|
144
|
+
(NewRelic::Agent.config[:test_mode] || NewRelic::Agent.config[:monitor_mode]) &&
|
145
|
+
NewRelic::Agent::Autostart.agent_should_start?
|
107
146
|
}
|
108
147
|
end
|
109
148
|
|
149
|
+
DEFAULT_LOG_DIR = 'log/'.freeze
|
150
|
+
|
110
151
|
def self.audit_log_path
|
111
|
-
|
112
|
-
|
152
|
+
proc {
|
153
|
+
log_file_path = NewRelic::Agent.config[:log_file_path]
|
154
|
+
wants_stdout = (log_file_path.casecmp(NewRelic::STANDARD_OUT) == 0)
|
155
|
+
audit_log_dir = wants_stdout ? DEFAULT_LOG_DIR : log_file_path
|
156
|
+
|
157
|
+
File.join(audit_log_dir, 'newrelic_audit.log')
|
113
158
|
}
|
114
159
|
end
|
115
160
|
|
116
161
|
def self.app_name
|
117
|
-
|
162
|
+
proc { NewRelic::Control.instance.env }
|
118
163
|
end
|
119
164
|
|
120
165
|
def self.dispatcher
|
121
|
-
|
122
|
-
end
|
123
|
-
|
124
|
-
def self.marshaller
|
125
|
-
Proc.new { NewRelic::Agent::NewRelicService::JsonMarshaller.is_supported? ? 'json' : 'pruby' }
|
126
|
-
end
|
127
|
-
|
128
|
-
# On Rubies with string encodings support (1.9.x+), default to always
|
129
|
-
# normalize encodings since it's safest and fast. Without that support
|
130
|
-
# the conversions are too expensive, so only enable if overridden to.
|
131
|
-
def self.normalize_json_string_encodings
|
132
|
-
Proc.new { NewRelic::LanguageSupport.supports_string_encodings? }
|
166
|
+
proc { NewRelic::Control.instance.local_env.discovered_dispatcher }
|
133
167
|
end
|
134
168
|
|
135
169
|
def self.thread_profiler_enabled
|
136
|
-
|
137
|
-
end
|
138
|
-
|
139
|
-
# This check supports the js_errors_beta key we've asked clients to
|
140
|
-
# set. Once JS errors are GA, browser_monitoring.loader can stop
|
141
|
-
# being dynamic.
|
142
|
-
def self.browser_monitoring_loader
|
143
|
-
Proc.new { NewRelic::Agent.config[:js_errors_beta] ? "full" : "rum"}
|
170
|
+
proc { NewRelic::Agent::Threading::BacktraceService.is_supported? }
|
144
171
|
end
|
145
172
|
|
146
173
|
def self.transaction_tracer_transaction_threshold
|
147
|
-
|
148
|
-
end
|
149
|
-
|
150
|
-
def self.port
|
151
|
-
Proc.new { NewRelic::Agent.config[:ssl] ? 443 : 80 }
|
174
|
+
proc { NewRelic::Agent.config[:apdex_t] * 4 }
|
152
175
|
end
|
153
176
|
|
154
177
|
def self.profiling_available
|
155
|
-
|
178
|
+
proc {
|
156
179
|
begin
|
157
180
|
require 'ruby-prof'
|
158
181
|
true
|
@@ -162,6 +185,31 @@ module NewRelic
|
|
162
185
|
}
|
163
186
|
end
|
164
187
|
|
188
|
+
def self.host
|
189
|
+
proc do
|
190
|
+
regex = /\A(?<identifier>.+?)x/
|
191
|
+
if matches = regex.match(String(NewRelic::Agent.config[:license_key]))
|
192
|
+
"collector.#{matches['identifier']}.nr-data.net"
|
193
|
+
else
|
194
|
+
'collector.newrelic.com'
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
def self.api_host
|
200
|
+
# only used for deployment task
|
201
|
+
proc do
|
202
|
+
api_version = if NewRelic::Agent.config[:api_key].nil? || NewRelic::Agent.config[:api_key].empty?
|
203
|
+
'rpm'
|
204
|
+
else
|
205
|
+
'api'
|
206
|
+
end
|
207
|
+
api_region = 'eu.' if String(NewRelic::Agent.config[:license_key]).start_with?('eu')
|
208
|
+
|
209
|
+
"#{api_version}.#{api_region}newrelic.com"
|
210
|
+
end
|
211
|
+
end
|
212
|
+
|
165
213
|
def self.convert_to_regexp_list(raw_value)
|
166
214
|
value_list = convert_to_list(raw_value)
|
167
215
|
value_list.map do |value|
|
@@ -172,16 +220,63 @@ module NewRelic
|
|
172
220
|
def self.convert_to_list(value)
|
173
221
|
case value
|
174
222
|
when String
|
175
|
-
value.split(
|
223
|
+
value.split(/\s*,\s*/)
|
176
224
|
when Array
|
177
225
|
value
|
178
226
|
else
|
179
227
|
raise ArgumentError.new("Config value '#{value}' couldn't be turned into a list.")
|
180
228
|
end
|
181
229
|
end
|
230
|
+
|
231
|
+
def self.convert_to_hash(value)
|
232
|
+
return value if value.is_a?(Hash)
|
233
|
+
|
234
|
+
if value.is_a?(String)
|
235
|
+
return value.split(',').each_with_object({}) do |item, hash|
|
236
|
+
key, value = item.split('=')
|
237
|
+
hash[key] = value
|
238
|
+
end
|
239
|
+
end
|
240
|
+
|
241
|
+
raise ArgumentError.new(
|
242
|
+
"Config value '#{value}' of " \
|
243
|
+
"class #{value.class} couldn't be turned into a Hash."
|
244
|
+
)
|
245
|
+
end
|
246
|
+
|
247
|
+
SEMICOLON = ';'.freeze
|
248
|
+
def self.convert_to_list_on_semicolon(value)
|
249
|
+
case value
|
250
|
+
when Array then value
|
251
|
+
when String then value.split(SEMICOLON)
|
252
|
+
else NewRelic::EMPTY_ARRAY
|
253
|
+
end
|
254
|
+
end
|
255
|
+
|
256
|
+
def self.convert_to_constant_list(raw_value)
|
257
|
+
return NewRelic::EMPTY_ARRAY if raw_value.nil? || raw_value.empty?
|
258
|
+
|
259
|
+
constants = convert_to_list(raw_value).map! do |class_name|
|
260
|
+
const = ::NewRelic::LanguageSupport.constantize(class_name)
|
261
|
+
NewRelic::Agent.logger.warn("Ignoring invalid constant '#{class_name}' in #{raw_value}") unless const
|
262
|
+
const
|
263
|
+
end
|
264
|
+
constants.compact!
|
265
|
+
constants
|
266
|
+
end
|
267
|
+
|
268
|
+
def self.enforce_fallback(allowed_values: nil, fallback: nil)
|
269
|
+
proc do |configured_value|
|
270
|
+
if allowed_values.any? { |v| v =~ /#{configured_value}/i }
|
271
|
+
configured_value
|
272
|
+
else
|
273
|
+
fallback
|
274
|
+
end
|
275
|
+
end
|
276
|
+
end
|
182
277
|
end
|
183
278
|
|
184
|
-
|
279
|
+
AUTOSTART_DENYLISTED_RAKE_TASKS = [
|
185
280
|
'about',
|
186
281
|
'assets:clean',
|
187
282
|
'assets:clobber',
|
@@ -229,1206 +324,2191 @@ module NewRelic
|
|
229
324
|
'test:uncommitted',
|
230
325
|
'time:zones:all',
|
231
326
|
'tmp:clear',
|
232
|
-
'tmp:create'
|
327
|
+
'tmp:create',
|
328
|
+
'webpacker:compile'
|
233
329
|
].join(',').freeze
|
234
330
|
|
331
|
+
# rubocop:disable Metrics/CollectionLiteralLength
|
235
332
|
DEFAULTS = {
|
236
|
-
|
237
|
-
:default => '',
|
238
|
-
:public => true,
|
239
|
-
:type => String,
|
240
|
-
:allowed_from_server => false,
|
241
|
-
:description => 'Your New Relic <a href="/docs/accounts-partnerships/accounts/account-setup/license-key">license key</a>.'
|
242
|
-
},
|
333
|
+
# Critical
|
243
334
|
:agent_enabled => {
|
244
335
|
:default => DefaultSource.agent_enabled,
|
336
|
+
:documentation_default => true,
|
245
337
|
:public => true,
|
246
338
|
:type => Boolean,
|
247
339
|
:allowed_from_server => false,
|
248
|
-
:description => '
|
249
|
-
},
|
250
|
-
:enabled => {
|
251
|
-
:default => true,
|
252
|
-
:public => false,
|
253
|
-
:type => Boolean,
|
254
|
-
:aliases => [:enable],
|
255
|
-
:allowed_from_server => false,
|
256
|
-
:description => 'Enable or disable the agent.'
|
340
|
+
:description => 'If `true`, allows the Ruby agent to run.'
|
257
341
|
},
|
258
342
|
:app_name => {
|
259
343
|
:default => DefaultSource.app_name,
|
260
344
|
:public => true,
|
261
345
|
:type => String,
|
262
346
|
:allowed_from_server => false,
|
263
|
-
:
|
264
|
-
|
265
|
-
:monitor_mode => {
|
266
|
-
:default => value_of(:enabled),
|
267
|
-
:public => true,
|
268
|
-
:type => Boolean,
|
269
|
-
:allowed_from_server => false,
|
270
|
-
:description => 'Enable or disable the transmission of data to the New Relic <a href="/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a>).'
|
347
|
+
:transform => DefaultSource.method(:convert_to_list_on_semicolon),
|
348
|
+
: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`.'
|
271
349
|
},
|
272
|
-
:
|
273
|
-
:default =>
|
350
|
+
:license_key => {
|
351
|
+
:default => '',
|
274
352
|
:public => true,
|
275
|
-
:type =>
|
276
|
-
:allowed_from_server => false,
|
277
|
-
:description => 'Enable or disable developer mode, a local analytics package built into the agent for rack applications. Access developer mode analytics by visiting <b>/newrelic</b> in your application.'
|
278
|
-
},
|
279
|
-
:developer => {
|
280
|
-
:default => false,
|
281
|
-
:public => false,
|
282
|
-
:type => Boolean,
|
353
|
+
:type => String,
|
283
354
|
:allowed_from_server => false,
|
284
|
-
:
|
355
|
+
:exclude_from_reported_settings => true,
|
356
|
+
:description => 'Your New Relic <InlinePopover type="licenseKey" />.'
|
285
357
|
},
|
286
358
|
:log_level => {
|
287
359
|
:default => 'info',
|
288
360
|
:public => true,
|
289
361
|
:type => String,
|
290
362
|
:allowed_from_server => false,
|
291
|
-
:description => '
|
363
|
+
:description => 'Sets the level of detail of log messages. Possible log levels, in increasing verbosity, are: `error`, `warn`, `info` or `debug`.'
|
292
364
|
},
|
293
|
-
|
365
|
+
# General
|
366
|
+
:active_support_custom_events_names => {
|
367
|
+
:default => [],
|
368
|
+
:public => true,
|
369
|
+
:type => Array,
|
370
|
+
:allowed_from_server => false,
|
371
|
+
:description => <<~DESCRIPTION
|
372
|
+
An array of ActiveSupport custom event names to subscribe to and instrument. For example,
|
373
|
+
- one.custom.event
|
374
|
+
- another.event
|
375
|
+
- a.third.event
|
376
|
+
DESCRIPTION
|
377
|
+
},
|
378
|
+
:'ai_monitoring.enabled' => {
|
294
379
|
:default => false,
|
295
380
|
:public => true,
|
296
381
|
:type => Boolean,
|
297
382
|
:allowed_from_server => false,
|
298
|
-
:description => '
|
383
|
+
:description => 'If `false`, all LLM instrumentation (OpenAI only for now) will be disabled and no metrics, events, or spans will be sent. AI Monitoring is automatically disabled if `high_security` mode is enabled.'
|
299
384
|
},
|
300
|
-
:
|
385
|
+
:'ai_monitoring.record_content.enabled' => {
|
301
386
|
:default => true,
|
302
|
-
:allow_nil => true,
|
303
387
|
:public => true,
|
304
388
|
:type => Boolean,
|
305
389
|
:allowed_from_server => false,
|
306
|
-
:description =>
|
390
|
+
:description => <<~DESCRIPTION
|
391
|
+
If `false`, LLM instrumentation (OpenAI only for now) will not capture input and output content on specific LLM events.
|
392
|
+
|
393
|
+
The excluded attributes include:
|
394
|
+
* `content` from LlmChatCompletionMessage events
|
395
|
+
* `input` from LlmEmbedding events
|
396
|
+
|
397
|
+
This is an optional security setting to prevent recording sensitive data sent to and received from your LLMs.
|
398
|
+
DESCRIPTION
|
307
399
|
},
|
308
|
-
|
309
|
-
|
310
|
-
:
|
400
|
+
# this is only set via server side config
|
401
|
+
:apdex_t => {
|
402
|
+
:default => 0.5,
|
403
|
+
:public => false,
|
404
|
+
:type => Float,
|
405
|
+
:allowed_from_server => true,
|
406
|
+
: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).'
|
407
|
+
},
|
408
|
+
:api_key => {
|
409
|
+
:default => '',
|
311
410
|
:public => true,
|
312
411
|
:type => String,
|
313
412
|
:allowed_from_server => false,
|
314
|
-
:description => '
|
413
|
+
:description => 'Your New Relic <InlinePopover type="userKey" />. Required when using the New Relic REST API v2 to record deployments using the `newrelic deployments` command.'
|
315
414
|
},
|
316
|
-
:
|
317
|
-
:default =>
|
318
|
-
:allow_nil => true,
|
415
|
+
:backport_fast_active_record_connection_lookup => {
|
416
|
+
:default => false,
|
319
417
|
:public => true,
|
320
|
-
:type =>
|
418
|
+
:type => Boolean,
|
321
419
|
:allowed_from_server => false,
|
322
|
-
:description => '
|
420
|
+
: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.'
|
323
421
|
},
|
324
|
-
:
|
422
|
+
:ca_bundle_path => {
|
325
423
|
:default => nil,
|
326
424
|
:allow_nil => true,
|
327
425
|
:public => true,
|
328
426
|
:type => String,
|
329
427
|
:allowed_from_server => false,
|
330
|
-
:
|
331
|
-
:description => 'Defines a user for communicating with New Relic via a proxy server.'
|
428
|
+
: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."
|
332
429
|
},
|
333
|
-
:
|
334
|
-
:default =>
|
335
|
-
:allow_nil => true,
|
430
|
+
:capture_memcache_keys => {
|
431
|
+
:default => false,
|
336
432
|
:public => true,
|
337
|
-
:type =>
|
338
|
-
:allowed_from_server =>
|
339
|
-
:
|
340
|
-
:description => 'Defines a password for communicating with New Relic via a proxy server.'
|
433
|
+
:type => Boolean,
|
434
|
+
:allowed_from_server => true,
|
435
|
+
:description => 'Enable or disable the capture of memcache keys from transaction traces.'
|
341
436
|
},
|
342
437
|
:capture_params => {
|
343
438
|
:default => false,
|
344
439
|
:public => true,
|
345
440
|
:type => Boolean,
|
346
441
|
:allowed_from_server => false,
|
347
|
-
:description =>
|
442
|
+
:description => <<~DESCRIPTION
|
443
|
+
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).
|
444
|
+
|
445
|
+
<Callout variant="caution">
|
446
|
+
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>.
|
447
|
+
</Callout>
|
448
|
+
DESCRIPTION
|
449
|
+
},
|
450
|
+
:'clear_transaction_state_after_fork' => {
|
451
|
+
:default => false,
|
452
|
+
:public => true,
|
453
|
+
:type => Boolean,
|
454
|
+
:allowed_from_server => false,
|
455
|
+
:description => 'If `true`, the agent will clear `Tracer::State` in `Agent.drop_buffered_data`.'
|
348
456
|
},
|
349
457
|
:config_path => {
|
350
458
|
:default => DefaultSource.config_path,
|
351
459
|
:public => true,
|
352
460
|
:type => String,
|
353
461
|
:allowed_from_server => false,
|
354
|
-
:description =>
|
462
|
+
:description => <<~DESC
|
463
|
+
Path to `newrelic.yml`. If undefined, the agent checks the following directories (in order):
|
464
|
+
* `config/newrelic.yml`
|
465
|
+
* `newrelic.yml`
|
466
|
+
* `$HOME/.newrelic/newrelic.yml`
|
467
|
+
* `$HOME/newrelic.yml`
|
468
|
+
DESC
|
355
469
|
},
|
356
|
-
:
|
357
|
-
:default =>
|
358
|
-
:public =>
|
359
|
-
:type =>
|
360
|
-
:allowed_from_server =>
|
361
|
-
:description =>
|
470
|
+
:'exclude_newrelic_header' => {
|
471
|
+
:default => false,
|
472
|
+
:public => true,
|
473
|
+
:type => Boolean,
|
474
|
+
:allowed_from_server => true,
|
475
|
+
:description => 'Allows newrelic distributed tracing headers to be suppressed on outbound requests.'
|
362
476
|
},
|
363
|
-
:
|
364
|
-
:default =>
|
365
|
-
:public =>
|
366
|
-
:type =>
|
477
|
+
:force_install_exit_handler => {
|
478
|
+
:default => false,
|
479
|
+
:public => true,
|
480
|
+
:type => Boolean,
|
367
481
|
:allowed_from_server => false,
|
368
|
-
:description =>
|
482
|
+
:description => <<~DESC
|
483
|
+
The exit handler that sends all cached data to the collector before shutting down is forcibly installed. \
|
484
|
+
This is true even when it detects scenarios where it generally should not be. The known use case for this \
|
485
|
+
option is when Sinatra runs as an embedded service within another framework. The agent detects the Sinatra \
|
486
|
+
app and skips the `at_exit` handler as a result. Sinatra classically runs the entire application in an \
|
487
|
+
`at_exit` block and would otherwise misbehave if the agent's `at_exit` handler was also installed in those \
|
488
|
+
circumstances. Note: `send_data_on_exit` should also be set to `true` in tandem with this setting.
|
489
|
+
DESC
|
369
490
|
},
|
370
|
-
:
|
371
|
-
:default =>
|
372
|
-
:public =>
|
373
|
-
:type =>
|
491
|
+
:high_security => {
|
492
|
+
:default => false,
|
493
|
+
:public => true,
|
494
|
+
:type => Boolean,
|
374
495
|
:allowed_from_server => false,
|
375
|
-
:description => '
|
496
|
+
: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.'
|
376
497
|
},
|
377
|
-
:
|
378
|
-
:default => '
|
498
|
+
:labels => {
|
499
|
+
:default => '',
|
379
500
|
:public => true,
|
380
501
|
:type => String,
|
381
502
|
:allowed_from_server => false,
|
382
|
-
:description => '
|
503
|
+
: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`.'
|
383
504
|
},
|
384
|
-
:
|
385
|
-
:default => '
|
505
|
+
:log_file_name => {
|
506
|
+
:default => 'newrelic_agent.log',
|
386
507
|
:public => true,
|
387
508
|
:type => String,
|
388
509
|
:allowed_from_server => false,
|
389
|
-
:description => 'Defines a
|
510
|
+
:description => 'Defines a name for the log file.'
|
390
511
|
},
|
391
|
-
:
|
392
|
-
:default =>
|
512
|
+
:log_file_path => {
|
513
|
+
:default => DefaultSource::DEFAULT_LOG_DIR,
|
393
514
|
:public => true,
|
394
515
|
:type => String,
|
395
516
|
:allowed_from_server => false,
|
396
|
-
:description => 'Defines a
|
517
|
+
:description => 'Defines a path to the agent log file, excluding the filename.'
|
397
518
|
},
|
398
|
-
:
|
399
|
-
:default =>
|
400
|
-
:public =>
|
401
|
-
:type =>
|
519
|
+
:marshaller => {
|
520
|
+
:default => 'json',
|
521
|
+
:public => true,
|
522
|
+
:type => String,
|
402
523
|
:allowed_from_server => false,
|
403
|
-
:description => '
|
524
|
+
: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.'
|
404
525
|
},
|
405
|
-
:
|
406
|
-
:default =>
|
526
|
+
:monitor_mode => {
|
527
|
+
:default => value_of(:enabled),
|
528
|
+
:documentation_default => true,
|
407
529
|
:public => true,
|
408
|
-
:type =>
|
409
|
-
:allowed_from_server =>
|
410
|
-
:
|
411
|
-
:description => 'In versions 3.5.0 and higher, <a href="/docs/apm/new-relic-apm/apdex/changing-your-apdex-settings">set your Apdex T via the New Relic UI</a>. In addition to determining your <a href="/docs/apm/new-relic-apm/apdex/apdex-measuring-user-satisfaction">Apdex score</a>, Apdex T is the threshold at which New Relic will begin alerting. By default the agent will send alerts when the Apdex score drops below 0.5, or when more than half of users are experiencing degraded application performance.'
|
530
|
+
:type => Boolean,
|
531
|
+
:allowed_from_server => false,
|
532
|
+
: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).'
|
412
533
|
},
|
413
|
-
:
|
414
|
-
:default =>
|
534
|
+
:prepend_active_record_instrumentation => {
|
535
|
+
:default => false,
|
415
536
|
:public => true,
|
416
537
|
:type => Boolean,
|
417
538
|
:allowed_from_server => false,
|
418
|
-
:description => '
|
539
|
+
:description => 'If `true`, uses `Module#prepend` rather than `alias_method` for ActiveRecord instrumentation.'
|
419
540
|
},
|
420
|
-
:
|
421
|
-
:default =>
|
541
|
+
:proxy_host => {
|
542
|
+
:default => nil,
|
543
|
+
:allow_nil => true,
|
422
544
|
:public => true,
|
423
545
|
:type => String,
|
424
546
|
:allowed_from_server => false,
|
425
|
-
:description => 'Defines a
|
547
|
+
: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.'
|
426
548
|
},
|
427
|
-
:
|
428
|
-
:default =>
|
429
|
-
:
|
549
|
+
:proxy_pass => {
|
550
|
+
:default => nil,
|
551
|
+
:allow_nil => true,
|
552
|
+
:public => true,
|
430
553
|
:type => String,
|
431
554
|
:allowed_from_server => false,
|
432
|
-
:
|
555
|
+
:exclude_from_reported_settings => true,
|
556
|
+
: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.'
|
557
|
+
},
|
558
|
+
:proxy_port => {
|
559
|
+
:default => 8080,
|
560
|
+
:allow_nil => true,
|
561
|
+
:public => true,
|
562
|
+
:type => Integer,
|
563
|
+
:allowed_from_server => false,
|
564
|
+
: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.'
|
433
565
|
},
|
434
|
-
:
|
435
|
-
:default =>
|
436
|
-
:
|
566
|
+
:proxy_user => {
|
567
|
+
:default => nil,
|
568
|
+
:allow_nil => true,
|
569
|
+
:public => true,
|
437
570
|
:type => String,
|
438
571
|
:allowed_from_server => false,
|
439
|
-
:
|
572
|
+
:exclude_from_reported_settings => true,
|
573
|
+
: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.'
|
440
574
|
},
|
441
|
-
:
|
442
|
-
:default =>
|
443
|
-
:public =>
|
444
|
-
:type =>
|
575
|
+
:security_policies_token => {
|
576
|
+
:default => '',
|
577
|
+
:public => true,
|
578
|
+
:type => String,
|
445
579
|
:allowed_from_server => false,
|
446
|
-
:description => '
|
580
|
+
:description => 'Applies Language Agent Security Policy settings.'
|
447
581
|
},
|
448
|
-
:
|
449
|
-
:default =>
|
450
|
-
:public =>
|
451
|
-
:type =>
|
582
|
+
:send_data_on_exit => {
|
583
|
+
:default => true,
|
584
|
+
:public => true,
|
585
|
+
:type => Boolean,
|
452
586
|
:allowed_from_server => false,
|
453
|
-
:description => '
|
587
|
+
: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.'
|
454
588
|
},
|
455
589
|
:sync_startup => {
|
456
590
|
:default => false,
|
457
591
|
:public => true,
|
458
592
|
:type => Boolean,
|
459
593
|
:allowed_from_server => false,
|
460
|
-
:description => '
|
594
|
+
: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.'
|
461
595
|
},
|
462
|
-
:
|
463
|
-
:default =>
|
596
|
+
:thread_local_tracer_state => {
|
597
|
+
:default => false,
|
464
598
|
:public => true,
|
465
599
|
:type => Boolean,
|
466
600
|
:allowed_from_server => false,
|
467
|
-
:description => '
|
468
|
-
},
|
469
|
-
:post_size_limit => {
|
470
|
-
:default => 2 * 1024 * 1024, # 2MB
|
471
|
-
:public => false,
|
472
|
-
:type => Fixnum,
|
473
|
-
:allowed_from_server => true,
|
474
|
-
:description => 'Maximum number of bytes to send to the New Relic data collection service.'
|
601
|
+
:description => 'If `true`, tracer state storage is thread-local, otherwise, fiber-local'
|
475
602
|
},
|
476
603
|
:timeout => {
|
477
604
|
:default => 2 * 60, # 2 minutes
|
478
605
|
:public => true,
|
479
|
-
:type =>
|
606
|
+
:type => Integer,
|
480
607
|
:allowed_from_server => false,
|
481
|
-
:description => '
|
608
|
+
:description => 'Defines the maximum number of seconds the agent should spend attempting to connect to the collector.'
|
482
609
|
},
|
483
|
-
|
610
|
+
# Transaction tracer
|
611
|
+
:'transaction_tracer.enabled' => {
|
484
612
|
:default => true,
|
485
|
-
:public =>
|
613
|
+
:public => true,
|
486
614
|
:type => Boolean,
|
487
|
-
:allowed_from_server =>
|
488
|
-
:description => '
|
615
|
+
:allowed_from_server => true,
|
616
|
+
:description => 'If `true`, enables collection of [transaction traces](/docs/apm/traces/transaction-traces/transaction-traces).'
|
489
617
|
},
|
490
|
-
:'
|
491
|
-
:default =>
|
492
|
-
:public =>
|
618
|
+
:'transaction_tracer.explain_enabled' => {
|
619
|
+
:default => true,
|
620
|
+
:public => true,
|
493
621
|
:type => Boolean,
|
494
|
-
:allowed_from_server =>
|
495
|
-
:description => '
|
622
|
+
:allowed_from_server => true,
|
623
|
+
: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.'
|
496
624
|
},
|
497
|
-
:
|
498
|
-
:default =>
|
499
|
-
:public =>
|
500
|
-
:type =>
|
625
|
+
:'transaction_tracer.explain_threshold' => {
|
626
|
+
:default => 0.5,
|
627
|
+
:public => true,
|
628
|
+
:type => Float,
|
501
629
|
:allowed_from_server => true,
|
502
|
-
:description => '
|
630
|
+
:description => 'Threshold (in seconds) above which the agent will collect explain plans. Relevant only when [`explain_enabled`](#transaction_tracer.explain_enabled) is true.'
|
503
631
|
},
|
504
|
-
:'
|
505
|
-
:default =>
|
506
|
-
:public =>
|
507
|
-
:type =>
|
508
|
-
:dynamic_name => true,
|
632
|
+
:'transaction_tracer.limit_segments' => {
|
633
|
+
:default => 4000,
|
634
|
+
:public => true,
|
635
|
+
:type => Integer,
|
509
636
|
:allowed_from_server => true,
|
510
|
-
:description => '
|
637
|
+
:description => 'Maximum number of transaction trace nodes to record in a single transaction trace.'
|
511
638
|
},
|
512
|
-
:
|
513
|
-
:default =>
|
514
|
-
:public =>
|
639
|
+
:'transaction_tracer.record_redis_arguments' => {
|
640
|
+
:default => false,
|
641
|
+
:public => true,
|
515
642
|
:type => Boolean,
|
516
|
-
:deprecated => true,
|
517
643
|
:allowed_from_server => false,
|
518
|
-
:description => '
|
644
|
+
:description => 'If `true`, the agent records Redis command arguments in transaction traces.'
|
519
645
|
},
|
520
|
-
:
|
521
|
-
:default =>
|
522
|
-
:public =>
|
646
|
+
:'transaction_tracer.record_sql' => {
|
647
|
+
:default => 'obfuscated',
|
648
|
+
:public => true,
|
649
|
+
:type => String,
|
650
|
+
:allowed_from_server => true,
|
651
|
+
:description => 'Obfuscation level for SQL queries reported in transaction trace nodes.
|
652
|
+
|
653
|
+
By default, this is set to `obfuscated`, which strips out the numeric and string literals.
|
654
|
+
|
655
|
+
- If you do not want the agent to capture query information, set this to `none`.
|
656
|
+
- If you want the agent to capture all query information in its original form, set this to `raw`.
|
657
|
+
- When you enable [high security mode](/docs/agents/manage-apm-agents/configuration/high-security-mode), this is automatically set to `obfuscated`.'
|
658
|
+
},
|
659
|
+
|
660
|
+
:'transaction_tracer.stack_trace_threshold' => {
|
661
|
+
:default => 0.5,
|
662
|
+
:public => true,
|
663
|
+
:type => Float,
|
664
|
+
:allowed_from_server => true,
|
665
|
+
:description => 'Specify a threshold in seconds. The agent includes stack traces in transaction trace nodes when the stack trace duration exceeds this threshold.'
|
666
|
+
},
|
667
|
+
:'transaction_tracer.transaction_threshold' => {
|
668
|
+
:default => DefaultSource.transaction_tracer_transaction_threshold,
|
669
|
+
:public => true,
|
670
|
+
:type => Float,
|
671
|
+
:allowed_from_server => true,
|
672
|
+
: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`.'
|
673
|
+
},
|
674
|
+
# Error collector
|
675
|
+
:'error_collector.ignore_classes' => {
|
676
|
+
:default => ['ActionController::RoutingError', 'Sinatra::NotFound'],
|
677
|
+
:public => true,
|
678
|
+
:type => Array,
|
679
|
+
:allowed_from_server => true,
|
680
|
+
:dynamic_name => true,
|
681
|
+
:description => <<~DESCRIPTION
|
682
|
+
A list of error classes that the agent should ignore.
|
683
|
+
|
684
|
+
<Callout variant="caution">
|
685
|
+
This option can't be set via environment variable.
|
686
|
+
</Callout>
|
687
|
+
DESCRIPTION
|
688
|
+
},
|
689
|
+
:'error_collector.capture_events' => {
|
690
|
+
:default => value_of(:'error_collector.enabled'),
|
691
|
+
:documentation_default => true,
|
692
|
+
:public => true,
|
523
693
|
:type => Boolean,
|
524
|
-
:allowed_from_server =>
|
525
|
-
:
|
694
|
+
:allowed_from_server => true,
|
695
|
+
:dynamic_name => true,
|
696
|
+
:description => 'If `true`, the agent collects [`TransactionError` events](/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights).'
|
526
697
|
},
|
527
|
-
:
|
698
|
+
:'error_collector.enabled' => {
|
528
699
|
:default => true,
|
529
|
-
:public =>
|
700
|
+
:public => true,
|
530
701
|
:type => Boolean,
|
531
|
-
:allowed_from_server =>
|
532
|
-
:description => '
|
702
|
+
:allowed_from_server => true,
|
703
|
+
:description => 'If `true`, the agent captures traced errors and error count metrics.'
|
533
704
|
},
|
534
|
-
:
|
535
|
-
:default =>
|
705
|
+
:'error_collector.expected_classes' => {
|
706
|
+
:default => [],
|
536
707
|
:public => true,
|
537
|
-
:type =>
|
538
|
-
:allowed_from_server =>
|
539
|
-
:
|
708
|
+
:type => Array,
|
709
|
+
:allowed_from_server => true,
|
710
|
+
:dynamic_name => true,
|
711
|
+
:description => <<~DESCRIPTION
|
712
|
+
A list of error classes that the agent should treat as expected.
|
713
|
+
|
714
|
+
<Callout variant="caution">
|
715
|
+
This option can't be set via environment variable.
|
716
|
+
</Callout>
|
717
|
+
DESCRIPTION
|
540
718
|
},
|
541
|
-
:
|
542
|
-
:default =>
|
719
|
+
:'error_collector.expected_messages' => {
|
720
|
+
:default => {},
|
721
|
+
:public => true,
|
722
|
+
:type => Hash,
|
723
|
+
:allowed_from_server => true,
|
724
|
+
:dynamic_name => true,
|
725
|
+
:description => <<~DESCRIPTION
|
726
|
+
A map of error classes to a list of messages. When an error of one of the classes specified here occurs, if its error message contains one of the strings corresponding to it here, that error will be treated as expected.
|
727
|
+
|
728
|
+
<Callout variant="caution">
|
729
|
+
This option can't be set via environment variable.
|
730
|
+
</Callout>
|
731
|
+
DESCRIPTION
|
732
|
+
},
|
733
|
+
:'error_collector.expected_status_codes' => {
|
734
|
+
:default => '',
|
543
735
|
:public => true,
|
544
736
|
:type => String,
|
545
|
-
:allowed_from_server =>
|
546
|
-
:
|
737
|
+
:allowed_from_server => true,
|
738
|
+
:dynamic_name => true,
|
739
|
+
:description => 'A comma separated list of status codes, possibly including ranges. Errors associated with these status codes, where applicable, will be treated as expected.'
|
547
740
|
},
|
548
|
-
|
549
|
-
|
741
|
+
|
742
|
+
:'error_collector.ignore_messages' => {
|
743
|
+
:default => {},
|
550
744
|
:public => true,
|
551
|
-
:type =>
|
552
|
-
:allowed_from_server =>
|
553
|
-
:
|
745
|
+
:type => Hash,
|
746
|
+
:allowed_from_server => true,
|
747
|
+
:dynamic_name => true,
|
748
|
+
:description => <<~DESCRIPTION
|
749
|
+
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.
|
750
|
+
|
751
|
+
<Callout variant="caution">
|
752
|
+
This option can't be set via environment variable.
|
753
|
+
</Callout>
|
754
|
+
DESCRIPTION
|
554
755
|
},
|
555
|
-
:'
|
556
|
-
:default =>
|
756
|
+
:'error_collector.ignore_status_codes' => {
|
757
|
+
:default => '',
|
557
758
|
:public => true,
|
558
759
|
:type => String,
|
559
|
-
:allowed_from_server =>
|
560
|
-
:
|
760
|
+
:allowed_from_server => true,
|
761
|
+
:dynamic_name => true,
|
762
|
+
:description => 'A comma separated list of status codes, possibly including ranges. Errors associated with these status codes, where applicable, will be ignored.'
|
561
763
|
},
|
562
|
-
:'
|
563
|
-
:default =>
|
764
|
+
:'error_collector.max_backtrace_frames' => {
|
765
|
+
:default => 50,
|
564
766
|
:public => true,
|
565
|
-
:type =>
|
767
|
+
:type => Integer,
|
566
768
|
:allowed_from_server => false,
|
567
|
-
:
|
568
|
-
:description => 'List of allowed endpoints to include in audit log'
|
769
|
+
:description => 'Defines the maximum number of frames in an error backtrace. Backtraces over this amount are truncated in the middle, preserving the beginning and the end of the stack trace.'
|
569
770
|
},
|
570
|
-
:
|
571
|
-
:default =>
|
771
|
+
:'error_collector.max_event_samples_stored' => {
|
772
|
+
:default => 100,
|
773
|
+
:public => true,
|
774
|
+
:type => Integer,
|
775
|
+
:allowed_from_server => true,
|
776
|
+
:description => 'Defines the maximum number of [`TransactionError` events](/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights) reported per harvest cycle.'
|
777
|
+
},
|
778
|
+
# Browser monitoring
|
779
|
+
:'browser_monitoring.auto_instrument' => {
|
780
|
+
:default => value_of(:'rum.enabled'),
|
781
|
+
:documentation_default => true,
|
572
782
|
:public => true,
|
573
783
|
:type => Boolean,
|
574
|
-
:allowed_from_server =>
|
575
|
-
:description => '
|
784
|
+
:allowed_from_server => true,
|
785
|
+
: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).'
|
576
786
|
},
|
577
|
-
|
578
|
-
|
787
|
+
# CSP nonce
|
788
|
+
:'browser_monitoring.content_security_policy_nonce' => {
|
789
|
+
:default => value_of(:'rum.enabled'),
|
790
|
+
:documentation_default => true,
|
579
791
|
:public => true,
|
580
792
|
:type => Boolean,
|
581
793
|
:allowed_from_server => false,
|
582
|
-
:description => '
|
794
|
+
:description => 'If `true`, enables auto-injection of [Content Security Policy Nonce](https://content-security-policy.com/nonce/) in browser monitoring scripts. For now, auto-injection only works with Rails 5.2+.'
|
583
795
|
},
|
584
|
-
|
585
|
-
|
796
|
+
# Transaction events
|
797
|
+
:'transaction_events.enabled' => {
|
798
|
+
:default => true,
|
586
799
|
:public => true,
|
587
800
|
:type => Boolean,
|
588
|
-
:allowed_from_server =>
|
589
|
-
:description => '
|
801
|
+
:allowed_from_server => true,
|
802
|
+
:description => 'If `true`, enables transaction event sampling.'
|
590
803
|
},
|
591
|
-
:
|
592
|
-
:default =>
|
804
|
+
:'transaction_events.max_samples_stored' => {
|
805
|
+
:default => 1200,
|
806
|
+
:public => true,
|
807
|
+
:type => Integer,
|
808
|
+
:allowed_from_server => true,
|
809
|
+
:description => 'Defines the maximum number of transaction events reported from a single harvest.'
|
810
|
+
},
|
811
|
+
# Application logging
|
812
|
+
:'application_logging.enabled' => {
|
813
|
+
:default => true,
|
593
814
|
:public => true,
|
594
815
|
:type => Boolean,
|
595
816
|
:allowed_from_server => false,
|
596
|
-
:description => '
|
817
|
+
:description => 'If `true`, enables log decoration and the collection of log events and metrics.'
|
597
818
|
},
|
598
|
-
:
|
599
|
-
:default =>
|
819
|
+
:'application_logging.forwarding.enabled' => {
|
820
|
+
:default => true,
|
600
821
|
:public => true,
|
601
822
|
:type => Boolean,
|
602
823
|
:allowed_from_server => false,
|
603
|
-
:description => '
|
824
|
+
:description => 'If `true`, the agent captures log records emitted by your application.'
|
604
825
|
},
|
605
|
-
:
|
606
|
-
:default =>
|
826
|
+
:'application_logging.forwarding.log_level' => {
|
827
|
+
:default => 'debug',
|
607
828
|
:public => true,
|
608
|
-
:type =>
|
829
|
+
:type => String,
|
609
830
|
:allowed_from_server => false,
|
610
|
-
:
|
831
|
+
:allowlist => %w[debug info warn error fatal unknown DEBUG INFO WARN ERROR FATAL UNKNOWN],
|
832
|
+
:description => <<~DESCRIPTION
|
833
|
+
Sets the minimum level a log event must have to be forwarded to New Relic.
|
834
|
+
|
835
|
+
This is based on the integer values of Ruby's `Logger::Severity` constants: https://github.com/ruby/ruby/blob/master/lib/logger/severity.rb
|
836
|
+
|
837
|
+
The intention is to forward logs with the level given to the configuration, as well as any logs with a higher level of severity.
|
838
|
+
|
839
|
+
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".
|
840
|
+
|
841
|
+
Valid values (ordered lowest to highest):
|
842
|
+
* "debug"
|
843
|
+
* "info"
|
844
|
+
* "warn"
|
845
|
+
* "error"
|
846
|
+
* "fatal"
|
847
|
+
* "unknown"
|
848
|
+
DESCRIPTION
|
611
849
|
},
|
612
|
-
:
|
613
|
-
:default =>
|
850
|
+
:'application_logging.forwarding.custom_attributes' => {
|
851
|
+
:default => {},
|
614
852
|
:public => true,
|
615
|
-
:type =>
|
853
|
+
:type => Hash,
|
854
|
+
:transform => DefaultSource.method(:convert_to_hash),
|
616
855
|
:allowed_from_server => false,
|
617
|
-
:description => '
|
856
|
+
: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"'
|
618
857
|
},
|
619
|
-
:
|
858
|
+
:'application_logging.forwarding.max_samples_stored' => {
|
859
|
+
:default => 10000,
|
860
|
+
:public => true,
|
861
|
+
:type => Integer,
|
862
|
+
:allowed_from_server => true,
|
863
|
+
:description => 'Defines the maximum number of log records to buffer in memory at a time.',
|
864
|
+
:dynamic_name => true
|
865
|
+
},
|
866
|
+
:'application_logging.local_decorating.enabled' => {
|
620
867
|
:default => false,
|
621
868
|
:public => true,
|
622
869
|
:type => Boolean,
|
623
870
|
:allowed_from_server => false,
|
624
|
-
:description => '
|
871
|
+
:description => 'If `true`, the agent decorates logs with metadata to link to entities, hosts, traces, and spans.'
|
625
872
|
},
|
626
|
-
:
|
627
|
-
:default =>
|
628
|
-
:public =>
|
873
|
+
:'application_logging.metrics.enabled' => {
|
874
|
+
:default => true,
|
875
|
+
:public => true,
|
629
876
|
:type => Boolean,
|
630
|
-
:allowed_from_server =>
|
631
|
-
:description => '
|
877
|
+
:allowed_from_server => true,
|
878
|
+
:description => 'If `true`, the agent captures metrics related to logging for your application.'
|
632
879
|
},
|
633
|
-
|
880
|
+
# Attributes
|
881
|
+
:'allow_all_headers' => {
|
634
882
|
:default => false,
|
635
|
-
:public =>
|
883
|
+
:public => true,
|
636
884
|
:type => Boolean,
|
637
885
|
:allowed_from_server => false,
|
638
|
-
:description => '
|
886
|
+
:description => 'If `true`, enables capture of all HTTP request headers for all destinations.'
|
639
887
|
},
|
640
|
-
:
|
641
|
-
:default =>
|
888
|
+
:'attributes.enabled' => {
|
889
|
+
:default => true,
|
642
890
|
:public => true,
|
643
891
|
:type => Boolean,
|
644
892
|
:allowed_from_server => false,
|
645
|
-
:description => '
|
893
|
+
:description => 'If `true`, enables capture of attributes for all destinations.'
|
646
894
|
},
|
647
|
-
:
|
648
|
-
:default =>
|
895
|
+
:'attributes.exclude' => {
|
896
|
+
:default => [],
|
649
897
|
:public => true,
|
650
|
-
:type =>
|
898
|
+
:type => Array,
|
651
899
|
:allowed_from_server => false,
|
652
|
-
:
|
900
|
+
:transform => DefaultSource.method(:convert_to_list),
|
901
|
+
:description => 'Prefix of attributes to exclude from all destinations. Allows `*` as wildcard at end.'
|
653
902
|
},
|
654
|
-
:
|
655
|
-
:default =>
|
903
|
+
:'attributes.include' => {
|
904
|
+
:default => [],
|
656
905
|
:public => true,
|
657
|
-
:type =>
|
658
|
-
:dynamic_name => true,
|
906
|
+
:type => Array,
|
659
907
|
:allowed_from_server => false,
|
660
|
-
:
|
908
|
+
:transform => DefaultSource.method(:convert_to_list),
|
909
|
+
:description => 'Prefix of attributes to include in all destinations. Allows `*` as wildcard at end.'
|
661
910
|
},
|
662
|
-
:
|
663
|
-
:default =>
|
911
|
+
:'browser_monitoring.attributes.enabled' => {
|
912
|
+
:default => false,
|
664
913
|
:public => true,
|
665
914
|
:type => Boolean,
|
666
915
|
:allowed_from_server => false,
|
667
|
-
:description => '
|
916
|
+
:description => 'If `true`, the agent captures attributes from browser monitoring.'
|
668
917
|
},
|
669
|
-
:
|
670
|
-
:default =>
|
918
|
+
:'browser_monitoring.attributes.exclude' => {
|
919
|
+
:default => [],
|
671
920
|
:public => true,
|
672
|
-
:type =>
|
921
|
+
:type => Array,
|
673
922
|
:allowed_from_server => false,
|
674
|
-
:
|
923
|
+
:transform => DefaultSource.method(:convert_to_list),
|
924
|
+
:description => 'Prefix of attributes to exclude from browser monitoring. Allows `*` as wildcard at end.'
|
675
925
|
},
|
676
|
-
:
|
677
|
-
:default =>
|
926
|
+
:'browser_monitoring.attributes.include' => {
|
927
|
+
:default => [],
|
678
928
|
:public => true,
|
679
|
-
:type =>
|
929
|
+
:type => Array,
|
680
930
|
:allowed_from_server => false,
|
681
|
-
:
|
931
|
+
:transform => DefaultSource.method(:convert_to_list),
|
932
|
+
:description => 'Prefix of attributes to include in browser monitoring. Allows `*` as wildcard at end.'
|
682
933
|
},
|
683
|
-
:
|
684
|
-
:default =>
|
934
|
+
:'error_collector.attributes.enabled' => {
|
935
|
+
:default => true,
|
685
936
|
:public => true,
|
686
937
|
:type => Boolean,
|
687
938
|
:allowed_from_server => false,
|
688
|
-
:description =>
|
939
|
+
:description => 'If `true`, the agent captures attributes from error collection.'
|
689
940
|
},
|
690
|
-
:
|
691
|
-
:default =>
|
941
|
+
:'error_collector.attributes.exclude' => {
|
942
|
+
:default => [],
|
692
943
|
:public => true,
|
693
|
-
:type =>
|
944
|
+
:type => Array,
|
694
945
|
:allowed_from_server => false,
|
695
|
-
:
|
946
|
+
:transform => DefaultSource.method(:convert_to_list),
|
947
|
+
:description => 'Prefix of attributes to exclude from error collection. Allows `*` as wildcard at end.'
|
696
948
|
},
|
697
|
-
:
|
698
|
-
:default =>
|
949
|
+
:'error_collector.attributes.include' => {
|
950
|
+
:default => [],
|
699
951
|
:public => true,
|
700
|
-
:type =>
|
952
|
+
:type => Array,
|
701
953
|
:allowed_from_server => false,
|
702
|
-
:
|
954
|
+
:transform => DefaultSource.method(:convert_to_list),
|
955
|
+
:description => 'Prefix of attributes to include in error collection. Allows `*` as wildcard at end.'
|
703
956
|
},
|
704
|
-
:'
|
705
|
-
:default =>
|
957
|
+
:'span_events.attributes.enabled' => {
|
958
|
+
:default => true,
|
706
959
|
:public => true,
|
707
960
|
:type => Boolean,
|
708
961
|
:allowed_from_server => false,
|
709
|
-
:
|
710
|
-
:deprecated => true,
|
711
|
-
:description => 'Enable or disable the capture of job arguments for transaction traces and traced errors in Sidekiq.'
|
962
|
+
:description => 'If `true`, the agent captures attributes on span events.'
|
712
963
|
},
|
713
|
-
:'
|
714
|
-
:default =>
|
964
|
+
:'span_events.attributes.exclude' => {
|
965
|
+
:default => [],
|
715
966
|
:public => true,
|
716
|
-
:type =>
|
967
|
+
:type => Array,
|
717
968
|
:allowed_from_server => false,
|
718
|
-
:
|
719
|
-
:
|
720
|
-
:description => 'Enable or disable the capture of job arguments for transaction traces and traced errors in Resque.'
|
969
|
+
:transform => DefaultSource.method(:convert_to_list),
|
970
|
+
:description => 'Prefix of attributes to exclude from span events. Allows `*` as wildcard at end.'
|
721
971
|
},
|
722
|
-
:
|
723
|
-
:default =>
|
972
|
+
:'span_events.attributes.include' => {
|
973
|
+
:default => [],
|
724
974
|
:public => true,
|
725
|
-
:type =>
|
726
|
-
:allowed_from_server =>
|
727
|
-
:
|
975
|
+
:type => Array,
|
976
|
+
:allowed_from_server => false,
|
977
|
+
:transform => DefaultSource.method(:convert_to_list),
|
978
|
+
:description => 'Prefix of attributes to include on span events. Allows `*` as wildcard at end.'
|
728
979
|
},
|
729
|
-
:'
|
980
|
+
:'transaction_events.attributes.enabled' => {
|
730
981
|
:default => true,
|
731
982
|
:public => true,
|
732
983
|
:type => Boolean,
|
733
|
-
:allowed_from_server =>
|
734
|
-
:description => '
|
984
|
+
:allowed_from_server => false,
|
985
|
+
:description => 'If `true`, the agent captures attributes from transaction events.'
|
735
986
|
},
|
736
|
-
:'
|
737
|
-
:default =>
|
987
|
+
:'transaction_events.attributes.exclude' => {
|
988
|
+
:default => [],
|
738
989
|
:public => true,
|
739
|
-
:type =>
|
740
|
-
:allowed_from_server =>
|
741
|
-
:
|
990
|
+
:type => Array,
|
991
|
+
:allowed_from_server => false,
|
992
|
+
:transform => DefaultSource.method(:convert_to_list),
|
993
|
+
:description => 'Prefix of attributes to exclude from transaction events. Allows `*` as wildcard at end.'
|
742
994
|
},
|
743
|
-
:'
|
744
|
-
:default =>
|
995
|
+
:'transaction_events.attributes.include' => {
|
996
|
+
:default => [],
|
745
997
|
:public => true,
|
746
|
-
:type =>
|
747
|
-
:allowed_from_server =>
|
748
|
-
:
|
998
|
+
:type => Array,
|
999
|
+
:allowed_from_server => false,
|
1000
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1001
|
+
:description => 'Prefix of attributes to include in transaction events. Allows `*` as wildcard at end.'
|
749
1002
|
},
|
750
|
-
:'
|
1003
|
+
:'transaction_segments.attributes.enabled' => {
|
751
1004
|
:default => true,
|
752
1005
|
:public => true,
|
753
1006
|
:type => Boolean,
|
754
|
-
:deprecated => true,
|
755
1007
|
:allowed_from_server => false,
|
756
|
-
:description => '
|
1008
|
+
:description => 'If `true`, the agent captures attributes on transaction segments.'
|
757
1009
|
},
|
758
|
-
:'
|
759
|
-
:default =>
|
1010
|
+
:'transaction_segments.attributes.exclude' => {
|
1011
|
+
:default => [],
|
760
1012
|
:public => true,
|
761
|
-
:type =>
|
762
|
-
:allowed_from_server =>
|
763
|
-
:
|
1013
|
+
:type => Array,
|
1014
|
+
:allowed_from_server => false,
|
1015
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1016
|
+
:description => 'Prefix of attributes to exclude from transaction segments. Allows `*` as wildcard at end.'
|
764
1017
|
},
|
765
|
-
:'
|
1018
|
+
:'transaction_segments.attributes.include' => {
|
1019
|
+
:default => [],
|
1020
|
+
:public => true,
|
1021
|
+
:type => Array,
|
1022
|
+
:allowed_from_server => false,
|
1023
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1024
|
+
:description => 'Prefix of attributes to include on transaction segments. Allows `*` as wildcard at end.'
|
1025
|
+
},
|
1026
|
+
:'transaction_tracer.attributes.enabled' => {
|
766
1027
|
:default => true,
|
767
1028
|
:public => true,
|
768
1029
|
:type => Boolean,
|
769
|
-
:allowed_from_server =>
|
770
|
-
:description => '
|
1030
|
+
:allowed_from_server => false,
|
1031
|
+
:description => 'If `true`, the agent captures attributes from transaction traces.'
|
771
1032
|
},
|
772
|
-
:'transaction_tracer.
|
773
|
-
:default =>
|
1033
|
+
:'transaction_tracer.attributes.exclude' => {
|
1034
|
+
:default => [],
|
774
1035
|
:public => true,
|
775
|
-
:type =>
|
776
|
-
:allowed_from_server =>
|
777
|
-
:
|
1036
|
+
:type => Array,
|
1037
|
+
:allowed_from_server => false,
|
1038
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1039
|
+
:description => 'Prefix of attributes to exclude from transaction traces. Allows `*` as wildcard at end.'
|
778
1040
|
},
|
779
|
-
:'transaction_tracer.
|
780
|
-
:default =>
|
1041
|
+
:'transaction_tracer.attributes.include' => {
|
1042
|
+
:default => [],
|
781
1043
|
:public => true,
|
782
|
-
:type =>
|
783
|
-
:allowed_from_server =>
|
784
|
-
:
|
1044
|
+
:type => Array,
|
1045
|
+
:allowed_from_server => false,
|
1046
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1047
|
+
:description => 'Prefix of attributes to include in transaction traces. Allows `*` as wildcard at end.'
|
785
1048
|
},
|
786
|
-
|
1049
|
+
# Audit log
|
1050
|
+
:'audit_log.enabled' => {
|
787
1051
|
:default => false,
|
788
1052
|
:public => true,
|
789
1053
|
:type => Boolean,
|
790
1054
|
:allowed_from_server => false,
|
791
|
-
:description => '
|
1055
|
+
: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).'
|
792
1056
|
},
|
793
|
-
:
|
794
|
-
:default =>
|
1057
|
+
:'audit_log.endpoints' => {
|
1058
|
+
:default => ['.*'],
|
795
1059
|
:public => true,
|
796
|
-
:type =>
|
1060
|
+
:type => Array,
|
797
1061
|
:allowed_from_server => false,
|
798
|
-
:
|
799
|
-
:description => '
|
1062
|
+
:transform => DefaultSource.method(:convert_to_regexp_list),
|
1063
|
+
:description => 'List of allowed endpoints to include in audit log.'
|
800
1064
|
},
|
801
|
-
:
|
802
|
-
:default
|
803
|
-
:
|
804
|
-
:
|
805
|
-
:
|
806
|
-
:
|
807
|
-
:description
|
1065
|
+
:'audit_log.path' => {
|
1066
|
+
:default => DefaultSource.audit_log_path,
|
1067
|
+
:documentation_default => 'log/newrelic_audit.log',
|
1068
|
+
:public => true,
|
1069
|
+
:type => String,
|
1070
|
+
:allowed_from_server => false,
|
1071
|
+
:description => 'Specifies a path to the audit log file (including the filename).'
|
808
1072
|
},
|
809
|
-
|
810
|
-
|
1073
|
+
# Autostart
|
1074
|
+
:'autostart.denylisted_constants' => {
|
1075
|
+
:default => %w[Rails::Command::ConsoleCommand
|
1076
|
+
Rails::Command::CredentialsCommand
|
1077
|
+
Rails::Command::Db::System::ChangeCommand
|
1078
|
+
Rails::Command::DbConsoleCommand
|
1079
|
+
Rails::Command::DestroyCommand
|
1080
|
+
Rails::Command::DevCommand
|
1081
|
+
Rails::Command::EncryptedCommand
|
1082
|
+
Rails::Command::GenerateCommand
|
1083
|
+
Rails::Command::InitializersCommand
|
1084
|
+
Rails::Command::NotesCommand
|
1085
|
+
Rails::Command::RoutesCommand
|
1086
|
+
Rails::Command::RunnerCommand
|
1087
|
+
Rails::Command::SecretsCommand
|
1088
|
+
Rails::Console
|
1089
|
+
Rails::DBConsole].join(','),
|
811
1090
|
:public => true,
|
812
|
-
:type =>
|
813
|
-
:allowed_from_server =>
|
814
|
-
:description => '
|
1091
|
+
:type => String,
|
1092
|
+
:allowed_from_server => false,
|
1093
|
+
: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"`.'
|
815
1094
|
},
|
816
|
-
:'
|
817
|
-
:default =>
|
1095
|
+
:'autostart.denylisted_executables' => {
|
1096
|
+
:default => 'irb,rspec',
|
818
1097
|
:public => true,
|
819
|
-
:type =>
|
820
|
-
:allowed_from_server =>
|
821
|
-
:description => 'Defines a
|
1098
|
+
:type => String,
|
1099
|
+
:allowed_from_server => false,
|
1100
|
+
:description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, `"rake,my_ruby_script.rb"`.'
|
822
1101
|
},
|
823
|
-
:'
|
824
|
-
:default =>
|
1102
|
+
:'autostart.denylisted_rake_tasks' => {
|
1103
|
+
:default => AUTOSTART_DENYLISTED_RAKE_TASKS,
|
1104
|
+
:public => true,
|
1105
|
+
:type => String,
|
1106
|
+
:allowed_from_server => false,
|
1107
|
+
:description => 'Defines a comma-delimited list of Rake tasks that the agent should not instrument. For example, `"assets:precompile,db:migrate"`.'
|
1108
|
+
},
|
1109
|
+
# Code level metrics
|
1110
|
+
:'code_level_metrics.enabled' => {
|
1111
|
+
:default => true,
|
825
1112
|
:public => true,
|
826
1113
|
:type => Boolean,
|
827
1114
|
:allowed_from_server => true,
|
828
|
-
:description =>
|
1115
|
+
:description => "If `true`, the agent will report source code level metrics for traced methods.\nsee: " \
|
1116
|
+
'https://docs.newrelic.com/docs/apm/agents/ruby-agent/features/ruby-codestream-integration/'
|
829
1117
|
},
|
830
|
-
|
831
|
-
|
1118
|
+
# Cross application tracer
|
1119
|
+
:"cross_application_tracer.enabled" => {
|
1120
|
+
:default => false,
|
832
1121
|
:public => true,
|
833
|
-
:type =>
|
1122
|
+
:type => Boolean,
|
834
1123
|
:allowed_from_server => true,
|
835
|
-
:
|
1124
|
+
:deprecated => true,
|
1125
|
+
:description => deprecated_description(
|
1126
|
+
:'distributed_tracing.enabled',
|
1127
|
+
'If `true`, enables [cross-application tracing](/docs/agents/ruby-agent/features/cross-application-tracing-ruby/) when `distributed_tracing.enabled` is set to `false`.'
|
1128
|
+
)
|
836
1129
|
},
|
837
|
-
|
1130
|
+
# Custom attributes
|
1131
|
+
:'custom_attributes.enabled' => {
|
838
1132
|
:default => true,
|
839
1133
|
:public => true,
|
840
1134
|
:type => Boolean,
|
841
|
-
:allowed_from_server =>
|
842
|
-
:description => '
|
1135
|
+
:allowed_from_server => false,
|
1136
|
+
:description => 'If `false`, custom attributes will not be sent on events.'
|
843
1137
|
},
|
844
|
-
|
1138
|
+
# Custom events
|
1139
|
+
:'custom_insights_events.enabled' => {
|
845
1140
|
:default => true,
|
846
1141
|
:public => true,
|
847
1142
|
:type => Boolean,
|
848
1143
|
:allowed_from_server => true,
|
849
|
-
:description => '
|
1144
|
+
:description => 'If `true`, the agent captures [custom events](/docs/insights/new-relic-insights/adding-querying-data/inserting-custom-events-new-relic-apm-agents).'
|
850
1145
|
},
|
851
|
-
:'
|
1146
|
+
:'custom_insights_events.max_samples_stored' => {
|
1147
|
+
:default => 3000,
|
1148
|
+
:public => true,
|
1149
|
+
:type => Integer,
|
1150
|
+
:allowed_from_server => true,
|
1151
|
+
:dynamic_name => true,
|
1152
|
+
:description => <<~DESC
|
1153
|
+
* Specify a maximum number of custom events to buffer in memory at a time.'
|
1154
|
+
* When configuring the agent for [AI monitoring](/docs/ai-monitoring/intro-to-ai-monitoring), \
|
1155
|
+
set to max value `100000`. This ensures the agent captures the maximum amount of LLM events.
|
1156
|
+
DESC
|
1157
|
+
},
|
1158
|
+
# Datastore tracer
|
1159
|
+
:'datastore_tracer.database_name_reporting.enabled' => {
|
852
1160
|
:default => true,
|
853
1161
|
:public => true,
|
854
1162
|
:type => Boolean,
|
855
|
-
:allowed_from_server =>
|
856
|
-
:description => '
|
1163
|
+
:allowed_from_server => false,
|
1164
|
+
:description => 'If `false`, the agent will not add `database_name` parameter to transaction or slow sql traces.'
|
857
1165
|
},
|
858
|
-
:'
|
1166
|
+
:'datastore_tracer.instance_reporting.enabled' => {
|
859
1167
|
:default => true,
|
860
1168
|
:public => true,
|
861
1169
|
:type => Boolean,
|
862
|
-
:deprecated => true,
|
863
1170
|
:allowed_from_server => false,
|
864
|
-
:description => '
|
1171
|
+
: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.'
|
865
1172
|
},
|
866
|
-
|
867
|
-
|
1173
|
+
# Disabling
|
1174
|
+
:disable_action_cable_instrumentation => {
|
1175
|
+
:default => false,
|
868
1176
|
:public => true,
|
869
|
-
:type =>
|
870
|
-
:allowed_from_server =>
|
871
|
-
:description => '
|
1177
|
+
:type => Boolean,
|
1178
|
+
:allowed_from_server => false,
|
1179
|
+
:description => 'If `true`, disables Action Cable instrumentation.'
|
872
1180
|
},
|
873
|
-
:
|
1181
|
+
# TODO: by subscribing to process_middleware.action_dispatch events,
|
1182
|
+
# we duplicate the efforts already performed by non-notifications
|
1183
|
+
# based instrumentation. In future, we ought to determine the
|
1184
|
+
# extent of the overlap and duplication and end up with only this
|
1185
|
+
# notifications based approach existing and the monkey patching
|
1186
|
+
# approach removed entirely. NOTE that we will likely not want to
|
1187
|
+
# do so until we are okay with dropping support for Rails < v6,
|
1188
|
+
# given that these events are available only for v6+.
|
1189
|
+
:disable_action_dispatch => {
|
874
1190
|
:default => true,
|
875
1191
|
:public => false,
|
876
1192
|
:type => Boolean,
|
877
|
-
:allowed_from_server =>
|
878
|
-
:description => '
|
879
|
-
},
|
880
|
-
:browser_key => {
|
881
|
-
:default => '',
|
882
|
-
:public => false,
|
883
|
-
:type => String,
|
884
|
-
:allowed_from_server => true,
|
885
|
-
:description => 'Real user monitoring license key for the browser timing header.'
|
886
|
-
},
|
887
|
-
:beacon => {
|
888
|
-
:default => '',
|
889
|
-
:public => false,
|
890
|
-
:type => String,
|
891
|
-
:allowed_from_server => true,
|
892
|
-
:description => 'Beacon for real user monitoring.'
|
893
|
-
},
|
894
|
-
:error_beacon => {
|
895
|
-
:default => '',
|
896
|
-
:public => false,
|
897
|
-
:type => String,
|
898
|
-
:allowed_from_server => true,
|
899
|
-
:description => 'Error beacon for real user monitoring.'
|
900
|
-
},
|
901
|
-
:application_id => {
|
902
|
-
:default => '',
|
903
|
-
:public => false,
|
904
|
-
:type => String,
|
905
|
-
:allowed_from_server => true,
|
906
|
-
:description => 'Application ID for real user monitoring.'
|
907
|
-
},
|
908
|
-
:js_agent_file => {
|
909
|
-
:default => '',
|
910
|
-
:public => false,
|
911
|
-
:type => String,
|
912
|
-
:allowed_from_server => true,
|
913
|
-
:description => 'Javascript agent file for real user monitoring.'
|
1193
|
+
:allowed_from_server => false,
|
1194
|
+
:description => 'If `true`, disables Action Dispatch instrumentation.'
|
914
1195
|
},
|
915
|
-
:
|
916
|
-
:default =>
|
1196
|
+
:disable_action_controller => {
|
1197
|
+
:default => false,
|
917
1198
|
:public => true,
|
918
1199
|
:type => Boolean,
|
919
|
-
:allowed_from_server =>
|
920
|
-
:description => '
|
1200
|
+
:allowed_from_server => false,
|
1201
|
+
:description => 'If `true`, disables Action Controller instrumentation.'
|
921
1202
|
},
|
922
|
-
:
|
1203
|
+
:disable_action_mailbox => {
|
923
1204
|
:default => false,
|
924
1205
|
:public => true,
|
925
1206
|
:type => Boolean,
|
926
|
-
:deprecated => true,
|
927
1207
|
:allowed_from_server => false,
|
928
|
-
:description => '
|
1208
|
+
:description => 'If `true`, disables Action Mailbox instrumentation.'
|
929
1209
|
},
|
930
|
-
:
|
931
|
-
:default =>
|
932
|
-
:public =>
|
933
|
-
:type =>
|
934
|
-
:allowed_from_server =>
|
935
|
-
:description => '
|
1210
|
+
:disable_action_mailer => {
|
1211
|
+
:default => false,
|
1212
|
+
:public => true,
|
1213
|
+
:type => Boolean,
|
1214
|
+
:allowed_from_server => false,
|
1215
|
+
:description => 'If `true`, disables Action Mailer instrumentation.'
|
936
1216
|
},
|
937
|
-
:
|
938
|
-
:default =>
|
939
|
-
:public =>
|
940
|
-
:type =>
|
941
|
-
:allowed_from_server =>
|
942
|
-
:description => '
|
1217
|
+
:disable_activejob => {
|
1218
|
+
:default => false,
|
1219
|
+
:public => true,
|
1220
|
+
:type => Boolean,
|
1221
|
+
:allowed_from_server => false,
|
1222
|
+
:description => 'If `true`, disables Active Job instrumentation.'
|
943
1223
|
},
|
944
|
-
:
|
1224
|
+
:disable_active_storage => {
|
945
1225
|
:default => false,
|
946
|
-
:public =>
|
1226
|
+
:public => true,
|
947
1227
|
:type => Boolean,
|
948
|
-
:allowed_from_server =>
|
949
|
-
:description => '
|
1228
|
+
:allowed_from_server => false,
|
1229
|
+
:description => 'If `true`, disables Active Storage instrumentation.'
|
950
1230
|
},
|
951
|
-
:
|
952
|
-
:default =>
|
953
|
-
:
|
954
|
-
:public => false,
|
1231
|
+
:disable_active_support => {
|
1232
|
+
:default => false,
|
1233
|
+
:public => true,
|
955
1234
|
:type => Boolean,
|
956
|
-
:allowed_from_server =>
|
957
|
-
:description => '
|
1235
|
+
:allowed_from_server => false,
|
1236
|
+
:description => 'If `true`, disables Active Support instrumentation.'
|
958
1237
|
},
|
959
|
-
:
|
960
|
-
:default =>
|
961
|
-
:
|
962
|
-
:
|
963
|
-
:
|
964
|
-
:
|
1238
|
+
:disable_active_record_instrumentation => {
|
1239
|
+
:default => value_of(:skip_ar_instrumentation),
|
1240
|
+
:documentation_default => false,
|
1241
|
+
:public => true,
|
1242
|
+
:type => Boolean,
|
1243
|
+
:aliases => %i[disable_activerecord_instrumentation],
|
1244
|
+
:allowed_from_server => false,
|
1245
|
+
:description => 'If `true`, disables Active Record instrumentation.'
|
965
1246
|
},
|
966
|
-
:
|
1247
|
+
:disable_active_record_notifications => {
|
967
1248
|
:default => false,
|
968
|
-
:public =>
|
1249
|
+
:public => true,
|
969
1250
|
:type => Boolean,
|
1251
|
+
:dynamic_name => true,
|
1252
|
+
:aliases => %i[disable_activerecord_notifications],
|
970
1253
|
:allowed_from_server => false,
|
971
|
-
:
|
972
|
-
:description => 'Enable or disable beta JavaScript error reporting.'
|
1254
|
+
:description => 'If `true`, disables instrumentation for Active Record 4+'
|
973
1255
|
},
|
974
|
-
:
|
975
|
-
:default =>
|
976
|
-
:public =>
|
977
|
-
:type =>
|
978
|
-
:
|
979
|
-
:
|
1256
|
+
:disable_cpu_sampler => {
|
1257
|
+
:default => false,
|
1258
|
+
:public => true,
|
1259
|
+
:type => Boolean,
|
1260
|
+
:dynamic_name => true,
|
1261
|
+
:allowed_from_server => false,
|
1262
|
+
:description => 'If `true`, the agent won\'t sample the CPU usage of the host process.'
|
980
1263
|
},
|
981
|
-
:
|
982
|
-
:default =>
|
1264
|
+
:disable_delayed_job_sampler => {
|
1265
|
+
:default => false,
|
983
1266
|
:public => true,
|
984
1267
|
:type => Boolean,
|
985
|
-
:
|
986
|
-
:
|
1268
|
+
:dynamic_name => true,
|
1269
|
+
:allowed_from_server => false,
|
1270
|
+
:description => 'If `true`, the agent won\'t measure the depth of Delayed Job queues.'
|
987
1271
|
},
|
988
|
-
:
|
989
|
-
:default =>
|
990
|
-
:
|
991
|
-
:public => false,
|
1272
|
+
:disable_gc_profiler => {
|
1273
|
+
:default => false,
|
1274
|
+
:public => true,
|
992
1275
|
:type => Boolean,
|
993
1276
|
:allowed_from_server => false,
|
994
|
-
:
|
995
|
-
:description => 'Deprecated in favor of cross_application_tracer.enabled'
|
1277
|
+
:description => 'If `true`, disables the use of `GC::Profiler` to measure time spent in garbage collection'
|
996
1278
|
},
|
997
|
-
:
|
998
|
-
:default =>
|
999
|
-
:public =>
|
1000
|
-
:type =>
|
1001
|
-
:
|
1002
|
-
:
|
1279
|
+
:disable_memory_sampler => {
|
1280
|
+
:default => false,
|
1281
|
+
:public => true,
|
1282
|
+
:type => Boolean,
|
1283
|
+
:dynamic_name => true,
|
1284
|
+
:allowed_from_server => false,
|
1285
|
+
:description => 'If `true`, the agent won\'t sample the memory usage of the host process.'
|
1003
1286
|
},
|
1004
|
-
:
|
1005
|
-
:default =>
|
1006
|
-
:public =>
|
1007
|
-
:type =>
|
1008
|
-
:allowed_from_server =>
|
1009
|
-
:description =>
|
1287
|
+
:disable_middleware_instrumentation => {
|
1288
|
+
:default => false,
|
1289
|
+
:public => true,
|
1290
|
+
:type => Boolean,
|
1291
|
+
:allowed_from_server => false,
|
1292
|
+
:description => <<~DESCRIPTION
|
1293
|
+
If `true`, the agent won't wrap third-party middlewares in instrumentation (regardless of whether they are installed via `Rack::Builder` or Rails).
|
1294
|
+
|
1295
|
+
<Callout variant="important">
|
1296
|
+
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.
|
1297
|
+
</Callout>
|
1298
|
+
DESCRIPTION
|
1010
1299
|
},
|
1011
|
-
:
|
1012
|
-
:default =>
|
1300
|
+
:disable_samplers => {
|
1301
|
+
:default => false,
|
1013
1302
|
:public => true,
|
1014
1303
|
:type => Boolean,
|
1015
|
-
:allowed_from_server =>
|
1016
|
-
:description => '
|
1304
|
+
:allowed_from_server => false,
|
1305
|
+
: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).'
|
1017
1306
|
},
|
1018
|
-
:
|
1019
|
-
:default =>
|
1307
|
+
:disable_sequel_instrumentation => {
|
1308
|
+
:default => false,
|
1020
1309
|
:public => true,
|
1021
1310
|
:type => Boolean,
|
1022
|
-
:allowed_from_server =>
|
1023
|
-
:description => '
|
1311
|
+
:allowed_from_server => false,
|
1312
|
+
:description => 'If `true`, disables [Sequel instrumentation](/docs/agents/ruby-agent/frameworks/sequel-instrumentation).'
|
1024
1313
|
},
|
1025
|
-
:
|
1026
|
-
:default =>
|
1027
|
-
:public =>
|
1314
|
+
:disable_sidekiq => {
|
1315
|
+
:default => false,
|
1316
|
+
:public => true,
|
1028
1317
|
:type => Boolean,
|
1029
|
-
:allowed_from_server =>
|
1030
|
-
:description => '
|
1318
|
+
:allowed_from_server => false,
|
1319
|
+
:description => 'If `true`, disables [Sidekiq instrumentation](/docs/agents/ruby-agent/background-jobs/sidekiq-instrumentation).'
|
1031
1320
|
},
|
1032
|
-
:
|
1033
|
-
:default =>
|
1034
|
-
:public =>
|
1321
|
+
:disable_roda_auto_middleware => {
|
1322
|
+
:default => false,
|
1323
|
+
:public => true,
|
1035
1324
|
:type => Boolean,
|
1036
|
-
:allowed_from_server =>
|
1037
|
-
:description => '
|
1325
|
+
:allowed_from_server => false,
|
1326
|
+
: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).'
|
1038
1327
|
},
|
1039
|
-
:
|
1040
|
-
:default =>
|
1041
|
-
:public =>
|
1042
|
-
:type =>
|
1043
|
-
:allowed_from_server =>
|
1044
|
-
:description =>
|
1328
|
+
:disable_sinatra_auto_middleware => {
|
1329
|
+
:default => false,
|
1330
|
+
:public => true,
|
1331
|
+
:type => Boolean,
|
1332
|
+
:allowed_from_server => false,
|
1333
|
+
:description => <<~DESCRIPTION
|
1334
|
+
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).
|
1335
|
+
|
1336
|
+
<Callout variant="important">
|
1337
|
+
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.
|
1338
|
+
|
1339
|
+
To continue using cross application tracing, update the following options in your `newrelic.yml` configuration file:
|
1340
|
+
|
1341
|
+
```yaml
|
1342
|
+
# newrelic.yml
|
1343
|
+
|
1344
|
+
cross_application_tracer:
|
1345
|
+
enabled: true
|
1346
|
+
distributed_tracing:
|
1347
|
+
enabled: false
|
1348
|
+
```
|
1349
|
+
</Callout>
|
1350
|
+
DESCRIPTION
|
1045
1351
|
},
|
1046
|
-
:
|
1047
|
-
:default =>
|
1048
|
-
:public =>
|
1049
|
-
:type =>
|
1050
|
-
:allowed_from_server =>
|
1051
|
-
:description => '
|
1352
|
+
:disable_view_instrumentation => {
|
1353
|
+
:default => false,
|
1354
|
+
:public => true,
|
1355
|
+
:type => Boolean,
|
1356
|
+
:allowed_from_server => false,
|
1357
|
+
:description => 'If `true`, disables view instrumentation.'
|
1052
1358
|
},
|
1053
|
-
:
|
1054
|
-
:default =>
|
1359
|
+
:disable_vm_sampler => {
|
1360
|
+
:default => false,
|
1055
1361
|
:public => true,
|
1056
|
-
:type =>
|
1362
|
+
:type => Boolean,
|
1363
|
+
:dynamic_name => true,
|
1057
1364
|
:allowed_from_server => false,
|
1058
|
-
:description => '
|
1365
|
+
:description => 'If `true`, the agent won\'t [sample performance measurements from the Ruby VM](/docs/agents/ruby-agent/features/ruby-vm-measurements).'
|
1059
1366
|
},
|
1060
|
-
|
1367
|
+
# Distributed tracing
|
1368
|
+
:'distributed_tracing.enabled' => {
|
1061
1369
|
:default => true,
|
1062
1370
|
:public => true,
|
1063
1371
|
:type => Boolean,
|
1064
1372
|
:allowed_from_server => true,
|
1065
|
-
:description => '
|
1373
|
+
: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.'
|
1066
1374
|
},
|
1067
|
-
|
1068
|
-
|
1375
|
+
# Elasticsearch
|
1376
|
+
:'elasticsearch.capture_queries' => {
|
1377
|
+
:default => true,
|
1069
1378
|
:public => true,
|
1070
|
-
:type =>
|
1379
|
+
:type => Boolean,
|
1071
1380
|
:allowed_from_server => true,
|
1072
|
-
:description => '
|
1381
|
+
:description => 'If `true`, the agent captures Elasticsearch queries in transaction traces.'
|
1073
1382
|
},
|
1074
|
-
:'
|
1383
|
+
:'elasticsearch.obfuscate_queries' => {
|
1075
1384
|
:default => true,
|
1076
1385
|
:public => true,
|
1077
1386
|
:type => Boolean,
|
1078
|
-
:
|
1079
|
-
:
|
1080
|
-
:description => 'Use transaction_events.attributes.enabled instead.'
|
1387
|
+
:allowed_from_server => true,
|
1388
|
+
:description => 'If `true`, the agent obfuscates Elasticsearch queries in transaction traces.'
|
1081
1389
|
},
|
1082
|
-
|
1390
|
+
# Heroku
|
1391
|
+
:'heroku.use_dyno_names' => {
|
1083
1392
|
:default => true,
|
1084
|
-
:public =>
|
1393
|
+
:public => true,
|
1085
1394
|
:type => Boolean,
|
1086
1395
|
:allowed_from_server => false,
|
1087
|
-
:description => '
|
1396
|
+
:description => 'If `true`, the agent uses Heroku dyno names as the hostname.'
|
1088
1397
|
},
|
1089
|
-
:
|
1090
|
-
:default =>
|
1091
|
-
:public =>
|
1092
|
-
:type =>
|
1398
|
+
:'heroku.dyno_name_prefixes_to_shorten' => {
|
1399
|
+
:default => %w[scheduler run],
|
1400
|
+
:public => true,
|
1401
|
+
:type => Array,
|
1093
1402
|
:allowed_from_server => false,
|
1094
|
-
:
|
1403
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1404
|
+
: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`).'
|
1095
1405
|
},
|
1096
|
-
|
1097
|
-
|
1098
|
-
:
|
1099
|
-
:
|
1406
|
+
# Infinite tracing
|
1407
|
+
:'infinite_tracing.trace_observer.host' => {
|
1408
|
+
:default => '',
|
1409
|
+
:public => true,
|
1410
|
+
:type => String,
|
1411
|
+
:allowed_from_server => false,
|
1412
|
+
:external => :infinite_tracing,
|
1413
|
+
:description => 'Configures the hostname for the trace observer Host. ' \
|
1414
|
+
'When configured, enables tail-based sampling by sending all recorded spans ' \
|
1415
|
+
'to a trace observer for further sampling decisions, irrespective of any usual ' \
|
1416
|
+
'agent sampling decision.'
|
1417
|
+
},
|
1418
|
+
:'infinite_tracing.trace_observer.port' => {
|
1419
|
+
:default => 443,
|
1420
|
+
:public => true,
|
1421
|
+
:type => Integer,
|
1422
|
+
:allowed_from_server => false,
|
1423
|
+
:external => :infinite_tracing,
|
1424
|
+
:description => 'Configures the TCP/IP port for the trace observer Host'
|
1425
|
+
},
|
1426
|
+
# Instrumentation
|
1427
|
+
:'instrumentation.active_support_broadcast_logger' => {
|
1428
|
+
:default => instrumentation_value_from_boolean(:'application_logging.enabled'),
|
1429
|
+
:documentation_default => 'auto',
|
1100
1430
|
:dynamic_name => true,
|
1431
|
+
:public => true,
|
1432
|
+
:type => String,
|
1101
1433
|
:allowed_from_server => false,
|
1102
|
-
:description
|
1434
|
+
:description => 'Controls auto-instrumentation of `ActiveSupport::BroadcastLogger` at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`. Used in Rails versions >= 7.1.'
|
1103
1435
|
},
|
1104
|
-
:
|
1105
|
-
:default
|
1106
|
-
:
|
1107
|
-
:type => Boolean,
|
1436
|
+
:'instrumentation.active_support_logger' => {
|
1437
|
+
:default => instrumentation_value_from_boolean(:'application_logging.enabled'),
|
1438
|
+
:documentation_default => 'auto',
|
1108
1439
|
:dynamic_name => true,
|
1440
|
+
:public => true,
|
1441
|
+
:type => String,
|
1109
1442
|
:allowed_from_server => false,
|
1110
|
-
:description
|
1443
|
+
: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.'
|
1111
1444
|
},
|
1112
|
-
:
|
1113
|
-
:default
|
1114
|
-
:public
|
1115
|
-
:type
|
1445
|
+
:'instrumentation.async_http' => {
|
1446
|
+
:default => 'auto',
|
1447
|
+
:public => true,
|
1448
|
+
:type => String,
|
1116
1449
|
:dynamic_name => true,
|
1117
1450
|
:allowed_from_server => false,
|
1118
|
-
:description
|
1451
|
+
:description => 'Controls auto-instrumentation of Async::HTTP at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1119
1452
|
},
|
1120
|
-
:
|
1121
|
-
:default
|
1122
|
-
:public
|
1123
|
-
:type
|
1453
|
+
:'instrumentation.bunny' => {
|
1454
|
+
:default => 'auto',
|
1455
|
+
:public => true,
|
1456
|
+
:type => String,
|
1124
1457
|
:dynamic_name => true,
|
1125
1458
|
:allowed_from_server => false,
|
1126
|
-
:description
|
1459
|
+
:description => 'Controls auto-instrumentation of bunny at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1127
1460
|
},
|
1128
|
-
:
|
1129
|
-
:default
|
1130
|
-
:public
|
1131
|
-
:type
|
1461
|
+
:'instrumentation.dynamodb' => {
|
1462
|
+
:default => 'auto',
|
1463
|
+
:public => true,
|
1464
|
+
:type => String,
|
1132
1465
|
:dynamic_name => true,
|
1133
1466
|
:allowed_from_server => false,
|
1134
|
-
:description
|
1467
|
+
:description => 'Controls auto-instrumentation of the aws-sdk-dynamodb library at start-up. May be one of `auto`, `prepend`, `chain`, `disabled`.'
|
1135
1468
|
},
|
1136
|
-
:
|
1137
|
-
:default
|
1138
|
-
:public
|
1139
|
-
:type
|
1469
|
+
:'instrumentation.fiber' => {
|
1470
|
+
:default => 'auto',
|
1471
|
+
:public => true,
|
1472
|
+
:type => String,
|
1140
1473
|
:dynamic_name => true,
|
1141
1474
|
:allowed_from_server => false,
|
1142
|
-
:description
|
1475
|
+
:description => 'Controls auto-instrumentation of the Fiber class at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1143
1476
|
},
|
1144
|
-
:
|
1145
|
-
:default
|
1146
|
-
:public
|
1147
|
-
:type
|
1477
|
+
:'instrumentation.concurrent_ruby' => {
|
1478
|
+
:default => 'auto',
|
1479
|
+
:public => true,
|
1480
|
+
:type => String,
|
1148
1481
|
:dynamic_name => true,
|
1149
1482
|
:allowed_from_server => false,
|
1150
|
-
:description
|
1483
|
+
:description => 'Controls auto-instrumentation of the concurrent-ruby library at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1151
1484
|
},
|
1152
|
-
:
|
1153
|
-
:default
|
1154
|
-
:
|
1155
|
-
:
|
1485
|
+
:'instrumentation.curb' => {
|
1486
|
+
:default => 'auto',
|
1487
|
+
:documentation_default => 'auto',
|
1488
|
+
:public => true,
|
1489
|
+
:type => String,
|
1156
1490
|
:dynamic_name => true,
|
1157
1491
|
:allowed_from_server => false,
|
1158
|
-
:description
|
1492
|
+
:description => 'Controls auto-instrumentation of Curb at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1159
1493
|
},
|
1160
|
-
:
|
1161
|
-
:default
|
1162
|
-
:
|
1163
|
-
:
|
1494
|
+
:'instrumentation.delayed_job' => {
|
1495
|
+
:default => 'auto',
|
1496
|
+
:documentation_default => 'auto',
|
1497
|
+
:public => true,
|
1498
|
+
:type => String,
|
1164
1499
|
:dynamic_name => true,
|
1165
1500
|
:allowed_from_server => false,
|
1166
|
-
:description
|
1501
|
+
:description => 'Controls auto-instrumentation of Delayed Job at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1167
1502
|
},
|
1168
|
-
:
|
1169
|
-
:default
|
1170
|
-
:public
|
1171
|
-
:type
|
1503
|
+
:'instrumentation.elasticsearch' => {
|
1504
|
+
:default => 'auto',
|
1505
|
+
:public => true,
|
1506
|
+
:type => String,
|
1172
1507
|
:dynamic_name => true,
|
1173
1508
|
:allowed_from_server => false,
|
1174
|
-
:description
|
1509
|
+
:description => 'Controls auto-instrumentation of the elasticsearch library at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1175
1510
|
},
|
1176
|
-
:
|
1177
|
-
:default
|
1178
|
-
:public
|
1179
|
-
:type
|
1511
|
+
:'instrumentation.ethon' => {
|
1512
|
+
:default => 'auto',
|
1513
|
+
:public => true,
|
1514
|
+
:type => String,
|
1180
1515
|
:dynamic_name => true,
|
1181
1516
|
:allowed_from_server => false,
|
1182
|
-
:description
|
1517
|
+
:description => 'Controls auto-instrumentation of ethon at start up. May be one of `auto`, `prepend`, `chain`, `disabled`'
|
1183
1518
|
},
|
1184
|
-
:
|
1185
|
-
:default
|
1186
|
-
:
|
1187
|
-
:
|
1519
|
+
:'instrumentation.excon' => {
|
1520
|
+
:default => 'enabled',
|
1521
|
+
:documentation_default => 'enabled',
|
1522
|
+
:public => true,
|
1523
|
+
:type => String,
|
1188
1524
|
:dynamic_name => true,
|
1189
1525
|
:allowed_from_server => false,
|
1190
|
-
:description
|
1526
|
+
:description => 'Controls auto-instrumentation of Excon at start-up. May be one of: `enabled`, `disabled`.'
|
1191
1527
|
},
|
1192
|
-
:
|
1193
|
-
:default
|
1194
|
-
:public
|
1195
|
-
:type
|
1528
|
+
:'instrumentation.grape' => {
|
1529
|
+
:default => 'auto',
|
1530
|
+
:public => true,
|
1531
|
+
:type => String,
|
1196
1532
|
:dynamic_name => true,
|
1197
1533
|
:allowed_from_server => false,
|
1198
|
-
:description
|
1534
|
+
:description => 'Controls auto-instrumentation of Grape at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1199
1535
|
},
|
1200
|
-
:
|
1201
|
-
:default
|
1202
|
-
:
|
1203
|
-
:
|
1536
|
+
:'instrumentation.grpc_client' => {
|
1537
|
+
:default => 'auto',
|
1538
|
+
:documentation_default => 'auto',
|
1539
|
+
:public => true,
|
1540
|
+
:type => String,
|
1541
|
+
:dynamic_name => true,
|
1204
1542
|
:allowed_from_server => false,
|
1205
|
-
:description
|
1543
|
+
:description => 'Controls auto-instrumentation of gRPC clients at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1206
1544
|
},
|
1207
|
-
:
|
1208
|
-
:default
|
1209
|
-
:public
|
1210
|
-
:type
|
1545
|
+
:'instrumentation.grpc.host_denylist' => {
|
1546
|
+
:default => [],
|
1547
|
+
:public => true,
|
1548
|
+
:type => Array,
|
1211
1549
|
:allowed_from_server => false,
|
1212
|
-
:
|
1550
|
+
:transform => DefaultSource.method(:convert_to_regexp_list),
|
1551
|
+
: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.*"`)
|
1213
1552
|
},
|
1214
|
-
:'
|
1215
|
-
:default
|
1216
|
-
:
|
1217
|
-
:
|
1553
|
+
:'instrumentation.grpc_server' => {
|
1554
|
+
:default => 'auto',
|
1555
|
+
:documentation_default => 'auto',
|
1556
|
+
:public => true,
|
1557
|
+
:type => String,
|
1558
|
+
:dynamic_name => true,
|
1218
1559
|
:allowed_from_server => false,
|
1219
|
-
:description
|
1560
|
+
:description => 'Controls auto-instrumentation of gRPC servers at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1220
1561
|
},
|
1221
|
-
:'
|
1222
|
-
:default
|
1223
|
-
:
|
1224
|
-
:
|
1562
|
+
:'instrumentation.httpclient' => {
|
1563
|
+
:default => 'auto',
|
1564
|
+
:documentation_default => 'auto',
|
1565
|
+
:public => true,
|
1566
|
+
:type => String,
|
1567
|
+
:dynamic_name => true,
|
1225
1568
|
:allowed_from_server => false,
|
1226
|
-
:
|
1227
|
-
:description => 'List of prefixes for heroku dyno names (such as "scheduler") to report as hostname without trailing dot and process ID.'
|
1569
|
+
:description => 'Controls auto-instrumentation of HTTPClient at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1228
1570
|
},
|
1229
|
-
:
|
1230
|
-
:default
|
1231
|
-
:
|
1232
|
-
:
|
1571
|
+
:'instrumentation.httprb' => {
|
1572
|
+
:default => 'auto',
|
1573
|
+
:documentation_default => 'auto',
|
1574
|
+
:public => true,
|
1575
|
+
:type => String,
|
1576
|
+
:dynamic_name => true,
|
1233
1577
|
:allowed_from_server => false,
|
1234
|
-
:description
|
1578
|
+
:description => 'Controls auto-instrumentation of http.rb gem at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1235
1579
|
},
|
1236
|
-
:
|
1237
|
-
:default
|
1238
|
-
:
|
1239
|
-
:
|
1240
|
-
:
|
1241
|
-
:
|
1580
|
+
:'instrumentation.httpx' => {
|
1581
|
+
:default => 'auto',
|
1582
|
+
:documentation_default => 'auto',
|
1583
|
+
:public => true,
|
1584
|
+
:type => String,
|
1585
|
+
:dynamic_name => true,
|
1586
|
+
:allowed_from_server => false,
|
1587
|
+
:description => 'Controls auto-instrumentation of httpx at start up. May be one of `auto`, `prepend`, `chain`, `disabled`'
|
1242
1588
|
},
|
1243
|
-
:
|
1244
|
-
:default
|
1245
|
-
:
|
1246
|
-
:
|
1247
|
-
:
|
1248
|
-
:
|
1589
|
+
:'instrumentation.logger' => {
|
1590
|
+
:default => instrumentation_value_from_boolean(:'application_logging.enabled'),
|
1591
|
+
:documentation_default => 'auto',
|
1592
|
+
:public => true,
|
1593
|
+
:type => String,
|
1594
|
+
:dynamic_name => true,
|
1595
|
+
:allowed_from_server => false,
|
1596
|
+
:description => 'Controls auto-instrumentation of Ruby standard library Logger at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1249
1597
|
},
|
1250
|
-
:
|
1251
|
-
:default
|
1252
|
-
:
|
1253
|
-
:
|
1254
|
-
:
|
1598
|
+
:'instrumentation.memcache' => {
|
1599
|
+
:default => 'auto',
|
1600
|
+
:public => true,
|
1601
|
+
:type => String,
|
1602
|
+
:dynamic_name => true,
|
1255
1603
|
:allowed_from_server => false,
|
1256
|
-
:description
|
1604
|
+
:description => 'Controls auto-instrumentation of dalli gem for Memcache at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1257
1605
|
},
|
1258
|
-
:
|
1259
|
-
:default
|
1260
|
-
:
|
1261
|
-
:
|
1262
|
-
:
|
1263
|
-
:
|
1606
|
+
:'instrumentation.memcached' => {
|
1607
|
+
:default => 'auto',
|
1608
|
+
:documentation_default => 'auto',
|
1609
|
+
:public => true,
|
1610
|
+
:type => String,
|
1611
|
+
:dynamic_name => true,
|
1612
|
+
:allowed_from_server => false,
|
1613
|
+
:description => 'Controls auto-instrumentation of memcached gem for Memcache at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1264
1614
|
},
|
1265
|
-
:'
|
1266
|
-
:default
|
1267
|
-
:
|
1268
|
-
:
|
1269
|
-
:
|
1270
|
-
:
|
1271
|
-
:
|
1615
|
+
:'instrumentation.memcache_client' => {
|
1616
|
+
:default => 'auto',
|
1617
|
+
:documentation_default => 'auto',
|
1618
|
+
:public => true,
|
1619
|
+
:type => String,
|
1620
|
+
:dynamic_name => true,
|
1621
|
+
:allowed_from_server => false,
|
1622
|
+
:description => 'Controls auto-instrumentation of memcache-client gem for Memcache at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1272
1623
|
},
|
1273
|
-
:'
|
1274
|
-
:default
|
1275
|
-
:
|
1276
|
-
:
|
1277
|
-
:
|
1278
|
-
:
|
1624
|
+
:'instrumentation.mongo' => {
|
1625
|
+
:default => 'enabled',
|
1626
|
+
:documentation_default => 'enabled',
|
1627
|
+
:public => true,
|
1628
|
+
:type => String,
|
1629
|
+
:dynamic_name => true,
|
1630
|
+
:allowed_from_server => false,
|
1631
|
+
:description => 'Controls auto-instrumentation of Mongo at start-up. May be one of: `enabled`, `disabled`.'
|
1279
1632
|
},
|
1280
|
-
:'
|
1281
|
-
:default
|
1282
|
-
:
|
1283
|
-
:
|
1284
|
-
:
|
1285
|
-
:
|
1633
|
+
:'instrumentation.net_http' => {
|
1634
|
+
:default => 'auto',
|
1635
|
+
:documentation_default => 'auto',
|
1636
|
+
:public => true,
|
1637
|
+
:type => String,
|
1638
|
+
:dynamic_name => true,
|
1639
|
+
:allowed_from_server => false,
|
1640
|
+
:description => 'Controls auto-instrumentation of `Net::HTTP` at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1286
1641
|
},
|
1287
|
-
:'
|
1288
|
-
:default
|
1289
|
-
:
|
1290
|
-
:
|
1291
|
-
:
|
1292
|
-
:
|
1642
|
+
:'instrumentation.ruby_openai' => {
|
1643
|
+
:default => 'auto',
|
1644
|
+
:documentation_default => 'auto',
|
1645
|
+
:public => true,
|
1646
|
+
:type => String,
|
1647
|
+
:dynamic_name => true,
|
1648
|
+
:allowed_from_server => false,
|
1649
|
+
:description => 'Controls auto-instrumentation of the ruby-openai gem at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`. Defaults to `disabled` in high security mode.'
|
1293
1650
|
},
|
1294
|
-
:'
|
1295
|
-
:default
|
1296
|
-
:
|
1297
|
-
:
|
1298
|
-
:
|
1299
|
-
:
|
1300
|
-
:
|
1651
|
+
:'instrumentation.puma_rack' => {
|
1652
|
+
:default => value_of(:'instrumentation.rack'),
|
1653
|
+
:documentation_default => 'auto',
|
1654
|
+
:public => true,
|
1655
|
+
:type => String,
|
1656
|
+
:dynamic_name => true,
|
1657
|
+
:allowed_from_server => false,
|
1658
|
+
:description => 'Controls auto-instrumentation of `Puma::Rack`. When enabled, the agent hooks into the ' \
|
1659
|
+
'`to_app` method in `Puma::Rack::Builder` to find gems to instrument during ' \
|
1660
|
+
'application startup. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1301
1661
|
},
|
1302
|
-
:
|
1303
|
-
:default
|
1304
|
-
:
|
1305
|
-
:
|
1662
|
+
:'instrumentation.puma_rack_urlmap' => {
|
1663
|
+
:default => value_of(:'instrumentation.rack_urlmap'),
|
1664
|
+
:documentation_default => 'auto',
|
1665
|
+
:public => true,
|
1666
|
+
:type => String,
|
1667
|
+
:dynamic_name => true,
|
1306
1668
|
:allowed_from_server => false,
|
1307
|
-
:description
|
1669
|
+
:description => 'Controls auto-instrumentation of `Puma::Rack::URLMap` at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1308
1670
|
},
|
1309
|
-
:
|
1310
|
-
:default
|
1311
|
-
:
|
1312
|
-
:
|
1671
|
+
:'instrumentation.rack' => {
|
1672
|
+
:default => 'auto',
|
1673
|
+
:documentation_default => 'auto',
|
1674
|
+
:public => true,
|
1675
|
+
:type => String,
|
1676
|
+
:dynamic_name => true,
|
1313
1677
|
:allowed_from_server => false,
|
1314
|
-
:description
|
1678
|
+
:description => 'Controls auto-instrumentation of Rack. When enabled, the agent hooks into the ' \
|
1679
|
+
'`to_app` method in `Rack::Builder` to find gems to instrument during ' \
|
1680
|
+
'application startup. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1315
1681
|
},
|
1316
|
-
:'
|
1317
|
-
:default
|
1318
|
-
:
|
1319
|
-
:
|
1682
|
+
:'instrumentation.rack_urlmap' => {
|
1683
|
+
:default => 'auto',
|
1684
|
+
:documentation_default => 'auto',
|
1685
|
+
:public => true,
|
1686
|
+
:type => String,
|
1687
|
+
:dynamic_name => true,
|
1320
1688
|
:allowed_from_server => false,
|
1321
|
-
:description => '
|
1689
|
+
:description => 'Controls auto-instrumentation of `Rack::URLMap` at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1322
1690
|
},
|
1323
|
-
:'
|
1324
|
-
:default
|
1325
|
-
:public
|
1326
|
-
:type
|
1691
|
+
:'instrumentation.rake' => {
|
1692
|
+
:default => 'auto',
|
1693
|
+
:public => true,
|
1694
|
+
:type => String,
|
1695
|
+
:dynamic_name => true,
|
1327
1696
|
:allowed_from_server => false,
|
1328
|
-
:description => '
|
1697
|
+
:description => 'Controls auto-instrumentation of rake at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1329
1698
|
},
|
1330
|
-
:'
|
1331
|
-
:default
|
1332
|
-
:public
|
1333
|
-
:type
|
1699
|
+
:'instrumentation.redis' => {
|
1700
|
+
:default => 'auto',
|
1701
|
+
:public => true,
|
1702
|
+
:type => String,
|
1703
|
+
:dynamic_name => true,
|
1334
1704
|
:allowed_from_server => false,
|
1335
|
-
:description => '
|
1705
|
+
:description => 'Controls auto-instrumentation of Redis at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1336
1706
|
},
|
1337
|
-
:'
|
1338
|
-
:default
|
1339
|
-
:
|
1340
|
-
:
|
1707
|
+
:'instrumentation.resque' => {
|
1708
|
+
:default => 'auto',
|
1709
|
+
:documentation_default => 'auto',
|
1710
|
+
:public => true,
|
1711
|
+
:type => String,
|
1712
|
+
:dynamic_name => true,
|
1341
1713
|
:allowed_from_server => false,
|
1342
|
-
:description => '
|
1714
|
+
:description => 'Controls auto-instrumentation of resque at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1343
1715
|
},
|
1344
|
-
:'
|
1345
|
-
:default
|
1346
|
-
:public
|
1347
|
-
:type
|
1716
|
+
:'instrumentation.roda' => {
|
1717
|
+
:default => 'auto',
|
1718
|
+
:public => true,
|
1719
|
+
:type => String,
|
1720
|
+
:dynamic_name => true,
|
1348
1721
|
:allowed_from_server => false,
|
1349
|
-
:description => '
|
1722
|
+
:description => 'Controls auto-instrumentation of Roda at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1350
1723
|
},
|
1351
|
-
:'
|
1352
|
-
:default
|
1353
|
-
:public
|
1354
|
-
:type
|
1724
|
+
:'instrumentation.sinatra' => {
|
1725
|
+
:default => 'auto',
|
1726
|
+
:public => true,
|
1727
|
+
:type => String,
|
1728
|
+
:dynamic_name => true,
|
1355
1729
|
:allowed_from_server => false,
|
1356
|
-
:
|
1357
|
-
:description => 'Prefix of attributes to exclude from all destinations. Allows * as wildcard at end.'
|
1730
|
+
:description => 'Controls auto-instrumentation of Sinatra at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1358
1731
|
},
|
1359
|
-
:'
|
1360
|
-
:default
|
1361
|
-
:public
|
1362
|
-
:type
|
1732
|
+
:'instrumentation.stripe' => {
|
1733
|
+
:default => 'enabled',
|
1734
|
+
:public => true,
|
1735
|
+
:type => String,
|
1363
1736
|
:allowed_from_server => false,
|
1364
|
-
:
|
1365
|
-
:description => 'Prefix of attributes to exclude from transaction traces. Allows * as wildcard at end.'
|
1737
|
+
:description => 'Controls auto-instrumentation of Stripe at startup. May be one of: `enabled`, `disabled`.'
|
1366
1738
|
},
|
1367
|
-
:'
|
1368
|
-
:default
|
1369
|
-
:public
|
1370
|
-
:type
|
1739
|
+
:'instrumentation.view_component' => {
|
1740
|
+
:default => 'auto',
|
1741
|
+
:public => true,
|
1742
|
+
:type => String,
|
1743
|
+
:dynamic_name => true,
|
1371
1744
|
:allowed_from_server => false,
|
1372
|
-
:
|
1373
|
-
|
1745
|
+
:description => 'Controls auto-instrumentation of ViewComponent at startup. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1746
|
+
},
|
1747
|
+
:'stripe.user_data.include' => {
|
1748
|
+
default: NewRelic::EMPTY_ARRAY,
|
1749
|
+
public: true,
|
1750
|
+
type: Array,
|
1751
|
+
dynamic_name: true,
|
1752
|
+
allowed_from_server: false,
|
1753
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1754
|
+
:description => <<~DESCRIPTION
|
1755
|
+
An array of strings to specify which keys inside a Stripe event's `user_data` hash should be reported
|
1756
|
+
to New Relic. Each string in this array will be turned into a regular expression via `Regexp.new` to
|
1757
|
+
permit advanced matching. Setting the value to `["."]` will report all `user_data`.
|
1758
|
+
DESCRIPTION
|
1759
|
+
},
|
1760
|
+
:'stripe.user_data.exclude' => {
|
1761
|
+
default: NewRelic::EMPTY_ARRAY,
|
1762
|
+
public: true,
|
1763
|
+
type: Array,
|
1764
|
+
dynamic_name: true,
|
1765
|
+
allowed_from_server: false,
|
1766
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1767
|
+
:description => <<~DESCRIPTION
|
1768
|
+
An array of strings to specify which keys and/or values inside a Stripe event's `user_data` hash should
|
1769
|
+
not be reported to New Relic. Each string in this array will be turned into a regular expression via
|
1770
|
+
`Regexp.new` to permit advanced matching. For each hash pair, if either the key or value is matched the
|
1771
|
+
pair will not be reported. By default, no `user_data` is reported, so this option should only be used if
|
1772
|
+
the `stripe.user_data.include` option is being used.
|
1773
|
+
DESCRIPTION
|
1774
|
+
},
|
1775
|
+
:'instrumentation.thread' => {
|
1776
|
+
:default => 'auto',
|
1777
|
+
:public => true,
|
1778
|
+
:type => String,
|
1779
|
+
:dynamic_name => true,
|
1780
|
+
:allowed_from_server => false,
|
1781
|
+
: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`.'
|
1374
1782
|
},
|
1375
|
-
:'
|
1376
|
-
:default
|
1377
|
-
:public
|
1378
|
-
:type
|
1783
|
+
:'instrumentation.thread.tracing' => {
|
1784
|
+
:default => true,
|
1785
|
+
:public => true,
|
1786
|
+
:type => Boolean,
|
1379
1787
|
:allowed_from_server => false,
|
1380
|
-
:
|
1381
|
-
:description => 'Prefix of attributes to exclude from error collection. Allows * as wildcard at end.'
|
1788
|
+
:description => 'Controls auto-instrumentation of the Thread class at start-up to automatically add tracing to all Threads created in the application.'
|
1382
1789
|
},
|
1383
|
-
:'
|
1384
|
-
:default
|
1385
|
-
:public
|
1386
|
-
:type
|
1790
|
+
:'thread_ids_enabled' => {
|
1791
|
+
:default => false,
|
1792
|
+
:public => false,
|
1793
|
+
:type => Boolean,
|
1387
1794
|
:allowed_from_server => false,
|
1388
|
-
:
|
1389
|
-
:description => 'Prefix of attributes to exclude from browser monitoring. Allows * as wildcard at end.'
|
1795
|
+
:description => 'If enabled, will append the current Thread and Fiber object ids onto the segment names of segments created in Threads and concurrent-ruby'
|
1390
1796
|
},
|
1391
|
-
:'
|
1392
|
-
:default
|
1393
|
-
:public
|
1394
|
-
:type
|
1797
|
+
:'instrumentation.tilt' => {
|
1798
|
+
:default => 'auto',
|
1799
|
+
:public => true,
|
1800
|
+
:type => String,
|
1801
|
+
:dynamic_name => true,
|
1395
1802
|
:allowed_from_server => false,
|
1396
|
-
:
|
1397
|
-
:description => 'Prefix of attributes to include in all destinations. Allows * as wildcard at end.'
|
1803
|
+
:description => 'Controls auto-instrumentation of the Tilt template rendering library at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1398
1804
|
},
|
1399
|
-
:'
|
1400
|
-
:default
|
1401
|
-
:
|
1402
|
-
:
|
1805
|
+
:'instrumentation.typhoeus' => {
|
1806
|
+
:default => 'auto',
|
1807
|
+
:documentation_default => 'auto',
|
1808
|
+
:public => true,
|
1809
|
+
:type => String,
|
1810
|
+
:dynamic_name => true,
|
1403
1811
|
:allowed_from_server => false,
|
1404
|
-
:
|
1405
|
-
:description => 'Prefix of attributes to include in transaction traces. Allows * as wildcard at end.'
|
1812
|
+
:description => 'Controls auto-instrumentation of Typhoeus at start-up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
|
1406
1813
|
},
|
1407
|
-
|
1408
|
-
|
1409
|
-
:
|
1410
|
-
:
|
1814
|
+
# Message tracer
|
1815
|
+
:'message_tracer.segment_parameters.enabled' => {
|
1816
|
+
:default => true,
|
1817
|
+
:public => true,
|
1818
|
+
:type => Boolean,
|
1819
|
+
:allowed_from_server => true,
|
1820
|
+
:description => 'If `true`, the agent will collect metadata about messages and attach them as segment parameters.'
|
1821
|
+
},
|
1822
|
+
# Mongo
|
1823
|
+
:'mongo.capture_queries' => {
|
1824
|
+
:default => true,
|
1825
|
+
:public => true,
|
1826
|
+
:type => Boolean,
|
1827
|
+
:allowed_from_server => true,
|
1828
|
+
:description => 'If `true`, the agent captures Mongo queries in transaction traces.'
|
1829
|
+
},
|
1830
|
+
:'mongo.obfuscate_queries' => {
|
1831
|
+
:default => true,
|
1832
|
+
:public => true,
|
1833
|
+
:type => Boolean,
|
1834
|
+
:allowed_from_server => true,
|
1835
|
+
:description => 'If `true`, the agent obfuscates Mongo queries in transaction traces.'
|
1836
|
+
},
|
1837
|
+
# Process host
|
1838
|
+
:'process_host.display_name' => {
|
1839
|
+
:default => proc { NewRelic::Agent::Hostname.get },
|
1840
|
+
:public => true,
|
1841
|
+
:type => String,
|
1411
1842
|
:allowed_from_server => false,
|
1412
|
-
:
|
1413
|
-
:description => 'Prefix of attributes to include in transaction events. Allows * as wildcard at end.'
|
1843
|
+
: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).'
|
1414
1844
|
},
|
1415
|
-
|
1416
|
-
|
1417
|
-
:
|
1418
|
-
:
|
1845
|
+
# Rails
|
1846
|
+
:'defer_rails_initialization' => {
|
1847
|
+
:default => false,
|
1848
|
+
:public => true,
|
1849
|
+
:type => Boolean,
|
1850
|
+
:external => true, # this config is used directly from the ENV variables
|
1419
1851
|
:allowed_from_server => false,
|
1420
|
-
:
|
1421
|
-
|
1852
|
+
:description => <<-DESCRIPTION
|
1853
|
+
If `true`, when the agent is in an application using Ruby on Rails, it will start after `config/initializers` run.
|
1854
|
+
|
1855
|
+
<Callout variant="caution">
|
1856
|
+
This option may only be set by environment variable.
|
1857
|
+
</Callout>
|
1858
|
+
DESCRIPTION
|
1422
1859
|
},
|
1423
|
-
|
1424
|
-
|
1425
|
-
:
|
1426
|
-
:
|
1860
|
+
# Rake
|
1861
|
+
:'rake.tasks' => {
|
1862
|
+
:default => [],
|
1863
|
+
:public => true,
|
1864
|
+
:type => Array,
|
1865
|
+
:allowed_from_server => false,
|
1866
|
+
:transform => DefaultSource.method(:convert_to_regexp_list),
|
1867
|
+
:description => 'Specify an Array of Rake tasks to automatically instrument. ' \
|
1868
|
+
'This configuration option converts the Array to a RegEx list. If you\'d like ' \
|
1869
|
+
'to allow all tasks by default, use `rake.tasks: [.+]`. No rake tasks will be ' \
|
1870
|
+
'instrumented unless they\'re added to this list. For more information, ' \
|
1871
|
+
'visit the [New Relic Rake Instrumentation docs](/docs/apm/agents/ruby-agent/background-jobs/rake-instrumentation).'
|
1872
|
+
},
|
1873
|
+
:'rake.connect_timeout' => {
|
1874
|
+
:default => 10,
|
1875
|
+
:public => true,
|
1876
|
+
:type => Integer,
|
1877
|
+
:allowed_from_server => false,
|
1878
|
+
:description => 'Timeout for waiting on connect to complete before a rake task'
|
1879
|
+
},
|
1880
|
+
# Rules
|
1881
|
+
:'rules.ignore_url_regexes' => {
|
1882
|
+
:default => [],
|
1883
|
+
:public => true,
|
1884
|
+
:type => Array,
|
1885
|
+
:allowed_from_server => true,
|
1886
|
+
:transform => DefaultSource.method(:convert_to_regexp_list),
|
1887
|
+
: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).'
|
1888
|
+
},
|
1889
|
+
# Serverless
|
1890
|
+
:'serverless_mode.enabled' => {
|
1891
|
+
:default => false,
|
1892
|
+
:public => true,
|
1893
|
+
:type => Boolean,
|
1894
|
+
:allowed_from_server => false,
|
1895
|
+
:transform => proc { |bool| NewRelic::Agent::ServerlessHandler.env_var_set? || bool },
|
1896
|
+
:description => 'If `true`, the agent will operate in a streamlined mode suitable for use with short-lived ' \
|
1897
|
+
'serverless functions. NOTE: Only AWS Lambda functions are supported currently and this ' \
|
1898
|
+
"option is not intended for use without [New Relic's Ruby Lambda layer](https://docs.newrelic.com/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/monitoring-aws-lambda-serverless-monitoring/) offering."
|
1899
|
+
},
|
1900
|
+
# Sidekiq
|
1901
|
+
:'sidekiq.args.include' => {
|
1902
|
+
default: NewRelic::EMPTY_ARRAY,
|
1903
|
+
public: true,
|
1904
|
+
type: Array,
|
1905
|
+
dynamic_name: true,
|
1906
|
+
allowed_from_server: false,
|
1907
|
+
description: <<~SIDEKIQ_ARGS_INCLUDE.chomp.tr("\n", ' ')
|
1908
|
+
An array of strings that will collectively serve as an allowlist for filtering which Sidekiq
|
1909
|
+
job arguments get reported to New Relic. To capture any Sidekiq arguments,
|
1910
|
+
'job.sidekiq.args.*' must be added to the separate `:'attributes.include'` configuration option. Each
|
1911
|
+
string in this array will be turned into a regular expression via `Regexp.new` to permit advanced
|
1912
|
+
matching. For job argument hashes, if either a key or value matches the pair will be included. All
|
1913
|
+
matching job argument array elements and job argument scalars will be included.
|
1914
|
+
SIDEKIQ_ARGS_INCLUDE
|
1915
|
+
},
|
1916
|
+
:'sidekiq.args.exclude' => {
|
1917
|
+
default: NewRelic::EMPTY_ARRAY,
|
1918
|
+
public: true,
|
1919
|
+
type: Array,
|
1920
|
+
dynamic_name: true,
|
1921
|
+
allowed_from_server: false,
|
1922
|
+
description: <<~SIDEKIQ_ARGS_EXCLUDE.chomp.tr("\n", ' ')
|
1923
|
+
An array of strings that will collectively serve as a denylist for filtering which Sidekiq
|
1924
|
+
job arguments get reported to New Relic. To capture any Sidekiq arguments,
|
1925
|
+
'job.sidekiq.args.*' must be added to the separate `:'attributes.include'` configuration option. Each string
|
1926
|
+
in this array will be turned into a regular expression via `Regexp.new` to permit advanced matching.
|
1927
|
+
For job argument hashes, if either a key or value matches the pair will be excluded. All matching job
|
1928
|
+
argument array elements and job argument scalars will be excluded.
|
1929
|
+
SIDEKIQ_ARGS_EXCLUDE
|
1930
|
+
},
|
1931
|
+
# Slow SQL
|
1932
|
+
:'slow_sql.enabled' => {
|
1933
|
+
:default => value_of(:'transaction_tracer.enabled'),
|
1934
|
+
:documentation_default => true,
|
1935
|
+
:public => true,
|
1936
|
+
:type => Boolean,
|
1937
|
+
:allowed_from_server => true,
|
1938
|
+
:description => 'If `true`, the agent collects [slow SQL queries](/docs/apm/applications-menu/monitoring/viewing-slow-query-details).'
|
1939
|
+
},
|
1940
|
+
:'slow_sql.explain_threshold' => {
|
1941
|
+
:default => value_of(:'transaction_tracer.explain_threshold'),
|
1942
|
+
:documentation_default => 0.5,
|
1943
|
+
:public => true,
|
1944
|
+
:type => Float,
|
1945
|
+
:allowed_from_server => true,
|
1946
|
+
: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.'
|
1947
|
+
},
|
1948
|
+
:'slow_sql.explain_enabled' => {
|
1949
|
+
:default => value_of(:'transaction_tracer.explain_enabled'),
|
1950
|
+
:documentation_default => true,
|
1951
|
+
:public => true,
|
1952
|
+
:type => Boolean,
|
1953
|
+
:allowed_from_server => true,
|
1954
|
+
: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.'
|
1955
|
+
},
|
1956
|
+
:'slow_sql.record_sql' => {
|
1957
|
+
:default => value_of(:'transaction_tracer.record_sql'),
|
1958
|
+
:documentation_default => 'obfuscated',
|
1959
|
+
:public => true,
|
1960
|
+
:type => String,
|
1961
|
+
:allowed_from_server => true,
|
1962
|
+
:description => 'Defines an obfuscation level for slow SQL queries. Valid options are `obfuscated`, `raw`, or `none`.'
|
1963
|
+
},
|
1964
|
+
:'slow_sql.use_longer_sql_id' => {
|
1965
|
+
:default => false,
|
1966
|
+
:public => true,
|
1967
|
+
:type => Boolean,
|
1968
|
+
:allowed_from_server => true,
|
1969
|
+
:description => 'Generate a longer `sql_id` for slow SQL traces. `sql_id` is used for aggregation of similar queries.'
|
1970
|
+
},
|
1971
|
+
# Span events
|
1972
|
+
:'span_events.enabled' => {
|
1973
|
+
:default => true,
|
1974
|
+
:public => true,
|
1975
|
+
:type => Boolean,
|
1976
|
+
:allowed_from_server => true,
|
1977
|
+
:description => 'If `true`, enables span event sampling.'
|
1978
|
+
},
|
1979
|
+
:'span_events.queue_size' => {
|
1980
|
+
:default => 10_000,
|
1981
|
+
:public => true,
|
1982
|
+
:type => Integer,
|
1983
|
+
:allowed_from_server => false,
|
1984
|
+
:external => :infinite_tracing,
|
1985
|
+
:description => 'Sets the maximum number of span events to buffer when streaming to the trace observer.'
|
1986
|
+
},
|
1987
|
+
:'span_events.max_samples_stored' => {
|
1988
|
+
:default => 2000,
|
1989
|
+
:public => true,
|
1990
|
+
:type => Integer,
|
1991
|
+
:allowed_from_server => true,
|
1992
|
+
:description => <<~DESC
|
1993
|
+
* Defines the maximum number of span events reported from a single harvest. Any Integer between `1` and `10000` is valid.'
|
1994
|
+
* When configuring the agent for [AI monitoring](/docs/ai-monitoring/intro-to-ai-monitoring), set to max value `10000`.\
|
1995
|
+
This ensures the agent captures the maximum amount of distributed traces.
|
1996
|
+
DESC
|
1997
|
+
},
|
1998
|
+
# Strip exception messages
|
1999
|
+
:'strip_exception_messages.enabled' => {
|
2000
|
+
:default => value_of(:high_security),
|
2001
|
+
:documentation_default => false,
|
2002
|
+
:public => true,
|
2003
|
+
:type => Boolean,
|
2004
|
+
:allowed_from_server => false,
|
2005
|
+
: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).'
|
2006
|
+
},
|
2007
|
+
:'strip_exception_messages.allowed_classes' => {
|
2008
|
+
:default => '',
|
2009
|
+
:public => true,
|
2010
|
+
:type => String,
|
2011
|
+
:allowed_from_server => false,
|
2012
|
+
:transform => DefaultSource.method(:convert_to_constant_list),
|
2013
|
+
: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"`.'
|
2014
|
+
},
|
2015
|
+
# Thread profiler
|
2016
|
+
:'thread_profiler.enabled' => {
|
2017
|
+
:default => DefaultSource.thread_profiler_enabled,
|
2018
|
+
:documentation_default => false,
|
2019
|
+
:public => true,
|
2020
|
+
:type => Boolean,
|
2021
|
+
:allowed_from_server => true,
|
2022
|
+
:description => 'If `true`, enables use of the [thread profiler](/docs/apm/applications-menu/events/thread-profiler-tool).'
|
2023
|
+
},
|
2024
|
+
# Utilization
|
2025
|
+
:'utilization.detect_aws' => {
|
2026
|
+
:default => true,
|
2027
|
+
:public => true,
|
2028
|
+
:type => Boolean,
|
2029
|
+
:allowed_from_server => false,
|
2030
|
+
:dynamic_name => true,
|
2031
|
+
:description => 'If `true`, the agent automatically detects that it is running in an AWS environment.'
|
2032
|
+
},
|
2033
|
+
:'utilization.detect_azure' => {
|
2034
|
+
:default => true,
|
2035
|
+
:public => true,
|
2036
|
+
:type => Boolean,
|
2037
|
+
:allowed_from_server => false,
|
2038
|
+
:dynamic_name => true,
|
2039
|
+
:description => 'If `true`, the agent automatically detects that it is running in an Azure environment.'
|
2040
|
+
},
|
2041
|
+
:'utilization.detect_docker' => {
|
2042
|
+
:default => true,
|
2043
|
+
:public => true,
|
2044
|
+
:type => Boolean,
|
2045
|
+
:allowed_from_server => false,
|
2046
|
+
:description => 'If `true`, the agent automatically detects that it is running in Docker.'
|
2047
|
+
},
|
2048
|
+
:'utilization.detect_gcp' => {
|
2049
|
+
:default => true,
|
2050
|
+
:public => true,
|
2051
|
+
:type => Boolean,
|
2052
|
+
:allowed_from_server => false,
|
2053
|
+
:dynamic_name => true,
|
2054
|
+
:description => 'If `true`, the agent automatically detects that it is running in an Google Cloud Platform environment.'
|
2055
|
+
},
|
2056
|
+
:'utilization.detect_kubernetes' => {
|
2057
|
+
:default => true,
|
2058
|
+
:public => true,
|
2059
|
+
:type => Boolean,
|
2060
|
+
:allowed_from_server => false,
|
2061
|
+
:description => 'If `true`, the agent automatically detects that it is running in Kubernetes.'
|
2062
|
+
},
|
2063
|
+
:'utilization.detect_pcf' => {
|
2064
|
+
:default => true,
|
2065
|
+
:public => true,
|
2066
|
+
:type => Boolean,
|
2067
|
+
:allowed_from_server => false,
|
2068
|
+
:dynamic_name => true,
|
2069
|
+
:description => 'If `true`, the agent automatically detects that it is running in a Pivotal Cloud Foundry environment.'
|
2070
|
+
},
|
2071
|
+
# Private
|
2072
|
+
:account_id => {
|
2073
|
+
:default => nil,
|
2074
|
+
:allow_nil => true,
|
2075
|
+
:public => false,
|
2076
|
+
:type => String,
|
2077
|
+
:allowed_from_server => true,
|
2078
|
+
:description => 'The account id associated with your application.'
|
2079
|
+
},
|
2080
|
+
:aggressive_keepalive => {
|
2081
|
+
:default => true,
|
2082
|
+
:public => false,
|
2083
|
+
:type => Boolean,
|
2084
|
+
:allowed_from_server => true,
|
2085
|
+
:description => 'If true, attempt to keep the TCP connection to the collector alive between harvests.'
|
2086
|
+
},
|
2087
|
+
:api_host => {
|
2088
|
+
:default => DefaultSource.api_host,
|
2089
|
+
:public => false,
|
2090
|
+
:type => String,
|
2091
|
+
:allowed_from_server => false,
|
2092
|
+
:description => 'API host for New Relic.'
|
2093
|
+
},
|
2094
|
+
:api_port => {
|
2095
|
+
:default => value_of(:port),
|
2096
|
+
:public => false,
|
2097
|
+
:type => Integer,
|
2098
|
+
:allowed_from_server => false,
|
2099
|
+
:description => 'Port for the New Relic API host.'
|
2100
|
+
},
|
2101
|
+
:application_id => {
|
2102
|
+
:default => '',
|
2103
|
+
:public => false,
|
2104
|
+
:type => String,
|
2105
|
+
:allowed_from_server => true,
|
2106
|
+
:description => 'Application ID for real user monitoring.'
|
2107
|
+
},
|
2108
|
+
:beacon => {
|
2109
|
+
:default => '',
|
2110
|
+
:public => false,
|
2111
|
+
:type => String,
|
2112
|
+
:allowed_from_server => true,
|
2113
|
+
:description => 'Beacon for real user monitoring.'
|
2114
|
+
},
|
2115
|
+
:browser_key => {
|
2116
|
+
:default => '',
|
2117
|
+
:public => false,
|
2118
|
+
:type => String,
|
2119
|
+
:allowed_from_server => true,
|
2120
|
+
:description => 'Real user monitoring license key for the browser timing header.'
|
2121
|
+
},
|
2122
|
+
:'browser_monitoring.loader' => {
|
2123
|
+
:default => 'rum',
|
2124
|
+
:public => false,
|
2125
|
+
:type => String,
|
2126
|
+
:allowed_from_server => true,
|
2127
|
+
:description => 'Type of JavaScript agent loader to use for browser monitoring instrumentation.'
|
2128
|
+
},
|
2129
|
+
:'browser_monitoring.loader_version' => {
|
2130
|
+
:default => '',
|
2131
|
+
:public => false,
|
2132
|
+
:type => String,
|
2133
|
+
:allowed_from_server => true,
|
2134
|
+
:description => 'Version of JavaScript agent loader (returned from the New Relic [collector](/docs/apm/new-relic-apm/getting-started/glossary#collector).)'
|
2135
|
+
},
|
2136
|
+
:'browser_monitoring.debug' => {
|
2137
|
+
:default => false,
|
2138
|
+
:public => false,
|
2139
|
+
:type => Boolean,
|
2140
|
+
:allowed_from_server => true,
|
2141
|
+
:description => 'Enable or disable debugging version of JavaScript agent loader for browser monitoring instrumentation.'
|
2142
|
+
},
|
2143
|
+
:'browser_monitoring.ssl_for_http' => {
|
2144
|
+
:default => nil,
|
2145
|
+
:allow_nil => true,
|
2146
|
+
:public => false,
|
2147
|
+
:type => Boolean,
|
2148
|
+
:allowed_from_server => true,
|
2149
|
+
:description => 'Enable or disable HTTPS instrumentation by JavaScript agent on HTTP pages.'
|
2150
|
+
},
|
2151
|
+
:compressed_content_encoding => {
|
2152
|
+
:default => 'gzip',
|
2153
|
+
:public => false,
|
2154
|
+
:type => String,
|
2155
|
+
:allowed_from_server => false,
|
2156
|
+
:description => 'Encoding to use if data needs to be compressed. The options are deflate and gzip.'
|
2157
|
+
},
|
2158
|
+
:config_search_paths => {
|
2159
|
+
:default => DefaultSource.config_search_paths,
|
2160
|
+
:public => false,
|
2161
|
+
:type => Array,
|
2162
|
+
:allowed_from_server => false,
|
2163
|
+
:description => "An array of candidate locations for the agent's configuration file."
|
2164
|
+
},
|
2165
|
+
:cross_process_id => {
|
2166
|
+
:default => '',
|
2167
|
+
:public => false,
|
2168
|
+
:type => String,
|
2169
|
+
:allowed_from_server => true,
|
2170
|
+
:description => 'Cross process ID for cross-application tracing.'
|
2171
|
+
},
|
2172
|
+
:data_report_period => {
|
2173
|
+
:default => 60,
|
2174
|
+
:public => false,
|
2175
|
+
:type => Integer,
|
2176
|
+
:allowed_from_server => true,
|
2177
|
+
:description => 'Number of seconds betwixt connections to the New Relic data collection service.'
|
2178
|
+
},
|
2179
|
+
:dispatcher => {
|
2180
|
+
:default => DefaultSource.dispatcher,
|
2181
|
+
:public => false,
|
2182
|
+
:type => Symbol,
|
2183
|
+
:allowed_from_server => false,
|
2184
|
+
:description => 'Autodetected application component that reports metrics to New Relic.'
|
2185
|
+
},
|
2186
|
+
:disable_harvest_thread => {
|
2187
|
+
:default => false,
|
2188
|
+
:public => false,
|
2189
|
+
:type => Boolean,
|
2190
|
+
:allowed_from_server => false,
|
2191
|
+
:description => 'Enable or disable the harvest thread.'
|
2192
|
+
},
|
2193
|
+
:disable_rails_middleware => {
|
2194
|
+
:default => false,
|
2195
|
+
:public => false,
|
2196
|
+
:type => Boolean,
|
2197
|
+
:allowed_from_server => false,
|
2198
|
+
:description => 'Internal name for controlling Rails 3+ middleware instrumentation'
|
2199
|
+
},
|
2200
|
+
:enabled => {
|
2201
|
+
:default => true,
|
2202
|
+
:public => false,
|
2203
|
+
:type => Boolean,
|
2204
|
+
:aliases => [:enable],
|
2205
|
+
:allowed_from_server => false,
|
2206
|
+
:description => 'Enable or disable the agent.'
|
2207
|
+
},
|
2208
|
+
:encoding_key => {
|
2209
|
+
:default => '',
|
2210
|
+
:public => false,
|
2211
|
+
:type => String,
|
2212
|
+
:allowed_from_server => true,
|
2213
|
+
:description => 'Encoding key for cross-application tracing.'
|
2214
|
+
},
|
2215
|
+
:entity_guid => {
|
2216
|
+
:default => nil,
|
2217
|
+
:allow_nil => true,
|
2218
|
+
:public => false,
|
2219
|
+
:type => String,
|
2220
|
+
:allowed_from_server => true,
|
2221
|
+
:description => 'The [Entity GUID](/attribute-dictionary/span/entityguid) for the entity running your agent.'
|
2222
|
+
},
|
2223
|
+
:error_beacon => {
|
2224
|
+
:default => '',
|
2225
|
+
:public => false,
|
2226
|
+
:type => String,
|
2227
|
+
:allowed_from_server => true,
|
2228
|
+
:description => 'Error beacon for real user monitoring.'
|
2229
|
+
},
|
2230
|
+
:event_report_period => {
|
2231
|
+
:default => 60,
|
2232
|
+
:public => false,
|
2233
|
+
:type => Integer,
|
2234
|
+
:allowed_from_server => true,
|
2235
|
+
:description => 'Number of seconds betwixt connections to the New Relic event collection services.'
|
2236
|
+
},
|
2237
|
+
:'event_report_period.transaction_event_data' => {
|
2238
|
+
:default => 60,
|
2239
|
+
:public => false,
|
2240
|
+
:type => Integer,
|
2241
|
+
:dynamic_name => true,
|
2242
|
+
:allowed_from_server => true,
|
2243
|
+
:description => 'Number of seconds betwixt connections to the New Relic transaction event collection services.'
|
2244
|
+
},
|
2245
|
+
:'event_report_period.custom_event_data' => {
|
2246
|
+
:default => 60,
|
2247
|
+
:public => false,
|
2248
|
+
:type => Integer,
|
2249
|
+
:dynamic_name => true,
|
2250
|
+
:allowed_from_server => true,
|
2251
|
+
:description => 'Number of seconds betwixt connections to the New Relic custom event collection services.'
|
2252
|
+
},
|
2253
|
+
:'event_report_period.error_event_data' => {
|
2254
|
+
:default => 60,
|
2255
|
+
:public => false,
|
2256
|
+
:type => Integer,
|
2257
|
+
:dynamic_name => true,
|
2258
|
+
:allowed_from_server => true,
|
2259
|
+
:description => 'Number of seconds betwixt connections to the New Relic error event collection services.'
|
2260
|
+
},
|
2261
|
+
:'event_report_period.log_event_data' => {
|
2262
|
+
:default => 60,
|
2263
|
+
:public => false,
|
2264
|
+
:type => Integer,
|
2265
|
+
:dynamic_name => true,
|
2266
|
+
:allowed_from_server => true,
|
2267
|
+
:description => 'Number of seconds betwixt connections to the New Relic log event collection services.'
|
2268
|
+
},
|
2269
|
+
:'event_report_period.span_event_data' => {
|
2270
|
+
:default => 60,
|
2271
|
+
:public => false,
|
2272
|
+
:type => Integer,
|
2273
|
+
:dynamic_name => true,
|
2274
|
+
:allowed_from_server => true,
|
2275
|
+
:description => 'Number of seconds betwixt connections to the New Relic span event collection services.'
|
2276
|
+
},
|
2277
|
+
:force_reconnect => {
|
2278
|
+
:default => false,
|
2279
|
+
:public => false,
|
2280
|
+
:type => Boolean,
|
2281
|
+
:allowed_from_server => false,
|
2282
|
+
: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.'
|
2283
|
+
},
|
2284
|
+
:framework => {
|
2285
|
+
:default => DefaultSource.framework,
|
2286
|
+
:public => false,
|
2287
|
+
:type => Symbol,
|
2288
|
+
:allowed_from_server => false,
|
2289
|
+
:description => 'Autodetected application framework used to enable framework-specific functionality.'
|
2290
|
+
},
|
2291
|
+
:host => {
|
2292
|
+
:default => DefaultSource.host,
|
2293
|
+
:public => false,
|
2294
|
+
:type => String,
|
2295
|
+
:allowed_from_server => false,
|
2296
|
+
:description => 'URI for the New Relic data collection service.'
|
2297
|
+
},
|
2298
|
+
:'infinite_tracing.batching' => {
|
2299
|
+
:default => true,
|
2300
|
+
:public => true,
|
2301
|
+
:type => Boolean,
|
2302
|
+
:allowed_from_server => false,
|
2303
|
+
:external => :infinite_tracing,
|
2304
|
+
:description => 'If `true` (the default), data sent to the trace observer is batched instead of ' \
|
2305
|
+
'sending each span individually.'
|
2306
|
+
},
|
2307
|
+
:'infinite_tracing.compression_level' => {
|
2308
|
+
:default => :high,
|
2309
|
+
:public => true,
|
2310
|
+
:type => Symbol,
|
2311
|
+
:allowed_from_server => false,
|
2312
|
+
:allowlist => %i[none low medium high],
|
2313
|
+
:external => :infinite_tracing,
|
2314
|
+
:description => <<~DESC
|
2315
|
+
Configure the compression level for data sent to the trace observer.
|
2316
|
+
|
2317
|
+
May be one of: `:none`, `:low`, `:medium`, `:high`.
|
2318
|
+
|
2319
|
+
Set the level to `:none` to disable compression.
|
2320
|
+
DESC
|
2321
|
+
},
|
2322
|
+
:js_agent_file => {
|
2323
|
+
:default => '',
|
2324
|
+
:public => false,
|
2325
|
+
:type => String,
|
2326
|
+
:allowed_from_server => true,
|
2327
|
+
:description => 'JavaScript agent file for real user monitoring.'
|
2328
|
+
},
|
2329
|
+
:js_agent_loader => {
|
2330
|
+
:default => '',
|
2331
|
+
:public => false,
|
2332
|
+
:type => String,
|
2333
|
+
:allowed_from_server => true,
|
2334
|
+
:description => 'JavaScript agent loader content.',
|
2335
|
+
:exclude_from_reported_settings => true
|
2336
|
+
},
|
2337
|
+
:keep_alive_timeout => {
|
2338
|
+
:default => 60,
|
2339
|
+
:public => false,
|
2340
|
+
:type => Integer,
|
2341
|
+
:allowed_from_server => true,
|
2342
|
+
:description => 'Timeout for keep alive on TCP connection to collector if supported by Ruby version. Only used in conjunction when aggressive_keepalive is enabled.'
|
2343
|
+
},
|
2344
|
+
:max_payload_size_in_bytes => {
|
2345
|
+
:default => 1000000,
|
2346
|
+
:public => false,
|
2347
|
+
:type => Integer,
|
2348
|
+
:allowed_from_server => true,
|
2349
|
+
:description => 'Maximum number of bytes to send to the New Relic data collection service.'
|
2350
|
+
},
|
2351
|
+
:normalize_json_string_encodings => {
|
2352
|
+
:default => true,
|
2353
|
+
:public => false,
|
2354
|
+
:type => Boolean,
|
2355
|
+
:allowed_from_server => false,
|
2356
|
+
:description => 'Controls whether to normalize string encodings prior to serializing data for the collector to JSON.'
|
2357
|
+
},
|
2358
|
+
:port => {
|
2359
|
+
:default => 443,
|
2360
|
+
:public => false,
|
2361
|
+
:type => Integer,
|
2362
|
+
:allowed_from_server => false,
|
2363
|
+
:description => 'Port for the New Relic data collection service.'
|
2364
|
+
},
|
2365
|
+
:primary_application_id => {
|
2366
|
+
:default => nil,
|
2367
|
+
:allow_nil => true,
|
2368
|
+
:public => false,
|
2369
|
+
:type => String,
|
2370
|
+
:allowed_from_server => true,
|
2371
|
+
:description => 'The primary id associated with your application.'
|
2372
|
+
},
|
2373
|
+
:put_for_data_send => {
|
2374
|
+
:default => false,
|
2375
|
+
:public => false,
|
2376
|
+
:type => Boolean,
|
2377
|
+
:allowed_from_server => false,
|
2378
|
+
:description => 'Use HTTP PUT requests instead of POST.'
|
2379
|
+
},
|
2380
|
+
:report_instance_busy => {
|
2381
|
+
:default => true,
|
2382
|
+
:public => false,
|
2383
|
+
:type => Boolean,
|
2384
|
+
:allowed_from_server => false,
|
2385
|
+
:description => 'Enable or disable transmission of metrics recording the percentage of time application instances spend servicing requests (duty cycle metrics).'
|
2386
|
+
},
|
2387
|
+
:restart_thread_in_children => {
|
2388
|
+
:default => true,
|
2389
|
+
:public => false,
|
2390
|
+
:type => Boolean,
|
2391
|
+
:allowed_from_server => false,
|
2392
|
+
:description => 'Controls whether to check on running a transaction whether to respawn the harvest thread.'
|
2393
|
+
},
|
2394
|
+
:'resque.use_ruby_dns' => {
|
2395
|
+
:default => true,
|
2396
|
+
:public => false,
|
2397
|
+
:type => Boolean,
|
2398
|
+
:allowed_from_server => false,
|
2399
|
+
:description => 'Replace the libc DNS resolver with the all Ruby resolver Resolv'
|
2400
|
+
},
|
2401
|
+
:'rum.enabled' => {
|
2402
|
+
:default => true,
|
2403
|
+
:public => false,
|
2404
|
+
:type => Boolean,
|
2405
|
+
:allowed_from_server => true,
|
2406
|
+
:description => 'Enable or disable page load timing (sometimes referred to as real user monitoring or RUM).'
|
2407
|
+
},
|
2408
|
+
:sampling_target => {
|
2409
|
+
:default => 10,
|
2410
|
+
:public => false,
|
2411
|
+
:type => Integer,
|
2412
|
+
:allowed_from_server => true,
|
2413
|
+
:description => 'The target number of transactions to mark as sampled during a sampled period.'
|
2414
|
+
},
|
2415
|
+
:sampling_target_period_in_seconds => {
|
2416
|
+
:default => 60,
|
2417
|
+
:public => false,
|
2418
|
+
:type => Integer,
|
2419
|
+
:allowed_from_server => true,
|
2420
|
+
:description => 'The period during which a target number of transactions should be marked as sampled.'
|
2421
|
+
},
|
2422
|
+
:send_environment_info => {
|
2423
|
+
:default => true,
|
2424
|
+
:public => false,
|
2425
|
+
:type => Boolean,
|
2426
|
+
:allowed_from_server => false,
|
2427
|
+
:description => 'Enable or disable transmission of application environment information to the New Relic data collection service.'
|
2428
|
+
},
|
2429
|
+
:simple_compression => {
|
2430
|
+
:default => false,
|
2431
|
+
:public => false,
|
2432
|
+
:type => Boolean,
|
2433
|
+
:allowed_from_server => false,
|
2434
|
+
:description => 'When enabled the agent will compress payloads destined for the collector, but will not pre-compress parts of the payload.'
|
2435
|
+
},
|
2436
|
+
:skip_ar_instrumentation => {
|
2437
|
+
:default => false,
|
2438
|
+
:public => false,
|
2439
|
+
:type => Boolean,
|
2440
|
+
:allowed_from_server => false,
|
2441
|
+
:description => 'Enable or disable active record instrumentation.'
|
2442
|
+
},
|
2443
|
+
:'synthetics.traces_limit' => {
|
2444
|
+
:default => 20,
|
2445
|
+
:public => false,
|
2446
|
+
:type => Integer,
|
2447
|
+
:allowed_from_server => true,
|
2448
|
+
:description => 'Maximum number of synthetics transaction traces to hold for a given harvest'
|
2449
|
+
},
|
2450
|
+
:'synthetics.events_limit' => {
|
2451
|
+
:default => 200,
|
2452
|
+
:public => false,
|
2453
|
+
:type => Integer,
|
2454
|
+
:allowed_from_server => true,
|
2455
|
+
:description => 'Maximum number of synthetics transaction events to hold for a given harvest'
|
2456
|
+
},
|
2457
|
+
:test_mode => {
|
2458
|
+
:default => false,
|
2459
|
+
:public => false,
|
2460
|
+
:type => Boolean,
|
2461
|
+
:allowed_from_server => false,
|
2462
|
+
: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.'
|
2463
|
+
},
|
2464
|
+
:'thread_profiler.max_profile_overhead' => {
|
2465
|
+
:default => 0.05,
|
2466
|
+
:public => false,
|
2467
|
+
:type => Float,
|
2468
|
+
:allowed_from_server => true,
|
2469
|
+
:description => 'Maximum overhead percentage for thread profiling before agent reduces polling frequency'
|
2470
|
+
},
|
2471
|
+
:trusted_account_ids => {
|
2472
|
+
:default => [],
|
2473
|
+
:public => false,
|
2474
|
+
:type => Array,
|
2475
|
+
:allowed_from_server => true,
|
2476
|
+
: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.'
|
2477
|
+
},
|
2478
|
+
:trusted_account_key => {
|
2479
|
+
:default => nil,
|
2480
|
+
:allow_nil => true,
|
2481
|
+
:public => false,
|
2482
|
+
:type => String,
|
2483
|
+
:allowed_from_server => true,
|
2484
|
+
:description => 'A shared key to validate that a distributed trace payload came from a trusted account.'
|
2485
|
+
},
|
2486
|
+
:'utilization.billing_hostname' => {
|
2487
|
+
:default => nil,
|
2488
|
+
:allow_nil => true,
|
2489
|
+
:public => false,
|
2490
|
+
:type => String,
|
2491
|
+
:allowed_from_server => false,
|
2492
|
+
:description => 'The configured server name by a customer.'
|
2493
|
+
},
|
2494
|
+
:'utilization.logical_processors' => {
|
2495
|
+
:default => nil,
|
2496
|
+
:allow_nil => true,
|
2497
|
+
:public => false,
|
2498
|
+
:type => Integer,
|
2499
|
+
:allowed_from_server => false,
|
2500
|
+
:description => 'The total number of hyper-threaded execution contexts available.'
|
2501
|
+
},
|
2502
|
+
:'utilization.total_ram_mib' => {
|
2503
|
+
:default => nil,
|
2504
|
+
:allow_nil => true,
|
2505
|
+
:public => false,
|
2506
|
+
:type => Integer,
|
1427
2507
|
:allowed_from_server => false,
|
1428
|
-
:
|
1429
|
-
:description => 'Prefix of attributes to include in browser monitoring. Allows * as wildcard at end.'
|
2508
|
+
: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).'
|
1430
2509
|
}
|
1431
2510
|
}.freeze
|
2511
|
+
# rubocop:enable Metrics/CollectionLiteralLength
|
1432
2512
|
end
|
1433
2513
|
end
|
1434
2514
|
end
|