newrelic_rpm 5.7.0.350 → 7.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +9 -0
- data/.yardopts +1 -0
- data/CHANGELOG.md +788 -0
- data/CONTRIBUTING.md +106 -19
- data/Gemfile +6 -2
- data/Guardfile +18 -1
- data/LICENSE +208 -38
- data/README.md +80 -84
- data/ROADMAP.md +24 -0
- data/Rakefile +2 -0
- data/THIRD_PARTY_NOTICES.md +213 -0
- data/bin/nrdebug +1 -1
- data/init.rb +1 -1
- data/install.rb +1 -1
- data/lib/new_relic/agent/adaptive_sampler.rb +1 -1
- data/lib/new_relic/agent/agent.rb +176 -191
- data/lib/new_relic/agent/agent_logger.rb +5 -1
- data/lib/new_relic/agent/attribute_filter.rb +8 -8
- data/lib/new_relic/agent/attribute_processing.rb +1 -1
- data/lib/new_relic/agent/attributes.rb +152 -0
- data/lib/new_relic/agent/audit_logger.rb +11 -1
- data/lib/new_relic/agent/autostart.rb +19 -15
- data/lib/new_relic/agent/chained_call.rb +1 -1
- data/lib/new_relic/agent/commands/agent_command.rb +1 -1
- data/lib/new_relic/agent/commands/agent_command_router.rb +3 -22
- data/lib/new_relic/agent/commands/thread_profiler_session.rb +1 -1
- data/lib/new_relic/agent/configuration/default_source.rb +447 -89
- data/lib/new_relic/agent/configuration/dotted_hash.rb +1 -1
- data/lib/new_relic/agent/configuration/environment_source.rb +5 -3
- data/lib/new_relic/agent/configuration/event_harvest_config.rb +45 -0
- data/lib/new_relic/agent/configuration/high_security_source.rb +2 -1
- data/lib/new_relic/agent/configuration/manager.rb +16 -12
- data/lib/new_relic/agent/configuration/manual_source.rb +1 -1
- data/lib/new_relic/agent/configuration/mask_defaults.rb +1 -1
- data/lib/new_relic/agent/configuration/security_policy_source.rb +1 -1
- data/lib/new_relic/agent/configuration/server_source.rb +39 -4
- data/lib/new_relic/agent/configuration/yaml_source.rb +12 -7
- data/lib/new_relic/agent/configuration.rb +1 -1
- data/lib/new_relic/agent/connect/request_builder.rb +61 -0
- data/lib/new_relic/agent/connect/response_handler.rb +61 -0
- data/lib/new_relic/agent/custom_event_aggregator.rb +1 -1
- data/lib/new_relic/agent/database/explain_plan_helpers.rb +1 -1
- data/lib/new_relic/agent/database/obfuscation_helpers.rb +2 -2
- data/lib/new_relic/agent/database/obfuscator.rb +1 -1
- data/lib/new_relic/agent/database/postgres_explain_obfuscator.rb +1 -1
- data/lib/new_relic/agent/database.rb +2 -3
- data/lib/new_relic/agent/database_adapter.rb +33 -0
- data/lib/new_relic/agent/datastores/metric_helper.rb +2 -3
- data/lib/new_relic/agent/datastores/mongo/event_formatter.rb +3 -3
- data/lib/new_relic/agent/datastores/mongo/metric_translator.rb +1 -1
- data/lib/new_relic/agent/datastores/mongo/obfuscator.rb +9 -9
- data/lib/new_relic/agent/datastores/mongo/statement_formatter.rb +1 -1
- data/lib/new_relic/agent/datastores/mongo.rb +2 -2
- data/lib/new_relic/agent/datastores/redis.rb +1 -5
- data/lib/new_relic/agent/datastores.rb +7 -9
- data/lib/new_relic/agent/deprecator.rb +1 -1
- data/lib/new_relic/agent/{cross_app_payload.rb → distributed_tracing/cross_app_payload.rb} +3 -2
- data/lib/new_relic/agent/{cross_app_tracing.rb → distributed_tracing/cross_app_tracing.rb} +61 -46
- 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_trace_payload.rb → distributed_tracing/distributed_trace_payload.rb} +32 -113
- data/lib/new_relic/agent/distributed_tracing/distributed_trace_transport_type.rb +39 -0
- data/lib/new_relic/agent/distributed_tracing/trace_context.rb +246 -0
- data/lib/new_relic/agent/distributed_tracing/trace_context_payload.rb +126 -0
- data/lib/new_relic/agent/distributed_tracing.rb +115 -32
- data/lib/new_relic/agent/encoding_normalizer.rb +1 -1
- data/lib/new_relic/agent/error_collector.rb +37 -20
- data/lib/new_relic/agent/error_event_aggregator.rb +10 -7
- data/lib/new_relic/agent/error_trace_aggregator.rb +2 -1
- data/lib/new_relic/agent/event_aggregator.rb +27 -33
- data/lib/new_relic/agent/event_buffer.rb +1 -1
- data/lib/new_relic/agent/event_listener.rb +1 -1
- data/lib/new_relic/agent/event_loop.rb +1 -1
- data/lib/new_relic/agent/external.rb +13 -11
- data/lib/new_relic/agent/guid_generator.rb +28 -0
- data/lib/new_relic/agent/harvester.rb +1 -1
- data/lib/new_relic/agent/heap.rb +1 -1
- data/lib/new_relic/agent/hostname.rb +16 -2
- data/lib/new_relic/agent/http_clients/abstract.rb +82 -0
- data/lib/new_relic/agent/http_clients/curb_wrappers.rb +25 -20
- data/lib/new_relic/agent/http_clients/excon_wrappers.rb +29 -14
- data/lib/new_relic/agent/http_clients/http_rb_wrappers.rb +18 -22
- data/lib/new_relic/agent/http_clients/httpclient_wrappers.rb +11 -12
- data/lib/new_relic/agent/http_clients/net_http_wrappers.rb +17 -5
- data/lib/new_relic/agent/http_clients/typhoeus_wrappers.rb +5 -7
- data/lib/new_relic/agent/http_clients/uri_util.rb +12 -11
- data/lib/new_relic/agent/instrumentation/action_cable_subscriber.rb +26 -43
- data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +53 -73
- data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +81 -56
- data/lib/new_relic/agent/instrumentation/active_job.rb +7 -8
- data/lib/new_relic/agent/instrumentation/active_merchant.rb +1 -1
- data/lib/new_relic/agent/instrumentation/active_record.rb +85 -38
- data/lib/new_relic/agent/instrumentation/active_record_helper.rb +17 -6
- data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +152 -0
- data/lib/new_relic/agent/instrumentation/active_record_prepend.rb +35 -11
- data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +47 -49
- data/lib/new_relic/agent/instrumentation/active_storage.rb +1 -1
- data/lib/new_relic/agent/instrumentation/active_storage_subscriber.rb +13 -9
- data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +10 -9
- data/lib/new_relic/agent/instrumentation/authlogic.rb +1 -1
- data/lib/new_relic/agent/instrumentation/bunny/chain.rb +45 -0
- data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +152 -0
- data/lib/new_relic/agent/instrumentation/bunny/prepend.rb +35 -0
- data/lib/new_relic/agent/instrumentation/bunny.rb +13 -132
- data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +10 -4
- data/lib/new_relic/agent/instrumentation/curb/chain.rb +93 -0
- data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +222 -0
- data/lib/new_relic/agent/instrumentation/curb/prepend.rb +63 -0
- data/lib/new_relic/agent/instrumentation/curb.rb +11 -183
- data/lib/new_relic/agent/instrumentation/data_mapper.rb +5 -3
- data/lib/new_relic/agent/instrumentation/delayed_job/chain.rb +38 -0
- data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +53 -0
- data/lib/new_relic/agent/instrumentation/delayed_job/prepend.rb +34 -0
- data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +9 -49
- data/lib/new_relic/agent/instrumentation/excon/connection.rb +8 -5
- data/lib/new_relic/agent/instrumentation/excon/middleware.rb +3 -2
- data/lib/new_relic/agent/instrumentation/excon.rb +4 -3
- data/lib/new_relic/agent/instrumentation/grape/chain.rb +25 -0
- data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +100 -0
- data/lib/new_relic/agent/instrumentation/grape/prepend.rb +17 -0
- data/lib/new_relic/agent/instrumentation/grape.rb +14 -118
- data/lib/new_relic/agent/instrumentation/httpclient/chain.rb +25 -0
- data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +38 -0
- data/lib/new_relic/agent/instrumentation/httpclient/prepend.rb +17 -0
- data/lib/new_relic/agent/instrumentation/httpclient.rb +10 -30
- data/lib/new_relic/agent/instrumentation/httprb/chain.rb +22 -0
- data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +30 -0
- data/lib/new_relic/agent/instrumentation/httprb/prepend.rb +15 -0
- data/lib/new_relic/agent/instrumentation/httprb.rb +29 -0
- data/lib/new_relic/agent/instrumentation/ignore_actions.rb +1 -1
- data/lib/new_relic/agent/instrumentation/memcache/chain.rb +16 -0
- data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +39 -118
- data/lib/new_relic/agent/instrumentation/memcache/helper.rb +56 -0
- data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +88 -0
- data/lib/new_relic/agent/instrumentation/memcache/prepend.rb +88 -0
- data/lib/new_relic/agent/instrumentation/memcache.rb +55 -68
- data/lib/new_relic/agent/instrumentation/merb/controller.rb +1 -1
- data/lib/new_relic/agent/instrumentation/merb/errors.rb +1 -1
- data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +4 -2
- data/lib/new_relic/agent/instrumentation/middleware_tracing.rb +20 -11
- data/lib/new_relic/agent/instrumentation/mongo.rb +17 -4
- data/lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb +36 -3
- data/lib/new_relic/agent/instrumentation/net_http/chain.rb +25 -0
- data/lib/new_relic/agent/instrumentation/net_http/instrumentation.rb +40 -0
- data/lib/new_relic/agent/instrumentation/net_http/prepend.rb +21 -0
- data/lib/new_relic/agent/instrumentation/net_http.rb +39 -0
- data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +100 -0
- data/lib/new_relic/agent/instrumentation/padrino/chain.rb +34 -0
- data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +27 -0
- data/lib/new_relic/agent/instrumentation/padrino/prepend.rb +20 -0
- data/lib/new_relic/agent/instrumentation/padrino.rb +19 -52
- data/lib/new_relic/agent/instrumentation/passenger_instrumentation.rb +1 -1
- data/lib/new_relic/agent/instrumentation/queue_time.rb +1 -1
- data/lib/new_relic/agent/instrumentation/rack/chain.rb +57 -0
- data/lib/new_relic/agent/instrumentation/rack/helpers.rb +32 -0
- data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +73 -0
- data/lib/new_relic/agent/instrumentation/rack/prepend.rb +36 -0
- data/lib/new_relic/agent/instrumentation/rack.rb +30 -138
- data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +1 -1
- data/lib/new_relic/agent/instrumentation/rails/action_web_service.rb +1 -1
- data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +1 -1
- data/lib/new_relic/agent/instrumentation/rails_middleware.rb +1 -1
- data/lib/new_relic/agent/instrumentation/{rails5 → rails_notifications}/action_cable.rb +6 -7
- data/lib/new_relic/agent/instrumentation/{rails5 → rails_notifications}/action_controller.rb +4 -4
- data/lib/new_relic/agent/instrumentation/{rails4 → rails_notifications}/action_view.rb +4 -4
- data/lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb +1 -1
- data/lib/new_relic/agent/instrumentation/rake/chain.rb +25 -0
- data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +144 -0
- data/lib/new_relic/agent/instrumentation/rake/prepend.rb +14 -0
- data/lib/new_relic/agent/instrumentation/rake.rb +14 -155
- data/lib/new_relic/agent/instrumentation/redis/chain.rb +34 -0
- data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +65 -0
- data/lib/new_relic/agent/instrumentation/redis/prepend.rb +24 -0
- data/lib/new_relic/agent/instrumentation/redis.rb +11 -104
- data/lib/new_relic/agent/instrumentation/resque/chain.rb +22 -0
- data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +33 -0
- data/lib/new_relic/agent/instrumentation/resque/prepend.rb +16 -0
- data/lib/new_relic/agent/instrumentation/resque.rb +9 -26
- data/lib/new_relic/agent/instrumentation/sequel.rb +1 -1
- data/lib/new_relic/agent/instrumentation/sequel_helper.rb +1 -1
- data/lib/new_relic/agent/instrumentation/sidekiq.rb +48 -24
- data/lib/new_relic/agent/instrumentation/sinatra/chain.rb +55 -0
- data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +30 -35
- data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +118 -0
- data/lib/new_relic/agent/instrumentation/sinatra/prepend.rb +33 -0
- data/lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb +1 -1
- data/lib/new_relic/agent/instrumentation/sinatra.rb +21 -160
- data/lib/new_relic/agent/instrumentation/sunspot.rb +1 -1
- data/lib/new_relic/agent/instrumentation/typhoeus/chain.rb +22 -0
- data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +82 -0
- data/lib/new_relic/agent/instrumentation/typhoeus/prepend.rb +14 -0
- data/lib/new_relic/agent/instrumentation/typhoeus.rb +12 -74
- data/lib/new_relic/agent/instrumentation.rb +1 -1
- data/lib/new_relic/agent/internal_agent_error.rb +1 -1
- data/lib/new_relic/agent/javascript_instrumentor.rb +3 -3
- data/lib/new_relic/agent/log_once.rb +1 -1
- data/lib/new_relic/agent/logging.rb +139 -0
- data/lib/new_relic/agent/memory_logger.rb +1 -1
- data/lib/new_relic/agent/messaging.rb +15 -82
- data/lib/new_relic/agent/method_tracer.rb +10 -8
- data/lib/new_relic/agent/method_tracer_helpers.rb +5 -5
- data/lib/new_relic/agent/monitors/cross_app_monitor.rb +110 -0
- data/lib/new_relic/agent/monitors/distributed_tracing_monitor.rb +27 -0
- data/lib/new_relic/agent/{inbound_request_monitor.rb → monitors/inbound_request_monitor.rb} +4 -4
- data/lib/new_relic/agent/{synthetics_monitor.rb → monitors/synthetics_monitor.rb} +4 -7
- data/lib/new_relic/agent/monitors.rb +27 -0
- data/lib/new_relic/agent/new_relic_service/encoders.rb +1 -1
- data/lib/new_relic/agent/new_relic_service/json_marshaller.rb +1 -2
- data/lib/new_relic/agent/new_relic_service/marshaller.rb +6 -27
- data/lib/new_relic/agent/new_relic_service/security_policy_settings.rb +1 -1
- data/lib/new_relic/agent/new_relic_service.rb +95 -40
- data/lib/new_relic/agent/noticible_error.rb +22 -0
- data/lib/new_relic/agent/null_logger.rb +1 -1
- data/lib/new_relic/agent/obfuscator.rb +1 -1
- data/lib/new_relic/agent/parameter_filtering.rb +19 -6
- data/lib/new_relic/agent/payload_metric_mapping.rb +1 -1
- data/lib/new_relic/agent/pipe_channel_manager.rb +1 -1
- data/lib/new_relic/agent/pipe_service.rb +1 -1
- data/lib/new_relic/agent/prepend_supportability.rb +1 -1
- data/lib/new_relic/agent/priority_sampled_buffer.rb +9 -4
- data/lib/new_relic/agent/range_extensions.rb +1 -1
- data/lib/new_relic/agent/rules_engine/replacement_rule.rb +1 -1
- data/lib/new_relic/agent/rules_engine/segment_terms_rule.rb +1 -1
- data/lib/new_relic/agent/rules_engine.rb +1 -1
- data/lib/new_relic/agent/sampler.rb +1 -1
- data/lib/new_relic/agent/sampler_collection.rb +1 -1
- data/lib/new_relic/agent/samplers/cpu_sampler.rb +1 -1
- data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +1 -1
- data/lib/new_relic/agent/samplers/memory_sampler.rb +2 -2
- data/lib/new_relic/agent/samplers/object_sampler.rb +1 -1
- data/lib/new_relic/agent/samplers/vm_sampler.rb +1 -1
- data/lib/new_relic/agent/span_event_aggregator.rb +3 -5
- data/lib/new_relic/agent/span_event_primitive.rb +108 -54
- data/lib/new_relic/agent/sql_sampler.rb +10 -10
- data/lib/new_relic/agent/stats.rb +1 -1
- data/lib/new_relic/agent/stats_engine/gc_profiler.rb +2 -2
- data/lib/new_relic/agent/stats_engine/stats_hash.rb +1 -1
- data/lib/new_relic/agent/stats_engine.rb +3 -3
- data/lib/new_relic/agent/supported_versions.rb +3 -3
- data/lib/new_relic/agent/synthetics_event_aggregator.rb +1 -1
- data/lib/new_relic/agent/system_info.rb +18 -4
- data/lib/new_relic/agent/threading/agent_thread.rb +2 -2
- data/lib/new_relic/agent/threading/backtrace_node.rb +1 -1
- data/lib/new_relic/agent/threading/backtrace_service.rb +4 -4
- data/lib/new_relic/agent/threading/thread_profile.rb +10 -24
- data/lib/new_relic/agent/timestamp_sampled_buffer.rb +1 -1
- data/lib/new_relic/agent/tracer.rb +509 -0
- data/lib/new_relic/agent/transaction/abstract_segment.rb +33 -6
- data/lib/new_relic/agent/transaction/datastore_segment.rb +1 -1
- data/lib/new_relic/agent/transaction/distributed_tracer.rb +177 -0
- data/lib/new_relic/agent/transaction/distributed_tracing.rb +59 -149
- data/lib/new_relic/agent/transaction/external_request_segment.rb +32 -39
- data/lib/new_relic/agent/transaction/message_broker_segment.rb +5 -12
- data/lib/new_relic/agent/transaction/request_attributes.rb +1 -1
- data/lib/new_relic/agent/transaction/segment.rb +28 -2
- data/lib/new_relic/agent/transaction/slowest_sample_buffer.rb +1 -1
- data/lib/new_relic/agent/transaction/synthetics_sample_buffer.rb +1 -1
- data/lib/new_relic/agent/transaction/trace.rb +6 -13
- data/lib/new_relic/agent/transaction/trace_builder.rb +1 -2
- data/lib/new_relic/agent/transaction/trace_context.rb +168 -0
- data/lib/new_relic/agent/transaction/trace_node.rb +11 -9
- data/lib/new_relic/agent/transaction/tracing.rb +1 -100
- data/lib/new_relic/agent/transaction/transaction_sample_buffer.rb +1 -1
- data/lib/new_relic/agent/transaction.rb +140 -170
- data/lib/new_relic/agent/transaction_error_primitive.rb +11 -16
- data/lib/new_relic/agent/transaction_event_aggregator.rb +1 -1
- data/lib/new_relic/agent/transaction_event_primitive.rb +29 -40
- data/lib/new_relic/agent/transaction_event_recorder.rb +4 -4
- data/lib/new_relic/agent/transaction_metrics.rb +1 -1
- data/lib/new_relic/agent/transaction_sampler.rb +2 -6
- data/lib/new_relic/agent/transaction_time_aggregator.rb +20 -6
- data/lib/new_relic/agent/utilization/aws.rb +1 -1
- data/lib/new_relic/agent/utilization/azure.rb +1 -1
- data/lib/new_relic/agent/utilization/gcp.rb +1 -1
- data/lib/new_relic/agent/utilization/pcf.rb +1 -1
- data/lib/new_relic/agent/utilization/vendor.rb +1 -1
- data/lib/new_relic/agent/utilization_data.rb +37 -2
- data/lib/new_relic/agent/vm/jruby_vm.rb +1 -1
- data/lib/new_relic/agent/vm/monotonic_gc_profiler.rb +1 -1
- data/lib/new_relic/agent/vm/mri_vm.rb +7 -5
- data/lib/new_relic/agent/vm/snapshot.rb +1 -1
- data/lib/new_relic/agent/vm.rb +1 -1
- data/lib/new_relic/agent/worker_loop.rb +1 -1
- data/lib/new_relic/agent.rb +106 -18
- data/lib/new_relic/cli/command.rb +1 -1
- data/lib/new_relic/cli/commands/deployments.rb +2 -3
- data/lib/new_relic/cli/commands/install.rb +4 -3
- data/lib/new_relic/coerce.rb +32 -7
- data/lib/new_relic/collection_helper.rb +1 -1
- data/lib/new_relic/constants.rb +42 -0
- data/lib/new_relic/control/class_methods.rb +8 -2
- data/lib/new_relic/control/frameworks/external.rb +1 -1
- data/lib/new_relic/control/frameworks/merb.rb +1 -1
- data/lib/new_relic/control/frameworks/rails.rb +12 -10
- data/lib/new_relic/control/frameworks/rails3.rb +1 -1
- data/lib/new_relic/control/frameworks/rails4.rb +1 -1
- data/lib/new_relic/control/frameworks/{rails5.rb → rails_notifications.rb} +2 -2
- data/lib/new_relic/control/frameworks/ruby.rb +1 -1
- data/lib/new_relic/control/frameworks/sinatra.rb +1 -1
- data/lib/new_relic/control/frameworks.rb +1 -1
- data/lib/new_relic/control/instance_methods.rb +12 -2
- data/lib/new_relic/control/instrumentation.rb +1 -1
- data/lib/new_relic/control/server_methods.rb +1 -1
- data/lib/new_relic/control.rb +1 -1
- data/lib/new_relic/delayed_job_injection.rb +1 -1
- data/lib/new_relic/dependency_detection.rb +124 -14
- data/lib/new_relic/environment_report.rb +2 -4
- data/lib/new_relic/helper.rb +1 -1
- data/lib/new_relic/language_support.rb +1 -1
- data/lib/new_relic/latest_changes.rb +2 -2
- data/lib/new_relic/local_environment.rb +1 -1
- data/lib/new_relic/metric_data.rb +1 -1
- data/lib/new_relic/metric_spec.rb +1 -1
- data/lib/new_relic/noticed_error.rb +35 -18
- data/lib/new_relic/rack/agent_hooks.rb +1 -1
- data/lib/new_relic/rack/agent_middleware.rb +2 -2
- data/lib/new_relic/rack/browser_monitoring.rb +16 -9
- data/lib/new_relic/rack.rb +1 -1
- data/lib/new_relic/recipes/capistrano3.rb +1 -1
- data/lib/new_relic/recipes/capistrano_legacy.rb +1 -1
- data/lib/new_relic/recipes.rb +1 -1
- data/lib/new_relic/supportability_helper.rb +16 -1
- data/lib/new_relic/version.rb +3 -3
- data/lib/newrelic_rpm.rb +1 -1
- data/lib/sequel/extensions/newrelic_instrumentation.rb +1 -1
- data/lib/sequel/plugins/newrelic_instrumentation.rb +1 -1
- data/lib/tasks/all.rb +1 -1
- data/lib/tasks/config.rake +1 -2
- data/lib/tasks/multiverse.rb +35 -1
- data/lib/tasks/newrelic.rb +1 -1
- data/lib/tasks/tests.rake +6 -1
- data/newrelic_rpm.gemspec +22 -17
- data/recipes/newrelic.rb +1 -1
- data/test/agent_helper.rb +358 -78
- metadata +147 -66
- data/.travis.yml +0 -228
- data/cert/cacert.pem +0 -1177
- 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 -110
- data/lib/new_relic/agent/distributed_trace_monitor.rb +0 -41
- data/lib/new_relic/agent/http_clients/abstract_request.rb +0 -31
- data/lib/new_relic/agent/instrumentation/active_record_4.rb +0 -42
- data/lib/new_relic/agent/instrumentation/active_record_5.rb +0 -41
- data/lib/new_relic/agent/instrumentation/evented_subscriber.rb +0 -104
- data/lib/new_relic/agent/instrumentation/http.rb +0 -46
- data/lib/new_relic/agent/instrumentation/net.rb +0 -50
- data/lib/new_relic/agent/instrumentation/rails4/action_controller.rb +0 -32
- data/lib/new_relic/agent/instrumentation/rails5/action_view.rb +0 -27
- data/lib/new_relic/agent/transaction/attributes.rb +0 -154
- data/lib/new_relic/agent/transaction/xray_sample_buffer.rb +0 -64
- data/lib/new_relic/agent/transaction_state.rb +0 -186
- data/lib/new_relic/build.rb +0 -2
- data/lib/new_relic/metrics.rb +0 -13
- data/lib/tasks/versions.html.erb +0 -28
- data/lib/tasks/versions.postface.html +0 -8
- data/lib/tasks/versions.preface.html +0 -9
- data/lib/tasks/versions.rake +0 -65
- data/lib/tasks/versions.txt.erb +0 -14
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# This file is distributed under New Relic's license terms.
|
3
|
-
# See https://github.com/newrelic/
|
3
|
+
# See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
|
4
4
|
|
5
5
|
require 'forwardable'
|
6
6
|
|
@@ -15,6 +15,35 @@ module NewRelic
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
+
# Combines potentially two properties into one.
|
19
|
+
# Given the example:
|
20
|
+
# :disable_net_http and :prepend_net_instrumentation
|
21
|
+
# if :disable_net_http is true, then returned value is "disabled"
|
22
|
+
# if :prepend_net_instrumentation is false, then returned value is "chain"
|
23
|
+
# otherwise, "auto" is returned.
|
24
|
+
#
|
25
|
+
# Intent is:
|
26
|
+
# - if user sets disable_xxx property, then don't instrument
|
27
|
+
# - if user set prepend to `false` then we use method_alias chaining
|
28
|
+
# - auto, when returned means, try to use prepend unless conflicting gems discovered
|
29
|
+
#
|
30
|
+
def self.instrumentation_value_of(disable_key, prepend_key=nil)
|
31
|
+
Proc.new do
|
32
|
+
if NewRelic::Agent.config[disable_key]
|
33
|
+
"disabled"
|
34
|
+
elsif prepend_key && !NewRelic::Agent.config[prepend_key]
|
35
|
+
"chain"
|
36
|
+
else
|
37
|
+
"auto"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.deprecated_description new_setting, description
|
43
|
+
link_ref = new_setting.to_s.gsub(".", "-")
|
44
|
+
%{<a href="##{link_ref}"><code>#{new_setting}</code>}
|
45
|
+
end
|
46
|
+
|
18
47
|
class Boolean
|
19
48
|
def self.===(o)
|
20
49
|
TrueClass === o or FalseClass === o
|
@@ -48,23 +77,30 @@ module NewRelic
|
|
48
77
|
Proc.new {
|
49
78
|
paths = [
|
50
79
|
File.join("config","newrelic.yml"),
|
51
|
-
File.join("newrelic.yml")
|
80
|
+
File.join("newrelic.yml"),
|
81
|
+
File.join("config","newrelic.yml.erb"),
|
82
|
+
File.join("newrelic.yml.erb")
|
52
83
|
]
|
53
84
|
|
54
85
|
if NewRelic::Control.instance.root
|
55
86
|
paths << File.join(NewRelic::Control.instance.root, "config", "newrelic.yml")
|
56
87
|
paths << File.join(NewRelic::Control.instance.root, "newrelic.yml")
|
88
|
+
paths << File.join(NewRelic::Control.instance.root, "config", "newrelic.yml.erb")
|
89
|
+
paths << File.join(NewRelic::Control.instance.root, "newrelic.yml.erb")
|
57
90
|
end
|
58
91
|
|
59
92
|
if ENV["HOME"]
|
60
93
|
paths << File.join(ENV["HOME"], ".newrelic", "newrelic.yml")
|
61
94
|
paths << File.join(ENV["HOME"], "newrelic.yml")
|
95
|
+
paths << File.join(ENV["HOME"], ".newrelic", "newrelic.yml.erb")
|
96
|
+
paths << File.join(ENV["HOME"], "newrelic.yml.erb")
|
62
97
|
end
|
63
98
|
|
64
99
|
# If we're packaged for warbler, we can tell from GEM_HOME
|
65
100
|
if ENV["GEM_HOME"] && ENV["GEM_HOME"].end_with?(".jar!")
|
66
101
|
app_name = File.basename(ENV["GEM_HOME"], ".jar!")
|
67
102
|
paths << File.join(ENV["GEM_HOME"], app_name, "config", "newrelic.yml")
|
103
|
+
paths << File.join(ENV["GEM_HOME"], app_name, "config", "newrelic.yml.erb")
|
68
104
|
end
|
69
105
|
|
70
106
|
paths
|
@@ -91,12 +127,11 @@ module NewRelic
|
|
91
127
|
:rails
|
92
128
|
when 3
|
93
129
|
:rails3
|
94
|
-
when 4
|
95
|
-
:
|
96
|
-
when 5
|
97
|
-
:rails5
|
130
|
+
when 4..6
|
131
|
+
:rails_notifications
|
98
132
|
else
|
99
|
-
::NewRelic::Agent.logger.
|
133
|
+
::NewRelic::Agent.logger.warn "Detected untested Rails version #{Rails::VERSION::STRING}"
|
134
|
+
:rails_notifications
|
100
135
|
end
|
101
136
|
when defined?(::Sinatra) && defined?(::Sinatra::Base) then :sinatra
|
102
137
|
when defined?(::NewRelic::IA) then :external
|
@@ -170,6 +205,16 @@ module NewRelic
|
|
170
205
|
end
|
171
206
|
end
|
172
207
|
|
208
|
+
def self.api_host
|
209
|
+
Proc.new do
|
210
|
+
if String(NewRelic::Agent.config[:license_key]).start_with? 'eu'
|
211
|
+
'rpm.eu.newrelic.com'
|
212
|
+
else
|
213
|
+
'rpm.newrelic.com'
|
214
|
+
end
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
173
218
|
def self.convert_to_regexp_list(raw_value)
|
174
219
|
value_list = convert_to_list(raw_value)
|
175
220
|
value_list.map do |value|
|
@@ -188,6 +233,15 @@ module NewRelic
|
|
188
233
|
end
|
189
234
|
end
|
190
235
|
|
236
|
+
SEMICOLON = ';'.freeze
|
237
|
+
def self.convert_to_list_on_semicolon value
|
238
|
+
case value
|
239
|
+
when Array then value
|
240
|
+
when String then value.split(SEMICOLON)
|
241
|
+
else []
|
242
|
+
end
|
243
|
+
end
|
244
|
+
|
191
245
|
def self.convert_to_constant_list(raw_value)
|
192
246
|
const_names = convert_to_list(raw_value)
|
193
247
|
const_names.map! do |class_name|
|
@@ -201,9 +255,19 @@ module NewRelic
|
|
201
255
|
end
|
202
256
|
const_names.compact
|
203
257
|
end
|
258
|
+
|
259
|
+
def self.enforce_fallback(allowed_values: nil, fallback: nil)
|
260
|
+
Proc.new do |configured_value|
|
261
|
+
if allowed_values.any? { |v| v =~ /#{configured_value}/i }
|
262
|
+
configured_value
|
263
|
+
else
|
264
|
+
fallback
|
265
|
+
end
|
266
|
+
end
|
267
|
+
end
|
204
268
|
end
|
205
269
|
|
206
|
-
|
270
|
+
AUTOSTART_DENYLISTED_RAKE_TASKS = [
|
207
271
|
'about',
|
208
272
|
'assets:clean',
|
209
273
|
'assets:clobber',
|
@@ -283,8 +347,17 @@ module NewRelic
|
|
283
347
|
:public => true,
|
284
348
|
:type => String,
|
285
349
|
:allowed_from_server => false,
|
350
|
+
:transform => DefaultSource.method(:convert_to_list_on_semicolon),
|
286
351
|
:description => 'Specify the <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/installation-configuration/name-your-application">application name</a> used to aggregate data in the New Relic UI. To report data to <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/installation-configuration/using-multiple-names-app">multiple apps at the same time</a>, specify a list of names separated by a semicolon <code>;</code>. For example, <code>MyApp</code> or <code>MyStagingApp;Instance1</code>.'
|
287
352
|
},
|
353
|
+
:entity_guid => {
|
354
|
+
:default => nil,
|
355
|
+
:allow_nil => true,
|
356
|
+
:public => true,
|
357
|
+
:type => String,
|
358
|
+
:allowed_from_server => true,
|
359
|
+
:description => 'The <a href="https://docs.newrelic.com/attribute-dictionary/span/entityguid">Entity GUID</a> for the entity running this agent.'
|
360
|
+
},
|
288
361
|
:monitor_mode => {
|
289
362
|
:default => value_of(:enabled),
|
290
363
|
:public => true,
|
@@ -359,7 +432,21 @@ module NewRelic
|
|
359
432
|
:public => true,
|
360
433
|
:type => Boolean,
|
361
434
|
:allowed_from_server => false,
|
362
|
-
:description => 'When <code>true</code>, the agent captures HTTP request parameters
|
435
|
+
:description => 'When <code>true</code>, the agent captures HTTP request parameters ' \
|
436
|
+
'and attaches them to transaction traces, traced errors, and ' \
|
437
|
+
'<a href="https://docs.newrelic.com/attribute-dictionary?attribute_name=&events_tids%5B%5D=8241">'\
|
438
|
+
'<code>TransactionError</code> events.' \
|
439
|
+
"\n" \
|
440
|
+
'<div class="callout-warning">' \
|
441
|
+
"\n" \
|
442
|
+
'<p>When using the <code>capture_params</code> setting, the Ruby agent will not attempt ' \
|
443
|
+
'to filter secret information. <b>Recommendation:</b> To filter secret information from ' \
|
444
|
+
'request parameters, use the <a href="/docs/agents/ruby-agent/attributes/enable-disable-attributes-ruby">' \
|
445
|
+
'<code>attributes.include</code> setting</a> instead. For more information, see the ' \
|
446
|
+
'<a href="/docs/agents/ruby-agent/attributes/ruby-attribute-examples#ex_req_params">' \
|
447
|
+
'Ruby attribute examples</a>.' \
|
448
|
+
"</p>\n" \
|
449
|
+
'</div>'
|
363
450
|
},
|
364
451
|
:config_path => {
|
365
452
|
:default => DefaultSource.config_path,
|
@@ -389,40 +476,43 @@ module NewRelic
|
|
389
476
|
:allowed_from_server => false,
|
390
477
|
:description => 'Autodetected application framework used to enable framework-specific functionality.'
|
391
478
|
},
|
392
|
-
:'autostart.
|
479
|
+
:'autostart.denylisted_constants' => {
|
393
480
|
:default => 'Rails::Console',
|
394
481
|
:public => true,
|
395
482
|
:type => String,
|
396
483
|
:allowed_from_server => false,
|
397
484
|
:description => 'Specify a list of constants that should prevent the agent from starting automatically. Separate individual constants with a comma <code>,</code>. For example, <code>Rails::Console,UninstrumentedBackgroundJob</code>.'
|
398
485
|
},
|
399
|
-
:'autostart.
|
486
|
+
:'autostart.denylisted_executables' => {
|
400
487
|
:default => 'irb,rspec',
|
401
488
|
:public => true,
|
402
489
|
:type => String,
|
403
490
|
:allowed_from_server => false,
|
404
491
|
:description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, <code>rake,my_ruby_script.rb</code>.'
|
405
492
|
},
|
406
|
-
:'autostart.
|
407
|
-
:default =>
|
493
|
+
:'autostart.denylisted_rake_tasks' => {
|
494
|
+
:default => AUTOSTART_DENYLISTED_RAKE_TASKS,
|
408
495
|
:public => true,
|
409
496
|
:type => String,
|
410
497
|
:allowed_from_server => false,
|
411
498
|
:description => 'Defines a comma-delimited list of Rake tasks that the agent should not instrument. For example, <code>assets:precompile,db:migrate</code>.'
|
412
499
|
},
|
500
|
+
|
413
501
|
:disable_rake => {
|
414
502
|
:default => false,
|
415
503
|
:public => true,
|
416
504
|
:type => Boolean,
|
417
505
|
:allowed_from_server => false,
|
418
|
-
:
|
506
|
+
:deprecated => true,
|
507
|
+
:description => deprecated_description(:'instrumentation.rake', 'If <code>true</code>, disables Rake instrumentation.')
|
419
508
|
},
|
420
509
|
:disable_rake_instrumentation => {
|
421
510
|
:default => false,
|
422
511
|
:public => false,
|
423
512
|
:type => Boolean,
|
424
513
|
:allowed_from_server => false,
|
425
|
-
:
|
514
|
+
:deprecated => true,
|
515
|
+
:description => deprecated_description(:'instrumentation.rake', 'Enable or disable Rake instrumentation. Preferred key is `disable_rake`')
|
426
516
|
},
|
427
517
|
:'rake.tasks' => {
|
428
518
|
:default => [],
|
@@ -452,15 +542,15 @@ module NewRelic
|
|
452
542
|
:public => true,
|
453
543
|
:type => Boolean,
|
454
544
|
:allowed_from_server => false,
|
455
|
-
:description => 'If true, the agent strips messages from all exceptions except those in the <a href="#strip_exception_messages-
|
545
|
+
:description => 'If true, the agent strips messages from all exceptions except those in the <a href="#strip_exception_messages-allowlist">allowlist</a>. Enabled automatically in <a href="https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security">high security mode</a>.'
|
456
546
|
},
|
457
|
-
:'strip_exception_messages.
|
547
|
+
:'strip_exception_messages.allowed_classes' => {
|
458
548
|
:default => '',
|
459
549
|
:public => true,
|
460
550
|
:type => String,
|
461
551
|
:allowed_from_server => false,
|
462
552
|
:transform => DefaultSource.method(:convert_to_constant_list),
|
463
|
-
:description => 'Specify a
|
553
|
+
:description => 'Specify a list of exceptions you do not want the agent to strip when <a href="#strip_exception_messages-enabled">strip_exception_messages</a> is <code>true</code>. Separate exceptions with a comma. For example, <code>"ImportantException,PreserveMessageException"</code>.'
|
464
554
|
},
|
465
555
|
:host => {
|
466
556
|
:default => DefaultSource.host,
|
@@ -470,7 +560,7 @@ module NewRelic
|
|
470
560
|
:description => "URI for the New Relic data collection service."
|
471
561
|
},
|
472
562
|
:api_host => {
|
473
|
-
:default =>
|
563
|
+
:default => DefaultSource.api_host,
|
474
564
|
:public => false,
|
475
565
|
:type => String,
|
476
566
|
:allowed_from_server => false,
|
@@ -519,7 +609,7 @@ module NewRelic
|
|
519
609
|
:description => 'Use HTTP PUT requests instead of POST.'
|
520
610
|
},
|
521
611
|
:compressed_content_encoding => {
|
522
|
-
:default => '
|
612
|
+
:default => 'gzip',
|
523
613
|
:public => false,
|
524
614
|
:type => String,
|
525
615
|
:allowed_from_server => false,
|
@@ -551,15 +641,46 @@ module NewRelic
|
|
551
641
|
:public => false,
|
552
642
|
:type => Integer,
|
553
643
|
:allowed_from_server => true,
|
554
|
-
:description => 'Number of seconds betwixt connections to the New Relic data collection service.
|
644
|
+
:description => 'Number of seconds betwixt connections to the New Relic data collection service.'
|
645
|
+
},
|
646
|
+
:event_report_period => {
|
647
|
+
:default => 60,
|
648
|
+
:public => false,
|
649
|
+
:type => Integer,
|
650
|
+
:allowed_from_server => true,
|
651
|
+
:description => 'Number of seconds betwixt connections to the New Relic event collection services.'
|
555
652
|
},
|
556
|
-
:'
|
653
|
+
:'event_report_period.analytic_event_data' => {
|
557
654
|
:default => 60,
|
558
655
|
:public => false,
|
559
656
|
:type => Integer,
|
560
657
|
:dynamic_name => true,
|
561
658
|
:allowed_from_server => true,
|
562
|
-
:description => 'Number of seconds
|
659
|
+
:description => 'Number of seconds betwixt connections to the New Relic analytic event collection services.'
|
660
|
+
},
|
661
|
+
:'event_report_period.custom_event_data' => {
|
662
|
+
:default => 60,
|
663
|
+
:public => false,
|
664
|
+
:type => Integer,
|
665
|
+
:dynamic_name => true,
|
666
|
+
:allowed_from_server => true,
|
667
|
+
:description => 'Number of seconds betwixt connections to the New Relic custom event collection services.'
|
668
|
+
},
|
669
|
+
:'event_report_period.error_event_data' => {
|
670
|
+
:default => 60,
|
671
|
+
:public => false,
|
672
|
+
:type => Integer,
|
673
|
+
:dynamic_name => true,
|
674
|
+
:allowed_from_server => true,
|
675
|
+
:description => 'Number of seconds betwixt connections to the New Relic error event collection services.'
|
676
|
+
},
|
677
|
+
:'event_report_period.span_event_data' => {
|
678
|
+
:default => 60,
|
679
|
+
:public => false,
|
680
|
+
:type => Integer,
|
681
|
+
:dynamic_name => true,
|
682
|
+
:allowed_from_server => true,
|
683
|
+
:description => 'Number of seconds betwixt connections to the New Relic span event collection services.'
|
563
684
|
},
|
564
685
|
:keep_retrying => {
|
565
686
|
:default => true,
|
@@ -569,6 +690,18 @@ module NewRelic
|
|
569
690
|
:allowed_from_server => false,
|
570
691
|
:description => 'Enable or disable retrying failed connections to the New Relic data collection service.'
|
571
692
|
},
|
693
|
+
:force_install_exit_handler => {
|
694
|
+
:default => false,
|
695
|
+
:public => true,
|
696
|
+
:type => Boolean,
|
697
|
+
:allowed_from_server => false,
|
698
|
+
:description => 'Forces the exit handler that sends all cached data to collector ' \
|
699
|
+
'before shuttng down to be installed regardless of detecting scenarios where it generally should not be. ' \
|
700
|
+
'Known use-case for this option is where Sinatra is running as an embedded service within another framework ' \
|
701
|
+
'and the agent is detecting the Sinatra app and skipping the at_exit handler as a result. Sinatra classically ' \
|
702
|
+
'runs the entire application in an at_exit block and would otherwise misbehave if the Agent\'s at_exit handler ' \
|
703
|
+
'is also installed in those circumstances. Note: `send_data_on_exit` should also be set to `true` in tandem with this setting.'
|
704
|
+
},
|
572
705
|
:force_reconnect => {
|
573
706
|
:default => false,
|
574
707
|
:public => false,
|
@@ -630,8 +763,9 @@ module NewRelic
|
|
630
763
|
:default => false,
|
631
764
|
:public => true,
|
632
765
|
:type => Boolean,
|
766
|
+
:deprecated => true,
|
633
767
|
:allowed_from_server => false,
|
634
|
-
:description => 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/resque-instrumentation">Resque instrumentation</a>.'
|
768
|
+
:description => deprecated_description(:'instrumentation.resque', 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/resque-instrumentation">Resque instrumentation</a>.')
|
635
769
|
},
|
636
770
|
:disable_sidekiq => {
|
637
771
|
:default => false,
|
@@ -643,16 +777,18 @@ module NewRelic
|
|
643
777
|
:disable_dj => {
|
644
778
|
:default => false,
|
645
779
|
:public => true,
|
780
|
+
:deprecated => true,
|
646
781
|
:type => Boolean,
|
647
782
|
:allowed_from_server => false,
|
648
|
-
:description => 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/delayedjob">Delayed::Job instrumentation</a>.'
|
783
|
+
:description => deprecated_description(:'instrumentation.delayed_job', 'If <code>true</code>, disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/delayedjob">Delayed::Job instrumentation</a>.'
|
784
|
+
)
|
649
785
|
},
|
650
786
|
:disable_sinatra => {
|
651
787
|
:default => false,
|
652
788
|
:public => true,
|
653
789
|
:type => Boolean,
|
654
790
|
:allowed_from_server => false,
|
655
|
-
:description => 'If <code>true</code> , disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/sinatra-support">Sinatra instrumentation</a>.'
|
791
|
+
:description => deprecated_description(:'instrumentation.sinatra', 'If <code>true</code> , disables <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/sinatra-support">Sinatra instrumentation</a>.' )
|
656
792
|
},
|
657
793
|
:disable_sinatra_auto_middleware => {
|
658
794
|
:default => false,
|
@@ -696,6 +832,172 @@ module NewRelic
|
|
696
832
|
:allowed_from_server => false,
|
697
833
|
:description => 'If <code>true</code>, uses Module.prepend rather than alias_method for ActiveRecord instrumentation.'
|
698
834
|
},
|
835
|
+
:prepend_net_instrumentation => {
|
836
|
+
:default => true,
|
837
|
+
:public => false,
|
838
|
+
:type => Boolean,
|
839
|
+
:allowed_from_server => false,
|
840
|
+
:deprecated => true,
|
841
|
+
:description => deprecated_description(:'instrumentation.net_http',
|
842
|
+
'If <code>true</code>, uses Module.prepend rather than alias_method for Net::HTTP instrumentation.'
|
843
|
+
)
|
844
|
+
},
|
845
|
+
:'instrumentation.net_http' => {
|
846
|
+
:default => instrumentation_value_of(:disable_net_http, :prepend_net_instrumentation),
|
847
|
+
:public => true,
|
848
|
+
:type => String,
|
849
|
+
:dynamic_name => true,
|
850
|
+
:allowed_from_server => false,
|
851
|
+
:description => "Controls auto-instrumentation of Net::HTTP at start up. May be one of [auto|prepend|chain|disabled]."
|
852
|
+
},
|
853
|
+
:'instrumentation.typhoeus' => {
|
854
|
+
:default => instrumentation_value_of(:disable_typhoeus),
|
855
|
+
:public => true,
|
856
|
+
:type => String,
|
857
|
+
:dynamic_name => true,
|
858
|
+
:allowed_from_server => false,
|
859
|
+
:description => "Controls auto-instrumentation of Typhoeus at start up. May be one of [auto|prepend|chain|disabled]."
|
860
|
+
},
|
861
|
+
:'instrumentation.bunny' => {
|
862
|
+
:default => instrumentation_value_of(:disable_bunny),
|
863
|
+
:public => true,
|
864
|
+
:type => String,
|
865
|
+
:dynamic_name => true,
|
866
|
+
:allowed_from_server => false,
|
867
|
+
:description => 'Controls auto-instrumentation of bunny at start up. May be one of [auto|prepend|chain|disabled].'
|
868
|
+
},
|
869
|
+
:'instrumentation.httprb' => {
|
870
|
+
:default => instrumentation_value_of(:disable_httprb),
|
871
|
+
:public => true,
|
872
|
+
:type => String,
|
873
|
+
:dynamic_name => true,
|
874
|
+
:allowed_from_server => false,
|
875
|
+
:description => 'Controls auto-instrumentation of http.rb gem at start up. May be one of [auto|prepend|chain|disabled].'
|
876
|
+
},
|
877
|
+
:'instrumentation.resque' => {
|
878
|
+
:default => instrumentation_value_of(:disable_resque),
|
879
|
+
:public => true,
|
880
|
+
:type => String,
|
881
|
+
:dynamic_name => true,
|
882
|
+
:allowed_from_server => false,
|
883
|
+
:description => "Controls auto-instrumentation of resque at start up. May be one of [auto|prepend|chain|disabled]."
|
884
|
+
},
|
885
|
+
:'instrumentation.redis' => {
|
886
|
+
:default => instrumentation_value_of(:disable_redis),
|
887
|
+
:public => true,
|
888
|
+
:type => String,
|
889
|
+
:dynamic_name => true,
|
890
|
+
:allowed_from_server => false,
|
891
|
+
:description => "Controls auto-instrumentation of Redis at start up. May be one of [auto|prepend|chain|disabled]."
|
892
|
+
},
|
893
|
+
:'instrumentation.rake' => {
|
894
|
+
:default => instrumentation_value_of(:disable_rake),
|
895
|
+
:public => :true,
|
896
|
+
:type => String,
|
897
|
+
:dynamic_name => true,
|
898
|
+
:allowed_from_server => false,
|
899
|
+
:description => "Controls auto-instrumentation of rake at start up. May be one of [auto|prepend|chain|disabled]."
|
900
|
+
},
|
901
|
+
:'instrumentation.mongo' => {
|
902
|
+
:default => instrumentation_value_of(:disable_mongo),
|
903
|
+
:public => :true,
|
904
|
+
:type => String,
|
905
|
+
:dynamic_name => true,
|
906
|
+
:allowed_from_server => false,
|
907
|
+
:description => "Controls auto-instrumentation of Mongo at start up. May be one of [enabled|disabled]."
|
908
|
+
},
|
909
|
+
:'instrumentation.delayed_job' => {
|
910
|
+
:default => instrumentation_value_of(:disable_dj),
|
911
|
+
:public => true,
|
912
|
+
:type => String,
|
913
|
+
:dynamic_name => true,
|
914
|
+
:allowed_from_server => false,
|
915
|
+
:description => 'Controls auto-instrumentation of Delayed Job at start up. May be one of [auto|prepend|chain|disabled].'
|
916
|
+
},
|
917
|
+
:'instrumentation.httpclient' => {
|
918
|
+
:default => instrumentation_value_of(:disable_httpclient),
|
919
|
+
:public => true,
|
920
|
+
:type => String,
|
921
|
+
:dynamic_name => true,
|
922
|
+
:allowed_from_server => false,
|
923
|
+
:description => "Controls auto-instrumentation of HTTPClient at start up. May be one of [auto|prepend|chain|disabled]."
|
924
|
+
},
|
925
|
+
:'instrumentation.curb' => {
|
926
|
+
:default => instrumentation_value_of(:disable_curb),
|
927
|
+
:public => true,
|
928
|
+
:type => String,
|
929
|
+
:dynamic_name => true,
|
930
|
+
:allowed_from_server => false,
|
931
|
+
:description => 'Controls auto-instrumentation of Curb at start up. May be one of [auto|prepend|chain|disabled].'
|
932
|
+
},
|
933
|
+
:'instrumentation.sinatra' => {
|
934
|
+
:default => instrumentation_value_of(:disable_sinatra),
|
935
|
+
:public => :true,
|
936
|
+
:type => String,
|
937
|
+
:dynamic_name => true,
|
938
|
+
:allowed_from_server => false,
|
939
|
+
:description => "Controls auto-instrumentation of Sinatra at start up. May be one of [auto|prepend|chain|disabled]."
|
940
|
+
},
|
941
|
+
:'instrumentation.rack' => {
|
942
|
+
:default => instrumentation_value_of(:disable_rack),
|
943
|
+
:public => true,
|
944
|
+
:type => String,
|
945
|
+
:dynamic_name => true,
|
946
|
+
:allowed_from_server => false,
|
947
|
+
:description => "Controls auto-instrumentation of Rack. When enabled, the agent hooks into the " \
|
948
|
+
"<code>to_app</code> method in Rack::Builder to find gems to instrument during " \
|
949
|
+
"application startup. May be one of [auto|prepend|chain|disabled]."
|
950
|
+
},
|
951
|
+
:'instrumentation.rack_urlmap' => {
|
952
|
+
:default => instrumentation_value_of(:disable_rack_urlmap),
|
953
|
+
:public => true,
|
954
|
+
:type => String,
|
955
|
+
:dynamic_name => true,
|
956
|
+
:allowed_from_server => false,
|
957
|
+
:description => 'Controls auto-instrumentation of Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
|
958
|
+
},
|
959
|
+
:'instrumentation.puma_rack' => {
|
960
|
+
:default => instrumentation_value_of(:disable_puma_rack), # TODO: change to value_of(:'instrumentation.rack') when we remove :disable_puma_rack in 8.0)
|
961
|
+
:public => true,
|
962
|
+
:type => String,
|
963
|
+
:dynamic_name => true,
|
964
|
+
:allowed_from_server => false,
|
965
|
+
:description => "Controls auto-instrumentation of Puma::Rack. When enabled, the agent hooks into the " \
|
966
|
+
"<code>to_app</code> method in Puma::Rack::Builder to find gems to instrument during " \
|
967
|
+
"application startup. May be one of [auto|prepend|chain|disabled]."
|
968
|
+
},
|
969
|
+
:'instrumentation.puma_rack_urlmap' => {
|
970
|
+
:default => instrumentation_value_of(:disable_puma_rack_urlmap), # TODO: change to value_of(:'instrumentation.rack_urlmap') when we remove :disable_puma_rack_urlmap in 8.0)
|
971
|
+
:public => true,
|
972
|
+
:type => String,
|
973
|
+
:dynamic_name => true,
|
974
|
+
:allowed_from_server => false,
|
975
|
+
:description => 'Controls auto-instrumentation of Puma::Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
|
976
|
+
},
|
977
|
+
:'instrumentation.memcached' => {
|
978
|
+
:default => instrumentation_value_of(:disable_memcached),
|
979
|
+
:public => true,
|
980
|
+
:type => String,
|
981
|
+
:dynamic_name => true,
|
982
|
+
:allowed_from_server => false,
|
983
|
+
:description => 'Controls auto-instrumentation of memcached gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
|
984
|
+
},
|
985
|
+
:'instrumentation.memcache_client' => {
|
986
|
+
:default => instrumentation_value_of(:disable_memcache_client),
|
987
|
+
:public => true,
|
988
|
+
:type => String,
|
989
|
+
:dynamic_name => true,
|
990
|
+
:allowed_from_server => false,
|
991
|
+
:description => 'Controls auto-instrumentation of memcache-client gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
|
992
|
+
},
|
993
|
+
:'instrumentation.memcache' => {
|
994
|
+
:default => instrumentation_value_of(:disable_dalli),
|
995
|
+
:public => true,
|
996
|
+
:type => String,
|
997
|
+
:dynamic_name => true,
|
998
|
+
:allowed_from_server => false,
|
999
|
+
:description => 'Controls auto-instrumentation of dalli gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
|
1000
|
+
},
|
699
1001
|
:disable_data_mapper => {
|
700
1002
|
:default => false,
|
701
1003
|
:public => true,
|
@@ -731,36 +1033,41 @@ module NewRelic
|
|
731
1033
|
:default => value_of(:disable_memcache_instrumentation),
|
732
1034
|
:public => true,
|
733
1035
|
:type => Boolean,
|
1036
|
+
:deprecated => true,
|
734
1037
|
:allowed_from_server => false,
|
735
|
-
:description => 'If <code>true</code>, disables instrumentation for the memcached gem.'
|
1038
|
+
:description => deprecated_description(:'instrumentation.memcached', 'If <code>true</code>, disables instrumentation for the memcached gem.')
|
736
1039
|
},
|
737
1040
|
:disable_memcache_client => {
|
738
1041
|
:default => value_of(:disable_memcache_instrumentation),
|
739
1042
|
:public => true,
|
740
1043
|
:type => Boolean,
|
1044
|
+
:deprecated => true,
|
741
1045
|
:allowed_from_server => false,
|
742
|
-
:description => 'If <code>true</code>, disables instrumentation for the memcache-client gem.'
|
1046
|
+
:description => deprecated_description(:'instrumentation.memcache-client', 'If <code>true</code>, disables instrumentation for the memcache-client gem.')
|
743
1047
|
},
|
744
1048
|
:disable_dalli => {
|
745
1049
|
:default => value_of(:disable_memcache_instrumentation),
|
746
1050
|
:public => true,
|
747
1051
|
:type => Boolean,
|
1052
|
+
:deprecated => true,
|
748
1053
|
:allowed_from_server => false,
|
749
|
-
:description => 'If <code>true</code>, disables instrumentation for the dalli gem.'
|
1054
|
+
:description => deprecated_description(:'instrumentation.memcache', 'If <code>true</code>, disables instrumentation for the dalli gem.')
|
750
1055
|
},
|
751
1056
|
:disable_dalli_cas_client => {
|
752
1057
|
:default => value_of(:disable_memcache_instrumentation),
|
753
1058
|
:public => true,
|
754
1059
|
:type => Boolean,
|
1060
|
+
:deprecated => true,
|
755
1061
|
:allowed_from_server => false,
|
756
|
-
:description => "If <code>true</code>, disables instrumentation for the dalli gem\'s additional CAS client support."
|
1062
|
+
:description => deprecated_description(:'instrumentation.memcache', "If <code>true</code>, disables instrumentation for the dalli gem\'s additional CAS client support.")
|
757
1063
|
},
|
758
1064
|
:disable_memcache_instrumentation => {
|
759
1065
|
:default => false,
|
760
1066
|
:public => true,
|
761
1067
|
:type => Boolean,
|
1068
|
+
:deprecated => true,
|
762
1069
|
:allowed_from_server => false,
|
763
|
-
:description => 'If <code>true</code>, disables memcache instrumentation.'
|
1070
|
+
:description => deprecated_description(:'instrumentation.memcache', 'If <code>true</code>, disables memcache instrumentation.')
|
764
1071
|
},
|
765
1072
|
:disable_gc_profiler => {
|
766
1073
|
:default => false,
|
@@ -895,21 +1202,24 @@ module NewRelic
|
|
895
1202
|
:type => Boolean,
|
896
1203
|
:allowed_from_server => false,
|
897
1204
|
:dynamic_name => true,
|
898
|
-
:
|
1205
|
+
:deprecated => true,
|
1206
|
+
:description => deprecated_description(:'instrumentation.mongo', 'If <code>true</code>, the agent won\'t install <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/mongo-instrumentation">instrumentation for the Mongo gem</a>.')
|
899
1207
|
},
|
900
1208
|
:disable_redis => {
|
901
1209
|
:default => false,
|
902
1210
|
:public => true,
|
903
1211
|
:type => Boolean,
|
1212
|
+
:deprecated => true,
|
904
1213
|
:allowed_from_server => false,
|
905
|
-
:description => 'If <code>true</code>, the agent won\'t install <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/redis-instrumentation">instrumentation for Redis</a>.'
|
1214
|
+
:description => deprecated_description(:'instrumentation.redis', 'If <code>true</code>, the agent won\'t install <a href="https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/redis-instrumentation">instrumentation for Redis</a>.')
|
906
1215
|
},
|
907
1216
|
:disable_redis_instrumentation => {
|
908
1217
|
:default => false,
|
909
1218
|
:public => false,
|
910
1219
|
:type => Boolean,
|
1220
|
+
:deprecated => true,
|
911
1221
|
:allowed_from_server => false,
|
912
|
-
:description => 'Disables installation of Redis instrumentation. Standard key to use is disable_redis.'
|
1222
|
+
:description => deprecated_description(:'instrumentation.redis', 'Disables installation of Redis instrumentation. Standard key to use is disable_redis.')
|
913
1223
|
},
|
914
1224
|
:'message_tracer.segment_parameters.enabled' => {
|
915
1225
|
:default => true,
|
@@ -1001,6 +1311,7 @@ module NewRelic
|
|
1001
1311
|
:public => true,
|
1002
1312
|
:type => Boolean,
|
1003
1313
|
:allowed_from_server => true,
|
1314
|
+
:dynamic_name => true,
|
1004
1315
|
:description => 'If <code>true</code>, the agent collects <a href="https://docs.newrelic.com/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights">TransactionError events</a>.'
|
1005
1316
|
},
|
1006
1317
|
:'error_collector.max_event_samples_stored' => {
|
@@ -1155,35 +1466,7 @@ module NewRelic
|
|
1155
1466
|
:allowed_from_server => true,
|
1156
1467
|
:description => 'If <code>true</code>, enables use of the <a href="https://docs.newrelic.com/docs/apm/applications-menu/events/thread-profiler-tool">thread profiler</a>.'
|
1157
1468
|
},
|
1158
|
-
:'
|
1159
|
-
:default => true,
|
1160
|
-
:public => true,
|
1161
|
-
:type => Boolean,
|
1162
|
-
:allowed_from_server => true,
|
1163
|
-
:description => 'If <code>true</code>, enables <a href="https://docs.newrelic.com/docs/apm/transactions-menu/x-ray-sessions/x-ray-sessions">X-Ray sessions</a>.'
|
1164
|
-
},
|
1165
|
-
:'xray_session.allow_traces' => {
|
1166
|
-
:default => true,
|
1167
|
-
:public => false,
|
1168
|
-
:type => Boolean,
|
1169
|
-
:allowed_from_server => true,
|
1170
|
-
:description => 'Enable or disable X-Ray sessions recording transaction traces.'
|
1171
|
-
},
|
1172
|
-
:'xray_session.allow_profiles' => {
|
1173
|
-
:default => true,
|
1174
|
-
:public => false,
|
1175
|
-
:type => Boolean,
|
1176
|
-
:allowed_from_server => true,
|
1177
|
-
:description => 'Enable or disable X-Ray sessions taking thread profiles.'
|
1178
|
-
},
|
1179
|
-
:'xray_session.max_samples' => {
|
1180
|
-
:default => 10,
|
1181
|
-
:public => false,
|
1182
|
-
:type => Integer,
|
1183
|
-
:allowed_from_server => true,
|
1184
|
-
:description => 'Maximum number of transaction traces to buffer for active X-Ray sessions'
|
1185
|
-
},
|
1186
|
-
:'xray_session.max_profile_overhead' => {
|
1469
|
+
:'thread_profiler.max_profile_overhead' => {
|
1187
1470
|
:default => 0.05,
|
1188
1471
|
:public => false,
|
1189
1472
|
:type => Float,
|
@@ -1233,6 +1516,13 @@ module NewRelic
|
|
1233
1516
|
:allowed_from_server => false,
|
1234
1517
|
:description => 'Controls whether to normalize string encodings prior to serializing data for the collector to JSON.'
|
1235
1518
|
},
|
1519
|
+
:backport_fast_active_record_connection_lookup => {
|
1520
|
+
:default => false,
|
1521
|
+
:public => true,
|
1522
|
+
:type => Boolean,
|
1523
|
+
:allowed_from_server => false,
|
1524
|
+
: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.'
|
1525
|
+
},
|
1236
1526
|
:disable_vm_sampler => {
|
1237
1527
|
:default => false,
|
1238
1528
|
:public => true,
|
@@ -1265,53 +1555,57 @@ module NewRelic
|
|
1265
1555
|
:allowed_from_server => false,
|
1266
1556
|
:description => 'If <code>true</code>, the agent won\'t measure the depth of Delayed Job queues.'
|
1267
1557
|
},
|
1268
|
-
:
|
1558
|
+
:disable_active_record_notifications => {
|
1269
1559
|
:default => false,
|
1270
1560
|
:public => true,
|
1271
1561
|
:type => Boolean,
|
1272
1562
|
:dynamic_name => true,
|
1273
1563
|
:allowed_from_server => false,
|
1274
|
-
:description => 'If <code>true</code>, disables instrumentation for ActiveRecord 4.'
|
1275
|
-
},
|
1276
|
-
:disable_active_record_5 => {
|
1277
|
-
:default => false,
|
1278
|
-
:public => true,
|
1279
|
-
:type => Boolean,
|
1280
|
-
:dynamic_name => true,
|
1281
|
-
:allowed_from_server => false,
|
1282
|
-
:description => 'If <code>true</code>, disables instrumentation for ActiveRecord 5.'
|
1564
|
+
:description => 'If <code>true</code>, disables instrumentation for ActiveRecord 4, 5, and 6.'
|
1283
1565
|
},
|
1284
1566
|
:disable_bunny => {
|
1285
1567
|
:default => false,
|
1286
1568
|
:public => true,
|
1287
1569
|
:type => Boolean,
|
1570
|
+
:deprecated => true,
|
1288
1571
|
:dynamic_name => true,
|
1289
1572
|
:allowed_from_server => false,
|
1290
|
-
:description => 'If <code>true</code>, disables instrumentation for the bunny gem.'
|
1573
|
+
:description => deprecated_description(:'instrumentation.bunny', 'If <code>true</code>, disables instrumentation for the bunny gem.')
|
1291
1574
|
},
|
1292
1575
|
:disable_curb => {
|
1293
1576
|
:default => false,
|
1294
1577
|
:public => true,
|
1295
1578
|
:type => Boolean,
|
1579
|
+
:deprecated => true,
|
1296
1580
|
:dynamic_name => true,
|
1297
1581
|
:allowed_from_server => false,
|
1298
|
-
:description => 'If <code>true</code>, disables instrumentation for the curb gem.'
|
1582
|
+
:description => deprecated_description(:'instrumentation.curb', 'If <code>true</code>, disables instrumentation for the curb gem.' )
|
1299
1583
|
},
|
1300
1584
|
:disable_excon => {
|
1301
1585
|
:default => false,
|
1302
1586
|
:public => true,
|
1303
1587
|
:type => Boolean,
|
1304
1588
|
:dynamic_name => true,
|
1589
|
+
:deprecated => true,
|
1305
1590
|
:allowed_from_server => false,
|
1306
|
-
:description => 'If <code>true</code>, disables instrumentation for the excon gem.'
|
1591
|
+
:description => deprecated_description(:'instrumentation.excon', 'If <code>true</code>, disables instrumentation for the excon gem.')
|
1592
|
+
},
|
1593
|
+
:'instrumentation.excon' => {
|
1594
|
+
:default => instrumentation_value_of(:disable_excon),
|
1595
|
+
:public => :true,
|
1596
|
+
:type => String,
|
1597
|
+
:dynamic_name => true,
|
1598
|
+
:allowed_from_server => false,
|
1599
|
+
:description => "Controls auto-instrumentation of Excon at start up. May be one of [enabled|disabled]."
|
1307
1600
|
},
|
1308
1601
|
:disable_httpclient => {
|
1309
1602
|
:default => false,
|
1310
1603
|
:public => true,
|
1311
1604
|
:type => Boolean,
|
1312
1605
|
:dynamic_name => true,
|
1606
|
+
:deprecated => true,
|
1313
1607
|
:allowed_from_server => false,
|
1314
|
-
:description => 'If <code>true</code>, disables instrumentation for the httpclient gem.'
|
1608
|
+
:description => deprecated_description(:'instrumentation.httpclient', 'If <code>true</code>, disables instrumentation for the httpclient gem.')
|
1315
1609
|
},
|
1316
1610
|
:disable_net_http => {
|
1317
1611
|
:default => false,
|
@@ -1319,7 +1613,10 @@ module NewRelic
|
|
1319
1613
|
:type => Boolean,
|
1320
1614
|
:dynamic_name => true,
|
1321
1615
|
:allowed_from_server => false,
|
1322
|
-
:
|
1616
|
+
:deprecated => true,
|
1617
|
+
:description => deprecated_description(:'instrumentation.net_http',
|
1618
|
+
'If <code>true</code>, disables instrumentation for Net::HTTP.'
|
1619
|
+
)
|
1323
1620
|
},
|
1324
1621
|
:disable_rack => {
|
1325
1622
|
:default => false,
|
@@ -1327,7 +1624,8 @@ module NewRelic
|
|
1327
1624
|
:type => Boolean,
|
1328
1625
|
:dynamic_name => true,
|
1329
1626
|
:allowed_from_server => false,
|
1330
|
-
:
|
1627
|
+
:deprecated => true,
|
1628
|
+
:description => deprecated_description(:'instrumentation.rack', 'If <code>true</code>, prevents the agent from hooking into the <code>to_app</code> method in Rack::Builder to find gems to instrument during application startup.')
|
1331
1629
|
},
|
1332
1630
|
:disable_rack_urlmap => {
|
1333
1631
|
:default => false,
|
@@ -1335,7 +1633,8 @@ module NewRelic
|
|
1335
1633
|
:type => Boolean,
|
1336
1634
|
:dynamic_name => true,
|
1337
1635
|
:allowed_from_server => false,
|
1338
|
-
:
|
1636
|
+
:deprecated => true,
|
1637
|
+
:description => deprecated_description(:'instrumentation.rack_urlmap', 'If <code>true</code>, prevents the agent from hooking into Rack::URLMap to install middleware tracing.')
|
1339
1638
|
},
|
1340
1639
|
:disable_puma_rack => {
|
1341
1640
|
:default => value_of(:disable_rack),
|
@@ -1343,7 +1642,8 @@ module NewRelic
|
|
1343
1642
|
:type => Boolean,
|
1344
1643
|
:dynamic_name => true,
|
1345
1644
|
:allowed_from_server => false,
|
1346
|
-
:
|
1645
|
+
:deprecated => true,
|
1646
|
+
:description => deprecated_description(:'instrumentation.puma_rack', 'If <code>true</code>, prevents the agent from hooking into the <code>to_app</code> method in Puma::Rack::Builder to find gems to instrument during application startup.')
|
1347
1647
|
},
|
1348
1648
|
:disable_puma_rack_urlmap => {
|
1349
1649
|
:default => value_of(:disable_rack_urlmap),
|
@@ -1351,23 +1651,26 @@ module NewRelic
|
|
1351
1651
|
:type => Boolean,
|
1352
1652
|
:dynamic_name => true,
|
1353
1653
|
:allowed_from_server => false,
|
1354
|
-
:
|
1654
|
+
:deprecated => true,
|
1655
|
+
:description => deprecated_description(:'instrumentation.puma_rack_urlmap', 'If <code>true</code>, prevents the agent from hooking into Puma::Rack::URLMap to install middleware tracing.')
|
1355
1656
|
},
|
1356
1657
|
:disable_typhoeus => {
|
1357
1658
|
:default => false,
|
1358
1659
|
:public => true,
|
1359
1660
|
:type => Boolean,
|
1360
1661
|
:dynamic_name => true,
|
1662
|
+
:deprecated => true,
|
1361
1663
|
:allowed_from_server => false,
|
1362
|
-
:description => 'If <code>true</code>, the agent won\'t install instrumentation for the typhoeus gem.'
|
1664
|
+
:description => deprecated_description(:'instrumentation.typhoeus', 'If <code>true</code>, the agent won\'t install instrumentation for the typhoeus gem.' )
|
1363
1665
|
},
|
1364
1666
|
:disable_httprb => {
|
1365
1667
|
:default => false,
|
1366
1668
|
:public => true,
|
1367
1669
|
:type => Boolean,
|
1368
1670
|
:dynamic_name => true,
|
1671
|
+
:deprecated => true,
|
1369
1672
|
:allowed_from_server => false,
|
1370
|
-
:description => 'If <code>true</code>, the agent won\'t install instrumentation for the http.rb gem.'
|
1673
|
+
:description => deprecated_description(:'instrumentation.httprb', 'If <code>true</code>, the agent won\'t install instrumentation for the http.rb gem.' )
|
1371
1674
|
},
|
1372
1675
|
:disable_middleware_instrumentation => {
|
1373
1676
|
:default => false,
|
@@ -1476,14 +1779,28 @@ module NewRelic
|
|
1476
1779
|
:public => false,
|
1477
1780
|
:type => Boolean,
|
1478
1781
|
:allowed_from_server => false,
|
1479
|
-
:
|
1782
|
+
:deprecated => true,
|
1783
|
+
:description => deprecated_description(:'instrumentation.grape',
|
1784
|
+
'If <code>true</code>, the agent won\'t install Grape instrumentation.'
|
1785
|
+
)
|
1480
1786
|
},
|
1481
1787
|
:disable_grape => {
|
1482
1788
|
:default => false,
|
1483
1789
|
:public => true,
|
1484
1790
|
:type => Boolean,
|
1485
1791
|
:allowed_from_server => false,
|
1486
|
-
:
|
1792
|
+
:deprecated => true,
|
1793
|
+
:description => deprecated_description(:'instrumentation.grape',
|
1794
|
+
'If <code>true</code>, the agent won\'t install Grape instrumentation.'
|
1795
|
+
)
|
1796
|
+
},
|
1797
|
+
:'instrumentation.grape' => {
|
1798
|
+
:default => instrumentation_value_of(:disable_grape_instrumentation),
|
1799
|
+
:public => :true,
|
1800
|
+
:type => String,
|
1801
|
+
:dynamic_name => true,
|
1802
|
+
:allowed_from_server => false,
|
1803
|
+
:description => "Controls auto-instrumentation of Grape at start up. May be one of [auto|prepend|chain|disabled]."
|
1487
1804
|
},
|
1488
1805
|
:'attributes.enabled' => {
|
1489
1806
|
:default => true,
|
@@ -1692,6 +2009,13 @@ module NewRelic
|
|
1692
2009
|
:allowed_from_server => false,
|
1693
2010
|
:description => 'If <code>true</code>, the agent automatically detects that it is running in Docker.'
|
1694
2011
|
},
|
2012
|
+
:'utilization.detect_kubernetes' => {
|
2013
|
+
:default => true,
|
2014
|
+
:public => true,
|
2015
|
+
:type => Boolean,
|
2016
|
+
:allowed_from_server => false,
|
2017
|
+
:description => 'If <code>true</code>, the agent automatically detects that it is running in Kubernetes.'
|
2018
|
+
},
|
1695
2019
|
:'utilization.billing_hostname' => {
|
1696
2020
|
:default => nil,
|
1697
2021
|
:allow_nil => true,
|
@@ -1735,7 +2059,7 @@ module NewRelic
|
|
1735
2059
|
:public => true,
|
1736
2060
|
:type => Boolean,
|
1737
2061
|
:allowed_from_server => false,
|
1738
|
-
:description => 'If <code>true</code>, the agent will clear <code>
|
2062
|
+
:description => 'If <code>true</code>, the agent will clear <code>Tracer::State</code> in <code>Agent.drop_buffered_data</code>.'
|
1739
2063
|
},
|
1740
2064
|
:account_id => {
|
1741
2065
|
:default => nil,
|
@@ -1784,17 +2108,51 @@ module NewRelic
|
|
1784
2108
|
},
|
1785
2109
|
:'span_events.enabled' => {
|
1786
2110
|
:default => true,
|
1787
|
-
:public =>
|
2111
|
+
:public => true,
|
1788
2112
|
:type => Boolean,
|
1789
2113
|
:allowed_from_server => true,
|
1790
2114
|
:description => 'If <code>true</code>, enables span event sampling.'
|
1791
2115
|
},
|
2116
|
+
:'span_events.queue_size' => {
|
2117
|
+
:default => 10_000,
|
2118
|
+
:public => true,
|
2119
|
+
:type => Integer,
|
2120
|
+
:allowed_from_server => false,
|
2121
|
+
:external => :infinite_tracing,
|
2122
|
+
:description => "Sets the maximum number of span events to buffer when streaming to the trace observer."
|
2123
|
+
},
|
1792
2124
|
:'span_events.max_samples_stored' => {
|
1793
2125
|
:default => 1000,
|
1794
|
-
:public =>
|
2126
|
+
:public => true,
|
1795
2127
|
:type => Integer,
|
1796
2128
|
:allowed_from_server => true,
|
1797
2129
|
:description => 'Defines the maximum number of span events reported from a single harvest.'
|
2130
|
+
},
|
2131
|
+
:'exclude_newrelic_header' => {
|
2132
|
+
:default => false,
|
2133
|
+
:public => true,
|
2134
|
+
:type => Boolean,
|
2135
|
+
:allowed_from_server => true,
|
2136
|
+
:description => "Allows newrelic distributed tracing headers to be suppressed on outbound requests."
|
2137
|
+
},
|
2138
|
+
:'infinite_tracing.trace_observer.host' => {
|
2139
|
+
:default => '',
|
2140
|
+
:public => true,
|
2141
|
+
:type => String,
|
2142
|
+
:allowed_from_server => false,
|
2143
|
+
:external => :infinite_tracing,
|
2144
|
+
:description => "Configures the hostname for the Trace Observer Host. " \
|
2145
|
+
"When configured, enables tail-based sampling by sending all recorded spans " \
|
2146
|
+
"to a Trace Observer for further sampling decisions, irrespective of any usual " \
|
2147
|
+
"agent sampling decision."
|
2148
|
+
},
|
2149
|
+
:'infinite_tracing.trace_observer.port' => {
|
2150
|
+
:default => 443,
|
2151
|
+
:public => true,
|
2152
|
+
:type => Integer,
|
2153
|
+
:allowed_from_server => false,
|
2154
|
+
:external => :infinite_tracing,
|
2155
|
+
:description => "Configures the TCP/IP port for the Trace Observer Host"
|
1798
2156
|
}
|
1799
2157
|
}.freeze
|
1800
2158
|
end
|