newrelic_rpm 4.8.0.341 → 6.13.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.github/ISSUE_TEMPLATE/bug_report.md +31 -0
- data/.github/ISSUE_TEMPLATE/config.yml +5 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +24 -0
- data/.github/actions/annotate/README.md +79 -0
- data/.github/actions/annotate/action.yml +6 -0
- data/.github/actions/annotate/dist/index.js +433 -0
- data/.github/actions/annotate/index.js +25 -0
- data/.github/actions/annotate/package-lock.json +172 -0
- data/.github/actions/annotate/package.json +30 -0
- data/.github/actions/annotate/pre-commit +5 -0
- data/.github/actions/build-ruby/README.md +79 -0
- data/.github/actions/build-ruby/action.yml +15 -0
- data/.github/actions/build-ruby/dist/index.js +52683 -0
- data/.github/actions/build-ruby/index.js +514 -0
- data/.github/actions/build-ruby/package-lock.json +581 -0
- data/.github/actions/build-ruby/package.json +32 -0
- data/.github/actions/build-ruby/pre-commit +5 -0
- data/.github/pull_request_template.md +16 -0
- data/.github/workflows/ci.yml +212 -0
- data/.github/workflows/pr_review_checklist.yml +22 -0
- data/.github/workflows/release.yml +78 -0
- data/.github/workflows/scripts/rubygems-authenticate.py +13 -0
- data/.github/workflows/scripts/rubygems-publish.rb +32 -0
- data/.github/workflows/snyk.yml +27 -0
- data/.github/workflows/stale.yml +21 -0
- data/.gitignore +9 -0
- data/.yardopts +4 -1
- data/CHANGELOG.md +868 -3
- data/CONTRIBUTING.md +106 -19
- data/Gemfile +6 -2
- data/Guardfile +18 -1
- data/LICENSE +208 -38
- data/README.md +81 -88
- data/ROADMAP.md +24 -0
- data/Rakefile +2 -0
- data/THIRD_PARTY_NOTICES.md +213 -0
- data/bin/nrdebug +1 -1
- data/config.dot +3 -12
- data/init.rb +1 -1
- data/install.rb +1 -1
- data/lib/new_relic/agent.rb +145 -31
- data/lib/new_relic/agent/adaptive_sampler.rb +104 -0
- data/lib/new_relic/agent/agent.rb +192 -190
- data/lib/new_relic/agent/agent_logger.rb +5 -1
- data/lib/new_relic/agent/attribute_filter.rb +85 -25
- 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 +1 -1
- data/lib/new_relic/agent/autostart.rb +20 -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.rb +1 -1
- data/lib/new_relic/agent/configuration/default_source.rb +375 -67
- 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 -3
- data/lib/new_relic/agent/configuration/manager.rb +54 -43
- 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 +238 -0
- data/lib/new_relic/agent/configuration/server_source.rb +46 -5
- data/lib/new_relic/agent/configuration/yaml_source.rb +12 -7
- 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 +17 -6
- data/lib/new_relic/agent/database.rb +21 -3
- data/lib/new_relic/agent/database/explain_plan_helpers.rb +12 -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/datastores.rb +12 -11
- data/lib/new_relic/agent/datastores/metric_helper.rb +2 -3
- data/lib/new_relic/agent/datastores/mongo.rb +2 -2
- 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/redis.rb +1 -1
- data/lib/new_relic/agent/deprecator.rb +1 -1
- data/lib/new_relic/agent/distributed_tracing.rb +216 -0
- data/lib/new_relic/agent/distributed_tracing/cross_app_payload.rb +44 -0
- data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +248 -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 +165 -0
- 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/encoding_normalizer.rb +1 -1
- data/lib/new_relic/agent/error_collector.rb +51 -20
- data/lib/new_relic/agent/error_event_aggregator.rb +14 -7
- data/lib/new_relic/agent/error_trace_aggregator.rb +2 -1
- data/lib/new_relic/agent/event_aggregator.rb +34 -15
- 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 +31 -29
- 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 +140 -0
- 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.rb +1 -1
- data/lib/new_relic/agent/instrumentation/action_cable_subscriber.rb +26 -43
- data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +56 -74
- data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +82 -56
- data/lib/new_relic/agent/instrumentation/active_job.rb +19 -17
- 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 +82 -24
- data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +168 -0
- data/lib/new_relic/agent/instrumentation/active_record_prepend.rb +102 -31
- data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +47 -57
- data/lib/new_relic/agent/instrumentation/active_storage.rb +23 -0
- data/lib/new_relic/agent/instrumentation/active_storage_subscriber.rb +63 -0
- data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +24 -8
- data/lib/new_relic/agent/instrumentation/authlogic.rb +1 -1
- data/lib/new_relic/agent/instrumentation/bunny.rb +115 -44
- data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +18 -12
- data/lib/new_relic/agent/instrumentation/curb.rb +121 -35
- data/lib/new_relic/agent/instrumentation/data_mapper.rb +6 -4
- data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +61 -25
- data/lib/new_relic/agent/instrumentation/excon.rb +2 -2
- data/lib/new_relic/agent/instrumentation/excon/connection.rb +8 -5
- data/lib/new_relic/agent/instrumentation/excon/middleware.rb +4 -3
- data/lib/new_relic/agent/instrumentation/grape.rb +46 -35
- data/lib/new_relic/agent/instrumentation/http.rb +8 -5
- data/lib/new_relic/agent/instrumentation/httpclient.rb +7 -5
- data/lib/new_relic/agent/instrumentation/ignore_actions.rb +1 -1
- data/lib/new_relic/agent/instrumentation/memcache.rb +5 -3
- data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +10 -6
- 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 +13 -5
- data/lib/new_relic/agent/instrumentation/middleware_tracing.rb +20 -11
- data/lib/new_relic/agent/instrumentation/mongo.rb +11 -5
- data/lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb +39 -7
- data/lib/new_relic/agent/instrumentation/net.rb +60 -23
- data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +100 -0
- data/lib/new_relic/agent/instrumentation/padrino.rb +40 -16
- 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.rb +36 -13
- 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 +8 -5
- 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.rb +56 -22
- data/lib/new_relic/agent/instrumentation/redis.rb +141 -56
- data/lib/new_relic/agent/instrumentation/resque.rb +21 -37
- data/lib/new_relic/agent/instrumentation/sequel.rb +2 -3
- 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.rb +62 -23
- data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +1 -1
- data/lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb +1 -1
- data/lib/new_relic/agent/instrumentation/sunspot.rb +1 -1
- data/lib/new_relic/agent/instrumentation/typhoeus.rb +27 -10
- data/lib/new_relic/agent/internal_agent_error.rb +1 -1
- data/lib/new_relic/agent/javascript_instrumentor.rb +19 -16
- 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 -59
- data/lib/new_relic/agent/method_tracer.rb +42 -25
- data/lib/new_relic/agent/method_tracer_helpers.rb +5 -5
- data/lib/new_relic/agent/monitors.rb +27 -0
- 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/new_relic_service.rb +174 -63
- 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 +61 -0
- 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 +5 -1
- data/lib/new_relic/agent/prepend_supportability.rb +1 -1
- data/lib/new_relic/agent/priority_sampled_buffer.rb +95 -0
- data/lib/new_relic/agent/range_extensions.rb +1 -1
- data/lib/new_relic/agent/rules_engine.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/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 +1 -1
- 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 +49 -0
- data/lib/new_relic/agent/span_event_primitive.rb +206 -0
- data/lib/new_relic/agent/sql_sampler.rb +23 -7
- data/lib/new_relic/agent/stats.rb +1 -1
- data/lib/new_relic/agent/stats_engine.rb +4 -4
- data/lib/new_relic/agent/stats_engine/gc_profiler.rb +1 -1
- data/lib/new_relic/agent/stats_engine/stats_hash.rb +1 -1
- data/lib/new_relic/agent/supported_versions.rb +3 -3
- data/lib/new_relic/agent/synthetics_event_aggregator.rb +6 -13
- data/lib/new_relic/agent/system_info.rb +18 -8
- data/lib/new_relic/agent/threading/agent_thread.rb +6 -4
- 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 +19 -0
- data/lib/new_relic/agent/tracer.rb +509 -0
- data/lib/new_relic/agent/transaction.rb +191 -278
- data/lib/new_relic/agent/transaction/abstract_segment.rb +38 -5
- data/lib/new_relic/agent/transaction/datastore_segment.rb +30 -5
- data/lib/new_relic/agent/transaction/distributed_tracer.rb +171 -0
- data/lib/new_relic/agent/transaction/distributed_tracing.rb +123 -71
- data/lib/new_relic/agent/transaction/external_request_segment.rb +41 -89
- data/lib/new_relic/agent/transaction/message_broker_segment.rb +7 -8
- data/lib/new_relic/agent/transaction/request_attributes.rb +1 -1
- data/lib/new_relic/agent/transaction/segment.rb +42 -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 +7 -23
- 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 +12 -8
- data/lib/new_relic/agent/transaction/tracing.rb +2 -100
- data/lib/new_relic/agent/transaction/transaction_sample_buffer.rb +1 -1
- data/lib/new_relic/agent/transaction_error_primitive.rb +13 -22
- data/lib/new_relic/agent/transaction_event_aggregator.rb +7 -16
- data/lib/new_relic/agent/transaction_event_primitive.rb +31 -42
- data/lib/new_relic/agent/transaction_event_recorder.rb +8 -16
- data/lib/new_relic/agent/transaction_metrics.rb +1 -1
- data/lib/new_relic/agent/transaction_sampler.rb +3 -14
- data/lib/new_relic/agent/transaction_time_aggregator.rb +155 -0
- 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.rb +1 -1
- 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 +1 -1
- data/lib/new_relic/agent/vm/snapshot.rb +1 -1
- data/lib/new_relic/agent/worker_loop.rb +1 -1
- data/lib/new_relic/cli/command.rb +1 -1
- data/lib/new_relic/cli/commands/deployments.rb +2 -2
- 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 +38 -0
- data/lib/new_relic/control.rb +1 -1
- data/lib/new_relic/control/class_methods.rb +8 -2
- data/lib/new_relic/control/frameworks.rb +1 -1
- 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 +1 -1
- 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/instance_methods.rb +30 -4
- data/lib/new_relic/control/instrumentation.rb +1 -1
- data/lib/new_relic/control/server_methods.rb +1 -1
- data/lib/new_relic/delayed_job_injection.rb +1 -1
- data/lib/new_relic/dependency_detection.rb +5 -5
- data/lib/new_relic/environment_report.rb +6 -2
- data/lib/new_relic/helper.rb +1 -1
- data/lib/new_relic/language_support.rb +1 -1
- data/lib/new_relic/latest_changes.rb +4 -4
- 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 +39 -18
- data/lib/new_relic/rack.rb +1 -1
- 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/recipes.rb +1 -1
- data/lib/new_relic/recipes/capistrano3.rb +6 -3
- data/lib/new_relic/recipes/capistrano_legacy.rb +1 -1
- data/lib/new_relic/supportability_helper.rb +15 -1
- data/lib/new_relic/version.rb +4 -4
- data/lib/newrelic_rpm.rb +1 -1
- data/lib/sequel/extensions/newrelic_instrumentation.rb +3 -3
- data/lib/sequel/plugins/newrelic_instrumentation.rb +2 -2
- 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 +23 -17
- data/recipes/newrelic.rb +1 -1
- data/test/agent_helper.rb +357 -78
- metadata +154 -60
- data/.travis.yml +0 -173
- 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 -140
- data/lib/new_relic/agent/cross_app_tracing.rb +0 -143
- data/lib/new_relic/agent/distributed_trace_monitor.rb +0 -29
- data/lib/new_relic/agent/distributed_trace_payload.rb +0 -223
- data/lib/new_relic/agent/distributed_trace_priority_sampled_buffer.rb +0 -72
- 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 -36
- data/lib/new_relic/agent/instrumentation/evented_subscriber.rb +0 -104
- 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/sampled_buffer.rb +0 -68
- data/lib/new_relic/agent/sized_buffer.rb +0 -23
- data/lib/new_relic/agent/synthetics_event_buffer.rb +0 -40
- data/lib/new_relic/agent/throughput_monitor.rb +0 -59
- data/lib/new_relic/agent/transaction/attributes.rb +0 -153
- data/lib/new_relic/agent/transaction/xray_sample_buffer.rb +0 -64
- data/lib/new_relic/agent/transaction_state.rb +0 -145
- data/lib/new_relic/agent/transaction_timings.rb +0 -57
- 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 'new_relic/agent/threading/agent_thread'
|
6
6
|
require 'new_relic/agent/threading/backtrace_service'
|
@@ -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 'new_relic/agent/configuration/manager'
|
6
6
|
require 'new_relic/agent/configuration/dotted_hash'
|
@@ -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
|
|
@@ -91,10 +91,8 @@ module NewRelic
|
|
91
91
|
:rails
|
92
92
|
when 3
|
93
93
|
:rails3
|
94
|
-
when 4
|
95
|
-
:
|
96
|
-
when 5
|
97
|
-
:rails5
|
94
|
+
when 4..6
|
95
|
+
:rails_notifications
|
98
96
|
else
|
99
97
|
::NewRelic::Agent.logger.error "Detected unsupported Rails version #{Rails::VERSION::STRING}"
|
100
98
|
end
|
@@ -113,9 +111,15 @@ module NewRelic
|
|
113
111
|
}
|
114
112
|
end
|
115
113
|
|
114
|
+
DEFAULT_LOG_DIR = 'log/'.freeze
|
115
|
+
|
116
116
|
def self.audit_log_path
|
117
117
|
Proc.new {
|
118
|
-
|
118
|
+
log_file_path = NewRelic::Agent.config[:log_file_path]
|
119
|
+
wants_stdout = (log_file_path.upcase == 'STDOUT')
|
120
|
+
audit_log_dir = wants_stdout ? DEFAULT_LOG_DIR : log_file_path
|
121
|
+
|
122
|
+
File.join(audit_log_dir, 'newrelic_audit.log')
|
119
123
|
}
|
120
124
|
end
|
121
125
|
|
@@ -142,10 +146,6 @@ module NewRelic
|
|
142
146
|
Proc.new { NewRelic::Agent.config[:apdex_t] * 4 }
|
143
147
|
end
|
144
148
|
|
145
|
-
def self.port
|
146
|
-
Proc.new { NewRelic::Agent.config[:ssl] ? 443 : 80 }
|
147
|
-
end
|
148
|
-
|
149
149
|
def self.profiling_available
|
150
150
|
Proc.new {
|
151
151
|
begin
|
@@ -157,6 +157,27 @@ module NewRelic
|
|
157
157
|
}
|
158
158
|
end
|
159
159
|
|
160
|
+
def self.host
|
161
|
+
Proc.new do
|
162
|
+
regex = /\A(?<identifier>.+?)x/
|
163
|
+
if matches = regex.match(String(NewRelic::Agent.config[:license_key]))
|
164
|
+
"collector.#{matches['identifier']}.nr-data.net"
|
165
|
+
else
|
166
|
+
'collector.newrelic.com'
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
def self.api_host
|
172
|
+
Proc.new do
|
173
|
+
if String(NewRelic::Agent.config[:license_key]).start_with? 'eu'
|
174
|
+
'rpm.eu.newrelic.com'
|
175
|
+
else
|
176
|
+
'rpm.newrelic.com'
|
177
|
+
end
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
160
181
|
def self.convert_to_regexp_list(raw_value)
|
161
182
|
value_list = convert_to_list(raw_value)
|
162
183
|
value_list.map do |value|
|
@@ -175,6 +196,15 @@ module NewRelic
|
|
175
196
|
end
|
176
197
|
end
|
177
198
|
|
199
|
+
SEMICOLON = ';'.freeze
|
200
|
+
def self.convert_to_list_on_semicolon value
|
201
|
+
case value
|
202
|
+
when Array then value
|
203
|
+
when String then value.split(SEMICOLON)
|
204
|
+
else []
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
178
208
|
def self.convert_to_constant_list(raw_value)
|
179
209
|
const_names = convert_to_list(raw_value)
|
180
210
|
const_names.map! do |class_name|
|
@@ -188,9 +218,19 @@ module NewRelic
|
|
188
218
|
end
|
189
219
|
const_names.compact
|
190
220
|
end
|
221
|
+
|
222
|
+
def self.enforce_fallback(allowed_values: nil, fallback: nil)
|
223
|
+
Proc.new do |configured_value|
|
224
|
+
if allowed_values.any? { |v| v =~ /#{configured_value}/i }
|
225
|
+
configured_value
|
226
|
+
else
|
227
|
+
fallback
|
228
|
+
end
|
229
|
+
end
|
230
|
+
end
|
191
231
|
end
|
192
232
|
|
193
|
-
|
233
|
+
AUTOSTART_DENYLISTED_RAKE_TASKS = [
|
194
234
|
'about',
|
195
235
|
'assets:clean',
|
196
236
|
'assets:clobber',
|
@@ -238,7 +278,8 @@ module NewRelic
|
|
238
278
|
'test:uncommitted',
|
239
279
|
'time:zones:all',
|
240
280
|
'tmp:clear',
|
241
|
-
'tmp:create'
|
281
|
+
'tmp:create',
|
282
|
+
'webpacker:compile'
|
242
283
|
].join(',').freeze
|
243
284
|
|
244
285
|
DEFAULTS = {
|
@@ -269,8 +310,17 @@ module NewRelic
|
|
269
310
|
:public => true,
|
270
311
|
:type => String,
|
271
312
|
:allowed_from_server => false,
|
313
|
+
:transform => DefaultSource.method(:convert_to_list_on_semicolon),
|
272
314
|
: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>.'
|
273
315
|
},
|
316
|
+
:entity_guid => {
|
317
|
+
:default => nil,
|
318
|
+
:allow_nil => true,
|
319
|
+
:public => true,
|
320
|
+
:type => String,
|
321
|
+
:allowed_from_server => true,
|
322
|
+
:description => 'The <a href="https://docs.newrelic.com/attribute-dictionary/span/entityguid">Entity GUID</a> for the entity running this agent.'
|
323
|
+
},
|
274
324
|
:monitor_mode => {
|
275
325
|
:default => value_of(:enabled),
|
276
326
|
:public => true,
|
@@ -299,13 +349,12 @@ module NewRelic
|
|
299
349
|
:allowed_from_server => false,
|
300
350
|
:description => 'If <code>true</code>, enables <a href="https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security">high security mode</a>. Ensure you understand the implications of high security mode before enabling this setting.'
|
301
351
|
},
|
302
|
-
:
|
303
|
-
:default =>
|
304
|
-
:allow_nil => true,
|
352
|
+
:security_policies_token => {
|
353
|
+
:default => '',
|
305
354
|
:public => true,
|
306
|
-
:type =>
|
355
|
+
:type => String,
|
307
356
|
:allowed_from_server => false,
|
308
|
-
:description => '
|
357
|
+
:description => 'Applies Language Agent Security Policy settings.'
|
309
358
|
},
|
310
359
|
:proxy_host => {
|
311
360
|
:default => nil,
|
@@ -346,7 +395,21 @@ module NewRelic
|
|
346
395
|
:public => true,
|
347
396
|
:type => Boolean,
|
348
397
|
:allowed_from_server => false,
|
349
|
-
:description => 'When <code>true</code>, the agent captures HTTP request parameters
|
398
|
+
:description => 'When <code>true</code>, the agent captures HTTP request parameters ' \
|
399
|
+
'and attaches them to transaction traces, traced errors, and ' \
|
400
|
+
'<a href="https://docs.newrelic.com/attribute-dictionary?attribute_name=&events_tids%5B%5D=8241">'\
|
401
|
+
'<code>TransactionError</code> events.' \
|
402
|
+
"\n" \
|
403
|
+
'<div class="callout-warning">' \
|
404
|
+
"\n" \
|
405
|
+
'<p>When using the <code>capture_params</code> setting, the Ruby agent will not attempt ' \
|
406
|
+
'to filter secret information. <b>Recommendation:</b> To filter secret information from ' \
|
407
|
+
'request parameters, use the <a href="/docs/agents/ruby-agent/attributes/enable-disable-attributes-ruby">' \
|
408
|
+
'<code>attributes.include</code> setting</a> instead. For more information, see the ' \
|
409
|
+
'<a href="/docs/agents/ruby-agent/attributes/ruby-attribute-examples#ex_req_params">' \
|
410
|
+
'Ruby attribute examples</a>.' \
|
411
|
+
"</p>\n" \
|
412
|
+
'</div>'
|
350
413
|
},
|
351
414
|
:config_path => {
|
352
415
|
:default => DefaultSource.config_path,
|
@@ -377,6 +440,17 @@ module NewRelic
|
|
377
440
|
:description => 'Autodetected application framework used to enable framework-specific functionality.'
|
378
441
|
},
|
379
442
|
:'autostart.blacklisted_constants' => {
|
443
|
+
:default => 'Rails::Console',
|
444
|
+
:public => true,
|
445
|
+
:type => String,
|
446
|
+
:allowed_from_server => false,
|
447
|
+
:description => 'Deprecated. ' \
|
448
|
+
'For agent versions 6.8.0 or higher, ' \
|
449
|
+
'use <a href="#autostart-denylisted_constants"><code>' \
|
450
|
+
'autostart.denylisted_constants' \
|
451
|
+
'</code></a> instead.'
|
452
|
+
},
|
453
|
+
:'autostart.denylisted_constants' => {
|
380
454
|
:default => 'Rails::Console',
|
381
455
|
:public => true,
|
382
456
|
:type => String,
|
@@ -388,10 +462,32 @@ module NewRelic
|
|
388
462
|
:public => true,
|
389
463
|
:type => String,
|
390
464
|
:allowed_from_server => false,
|
465
|
+
:description => 'Deprecated. ' \
|
466
|
+
'For agent versions 6.8.0 or higher, ' \
|
467
|
+
'use <a href="#autostart-denylisted_executables"><code>' \
|
468
|
+
'autostart.denylisted_executables' \
|
469
|
+
'</code></a> instead.'
|
470
|
+
},
|
471
|
+
:'autostart.denylisted_executables' => {
|
472
|
+
:default => value_of(:'autostart.blacklisted_executables'),
|
473
|
+
:public => true,
|
474
|
+
:type => String,
|
475
|
+
:allowed_from_server => false,
|
391
476
|
:description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, <code>rake,my_ruby_script.rb</code>.'
|
392
477
|
},
|
393
478
|
:'autostart.blacklisted_rake_tasks' => {
|
394
|
-
:default =>
|
479
|
+
:default => AUTOSTART_DENYLISTED_RAKE_TASKS,
|
480
|
+
:public => true,
|
481
|
+
:type => String,
|
482
|
+
:allowed_from_server => false,
|
483
|
+
:description => 'Deprecated. ' \
|
484
|
+
'For agent versions 6.8.0 or higher, ' \
|
485
|
+
'use <a href="#autostart-denylisted_rake_tasks"><code>' \
|
486
|
+
'autostart.denylisted_rake_tasks' \
|
487
|
+
'</code></a> instead.'
|
488
|
+
},
|
489
|
+
:'autostart.denylisted_rake_tasks' => {
|
490
|
+
:default => value_of(:'autostart.blacklisted_rake_tasks'),
|
395
491
|
:public => true,
|
396
492
|
:type => String,
|
397
493
|
:allowed_from_server => false,
|
@@ -439,32 +535,45 @@ module NewRelic
|
|
439
535
|
:public => true,
|
440
536
|
:type => Boolean,
|
441
537
|
:allowed_from_server => false,
|
442
|
-
:description => 'If true, the agent strips messages from all exceptions except those in the <a href="#strip_exception_messages-
|
538
|
+
: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>.'
|
443
539
|
},
|
444
540
|
:'strip_exception_messages.whitelist' => {
|
445
541
|
:default => '',
|
446
542
|
:public => true,
|
447
543
|
:type => String,
|
544
|
+
:deprecated => true,
|
448
545
|
:allowed_from_server => false,
|
449
546
|
:transform => DefaultSource.method(:convert_to_constant_list),
|
450
|
-
:description => '
|
547
|
+
:description => 'Deprecated. ' \
|
548
|
+
'For agent versions 6.8.0 or higher, ' \
|
549
|
+
'use <a href="#strip_exception_messages.allowed_classes"><code>' \
|
550
|
+
'strip_exception_messages.allowed_classes' \
|
551
|
+
'</code></a> instead.'
|
552
|
+
},
|
553
|
+
:'strip_exception_messages.allowed_classes' => {
|
554
|
+
:default => '',
|
555
|
+
:public => true,
|
556
|
+
:type => String,
|
557
|
+
:allowed_from_server => false,
|
558
|
+
:transform => DefaultSource.method(:convert_to_constant_list),
|
559
|
+
: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>.'
|
451
560
|
},
|
452
561
|
:host => {
|
453
|
-
:default =>
|
562
|
+
:default => DefaultSource.host,
|
454
563
|
:public => false,
|
455
564
|
:type => String,
|
456
565
|
:allowed_from_server => false,
|
457
566
|
:description => "URI for the New Relic data collection service."
|
458
567
|
},
|
459
568
|
:api_host => {
|
460
|
-
:default =>
|
569
|
+
:default => DefaultSource.api_host,
|
461
570
|
:public => false,
|
462
571
|
:type => String,
|
463
572
|
:allowed_from_server => false,
|
464
573
|
:description => 'API host for New Relic.'
|
465
574
|
},
|
466
575
|
:port => {
|
467
|
-
:default =>
|
576
|
+
:default => 443,
|
468
577
|
:public => false,
|
469
578
|
:type => Integer,
|
470
579
|
:allowed_from_server => false,
|
@@ -491,8 +600,8 @@ module NewRelic
|
|
491
600
|
:allowed_from_server => false,
|
492
601
|
:description => 'If <code>true</code>, enables the exit handler that sends data to the New Relic <a href="https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/glossary#collector">collector</a> before shutting down.'
|
493
602
|
},
|
494
|
-
:
|
495
|
-
:default =>
|
603
|
+
:max_payload_size_in_bytes => {
|
604
|
+
:default => 1000000,
|
496
605
|
:public => false,
|
497
606
|
:type => Integer,
|
498
607
|
:allowed_from_server => true,
|
@@ -506,7 +615,7 @@ module NewRelic
|
|
506
615
|
:description => 'Use HTTP PUT requests instead of POST.'
|
507
616
|
},
|
508
617
|
:compressed_content_encoding => {
|
509
|
-
:default => '
|
618
|
+
:default => 'gzip',
|
510
619
|
:public => false,
|
511
620
|
:type => String,
|
512
621
|
:allowed_from_server => false,
|
@@ -538,15 +647,46 @@ module NewRelic
|
|
538
647
|
:public => false,
|
539
648
|
:type => Integer,
|
540
649
|
:allowed_from_server => true,
|
541
|
-
:description => 'Number of seconds betwixt connections to the New Relic data collection service.
|
650
|
+
:description => 'Number of seconds betwixt connections to the New Relic data collection service.'
|
651
|
+
},
|
652
|
+
:event_report_period => {
|
653
|
+
:default => 60,
|
654
|
+
:public => false,
|
655
|
+
:type => Integer,
|
656
|
+
:allowed_from_server => true,
|
657
|
+
:description => 'Number of seconds betwixt connections to the New Relic event collection services.'
|
658
|
+
},
|
659
|
+
:'event_report_period.analytic_event_data' => {
|
660
|
+
:default => 60,
|
661
|
+
:public => false,
|
662
|
+
:type => Integer,
|
663
|
+
:dynamic_name => true,
|
664
|
+
:allowed_from_server => true,
|
665
|
+
:description => 'Number of seconds betwixt connections to the New Relic analytic event collection services.'
|
666
|
+
},
|
667
|
+
:'event_report_period.custom_event_data' => {
|
668
|
+
:default => 60,
|
669
|
+
:public => false,
|
670
|
+
:type => Integer,
|
671
|
+
:dynamic_name => true,
|
672
|
+
:allowed_from_server => true,
|
673
|
+
:description => 'Number of seconds betwixt connections to the New Relic custom event collection services.'
|
674
|
+
},
|
675
|
+
:'event_report_period.error_event_data' => {
|
676
|
+
:default => 60,
|
677
|
+
:public => false,
|
678
|
+
:type => Integer,
|
679
|
+
:dynamic_name => true,
|
680
|
+
:allowed_from_server => true,
|
681
|
+
:description => 'Number of seconds betwixt connections to the New Relic error event collection services.'
|
542
682
|
},
|
543
|
-
:'
|
683
|
+
:'event_report_period.span_event_data' => {
|
544
684
|
:default => 60,
|
545
685
|
:public => false,
|
546
686
|
:type => Integer,
|
547
687
|
:dynamic_name => true,
|
548
688
|
:allowed_from_server => true,
|
549
|
-
:description => 'Number of seconds
|
689
|
+
:description => 'Number of seconds betwixt connections to the New Relic span event collection services.'
|
550
690
|
},
|
551
691
|
:keep_retrying => {
|
552
692
|
:default => true,
|
@@ -578,7 +718,7 @@ module NewRelic
|
|
578
718
|
:description => 'Defines a name for the log file.'
|
579
719
|
},
|
580
720
|
:log_file_path => {
|
581
|
-
:default =>
|
721
|
+
:default => DefaultSource::DEFAULT_LOG_DIR,
|
582
722
|
:public => true,
|
583
723
|
:type => String,
|
584
724
|
:allowed_from_server => false,
|
@@ -706,6 +846,14 @@ module NewRelic
|
|
706
846
|
:allowed_from_server => false,
|
707
847
|
:description => 'If <code>true</code>, disables Action Cable instrumentation.'
|
708
848
|
},
|
849
|
+
:disable_active_storage => {
|
850
|
+
:default => false,
|
851
|
+
:public => true,
|
852
|
+
:type => Boolean,
|
853
|
+
:dynamic_name => true,
|
854
|
+
:allowed_from_server => false,
|
855
|
+
:description => 'If <code>true</code>, disables ActiveStorage instrumentation.'
|
856
|
+
},
|
709
857
|
:disable_memcached => {
|
710
858
|
:default => value_of(:disable_memcache_instrumentation),
|
711
859
|
:public => true,
|
@@ -799,7 +947,16 @@ module NewRelic
|
|
799
947
|
:public => true,
|
800
948
|
:type => String,
|
801
949
|
:allowed_from_server => true,
|
802
|
-
:description => 'Obfuscation level for SQL queries reported in transaction trace nodes
|
950
|
+
:description => 'Obfuscation level for SQL queries reported in transaction trace nodes.</p>
|
951
|
+
|
952
|
+
<p>By default, this is set to <code>obfuscated</code>, which strips out the numeric and string literals.</p>
|
953
|
+
|
954
|
+
<ul>
|
955
|
+
<li>If you do not want the agent to capture query information, set this to <code>none</code>.</li>
|
956
|
+
<li>If you want the agent to capture all query information in its original form, set this to <code>raw</code>.</li>
|
957
|
+
<li>When you enable <a href="/docs/agents/manage-apm-agents/configuration/high-security-mode">high security mode</a>, this is automatically set to <code>obfuscated</code>.</li>
|
958
|
+
</ul>
|
959
|
+
<p>' # Doc generator will wrap this in <p>...</p>
|
803
960
|
},
|
804
961
|
:'transaction_tracer.record_redis_arguments' => {
|
805
962
|
:default => false,
|
@@ -959,11 +1116,19 @@ module NewRelic
|
|
959
1116
|
:allowed_from_server => true,
|
960
1117
|
:description => 'Specify a comma-delimited list of error classes that the agent should ignore.'
|
961
1118
|
},
|
1119
|
+
:'error_collector.max_backtrace_frames' => {
|
1120
|
+
:default => 50,
|
1121
|
+
:public => true,
|
1122
|
+
:type => Integer,
|
1123
|
+
:allowed_from_server => false,
|
1124
|
+
:description => 'Defines the maximum number of frames in an error backtrace. Backtraces over this amount are truncated at the beginning and end.'
|
1125
|
+
},
|
962
1126
|
:'error_collector.capture_events' => {
|
963
1127
|
:default => value_of(:'error_collector.enabled'),
|
964
1128
|
:public => true,
|
965
1129
|
:type => Boolean,
|
966
1130
|
:allowed_from_server => true,
|
1131
|
+
:dynamic_name => true,
|
967
1132
|
: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>.'
|
968
1133
|
},
|
969
1134
|
:'error_collector.max_event_samples_stored' => {
|
@@ -1082,7 +1247,7 @@ module NewRelic
|
|
1082
1247
|
: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.'
|
1083
1248
|
},
|
1084
1249
|
:"cross_application_tracer.enabled" => {
|
1085
|
-
:default =>
|
1250
|
+
:default => Proc.new { !NewRelic::Agent.config[:'distributed_tracing.enabled'] },
|
1086
1251
|
:public => true,
|
1087
1252
|
:type => Boolean,
|
1088
1253
|
:allowed_from_server => true,
|
@@ -1118,35 +1283,7 @@ module NewRelic
|
|
1118
1283
|
:allowed_from_server => true,
|
1119
1284
|
: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>.'
|
1120
1285
|
},
|
1121
|
-
:'
|
1122
|
-
:default => true,
|
1123
|
-
:public => true,
|
1124
|
-
:type => Boolean,
|
1125
|
-
:allowed_from_server => true,
|
1126
|
-
: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>.'
|
1127
|
-
},
|
1128
|
-
:'xray_session.allow_traces' => {
|
1129
|
-
:default => true,
|
1130
|
-
:public => false,
|
1131
|
-
:type => Boolean,
|
1132
|
-
:allowed_from_server => true,
|
1133
|
-
:description => 'Enable or disable X-Ray sessions recording transaction traces.'
|
1134
|
-
},
|
1135
|
-
:'xray_session.allow_profiles' => {
|
1136
|
-
:default => true,
|
1137
|
-
:public => false,
|
1138
|
-
:type => Boolean,
|
1139
|
-
:allowed_from_server => true,
|
1140
|
-
:description => 'Enable or disable X-Ray sessions taking thread profiles.'
|
1141
|
-
},
|
1142
|
-
:'xray_session.max_samples' => {
|
1143
|
-
:default => 10,
|
1144
|
-
:public => false,
|
1145
|
-
:type => Integer,
|
1146
|
-
:allowed_from_server => true,
|
1147
|
-
:description => 'Maximum number of transaction traces to buffer for active X-Ray sessions'
|
1148
|
-
},
|
1149
|
-
:'xray_session.max_profile_overhead' => {
|
1286
|
+
:'thread_profiler.max_profile_overhead' => {
|
1150
1287
|
:default => 0.05,
|
1151
1288
|
:public => false,
|
1152
1289
|
:type => Float,
|
@@ -1196,6 +1333,13 @@ module NewRelic
|
|
1196
1333
|
:allowed_from_server => false,
|
1197
1334
|
:description => 'Controls whether to normalize string encodings prior to serializing data for the collector to JSON.'
|
1198
1335
|
},
|
1336
|
+
:backport_fast_active_record_connection_lookup => {
|
1337
|
+
:default => false,
|
1338
|
+
:public => true,
|
1339
|
+
:type => Boolean,
|
1340
|
+
:allowed_from_server => false,
|
1341
|
+
: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.'
|
1342
|
+
},
|
1199
1343
|
:disable_vm_sampler => {
|
1200
1344
|
:default => false,
|
1201
1345
|
:public => true,
|
@@ -1234,7 +1378,12 @@ module NewRelic
|
|
1234
1378
|
:type => Boolean,
|
1235
1379
|
:dynamic_name => true,
|
1236
1380
|
:allowed_from_server => false,
|
1237
|
-
:
|
1381
|
+
:deprecated => true,
|
1382
|
+
:description => 'Deprecated. ' \
|
1383
|
+
'For agent versions 6.3 or higher, ' \
|
1384
|
+
'use <a href="#disable_active_record_notifications"><code>' \
|
1385
|
+
'disable_active_record_notifications' \
|
1386
|
+
'</code></a> instead.'
|
1238
1387
|
},
|
1239
1388
|
:disable_active_record_5 => {
|
1240
1389
|
:default => false,
|
@@ -1242,7 +1391,20 @@ module NewRelic
|
|
1242
1391
|
:type => Boolean,
|
1243
1392
|
:dynamic_name => true,
|
1244
1393
|
:allowed_from_server => false,
|
1245
|
-
:
|
1394
|
+
:deprecated => true,
|
1395
|
+
:description => 'Deprecated. ' \
|
1396
|
+
'For agent versions 6.3 or higher, ' \
|
1397
|
+
'use <a href="#disable_active_record_notifications"><code>' \
|
1398
|
+
'disable_active_record_notifications' \
|
1399
|
+
'</code></a> instead.'
|
1400
|
+
},
|
1401
|
+
:disable_active_record_notifications => {
|
1402
|
+
:default => false,
|
1403
|
+
:public => true,
|
1404
|
+
:type => Boolean,
|
1405
|
+
:dynamic_name => true,
|
1406
|
+
:allowed_from_server => false,
|
1407
|
+
:description => 'If <code>true</code>, disables instrumentation for ActiveRecord 4, 5, and 6.'
|
1246
1408
|
},
|
1247
1409
|
:disable_bunny => {
|
1248
1410
|
:default => false,
|
@@ -1483,6 +1645,20 @@ module NewRelic
|
|
1483
1645
|
:allowed_from_server => false,
|
1484
1646
|
:description => 'If <code>true</code>, the agent captures attributes from browser monitoring.'
|
1485
1647
|
},
|
1648
|
+
:'span_events.attributes.enabled' => {
|
1649
|
+
:default => true,
|
1650
|
+
:public => true,
|
1651
|
+
:type => Boolean,
|
1652
|
+
:allowed_from_server => false,
|
1653
|
+
:description => 'If <code>true</code>, the agent captures attributes on span events.'
|
1654
|
+
},
|
1655
|
+
:'transaction_segments.attributes.enabled' => {
|
1656
|
+
:default => true,
|
1657
|
+
:public => true,
|
1658
|
+
:type => Boolean,
|
1659
|
+
:allowed_from_server => false,
|
1660
|
+
:description => 'If <code>true</code>, the agent captures attributes on transaction segments.'
|
1661
|
+
},
|
1486
1662
|
:'attributes.exclude' => {
|
1487
1663
|
:default => [],
|
1488
1664
|
:public => true,
|
@@ -1523,6 +1699,22 @@ module NewRelic
|
|
1523
1699
|
:transform => DefaultSource.method(:convert_to_list),
|
1524
1700
|
:description => 'Prefix of attributes to exclude from browser monitoring. Allows <code>*</code> as wildcard at end.'
|
1525
1701
|
},
|
1702
|
+
:'span_events.attributes.exclude' => {
|
1703
|
+
:default => [],
|
1704
|
+
:public => true,
|
1705
|
+
:type => Array,
|
1706
|
+
:allowed_from_server => false,
|
1707
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1708
|
+
:description => 'Prefix of attributes to exclude from span events. Allows <code>*</code> as wildcard at end.'
|
1709
|
+
},
|
1710
|
+
:'transaction_segments.attributes.exclude' => {
|
1711
|
+
:default => [],
|
1712
|
+
:public => true,
|
1713
|
+
:type => Array,
|
1714
|
+
:allowed_from_server => false,
|
1715
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1716
|
+
:description => 'Prefix of attributes to exclude from transaction segments. Allows <code>*</code> as wildcard at end.'
|
1717
|
+
},
|
1526
1718
|
:'attributes.include' => {
|
1527
1719
|
:default => [],
|
1528
1720
|
:public => true,
|
@@ -1563,6 +1755,29 @@ module NewRelic
|
|
1563
1755
|
:transform => DefaultSource.method(:convert_to_list),
|
1564
1756
|
:description => 'Prefix of attributes to include in browser monitoring. Allows <code>*</code> as wildcard at end.'
|
1565
1757
|
},
|
1758
|
+
:'span_events.attributes.include' => {
|
1759
|
+
:default => [],
|
1760
|
+
:public => true,
|
1761
|
+
:type => Array,
|
1762
|
+
:allowed_from_server => false,
|
1763
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1764
|
+
:description => 'Prefix of attributes to include on span events. Allows <code>*</code> as wildcard at end.'
|
1765
|
+
},
|
1766
|
+
:'transaction_segments.attributes.include' => {
|
1767
|
+
:default => [],
|
1768
|
+
:public => true,
|
1769
|
+
:type => Array,
|
1770
|
+
:allowed_from_server => false,
|
1771
|
+
:transform => DefaultSource.method(:convert_to_list),
|
1772
|
+
:description => 'Prefix of attributes to include on transaction segments. Allows <code>*</code> as wildcard at end.'
|
1773
|
+
},
|
1774
|
+
:'custom_attributes.enabled' => {
|
1775
|
+
:default => true,
|
1776
|
+
:public => true,
|
1777
|
+
:type => Boolean,
|
1778
|
+
:allowed_from_server => false,
|
1779
|
+
:description => 'If <code>false</code>, custom attributes will not be sent on Insights events.'
|
1780
|
+
},
|
1566
1781
|
:'utilization.detect_aws' => {
|
1567
1782
|
:default => true,
|
1568
1783
|
:public => true,
|
@@ -1602,6 +1817,13 @@ module NewRelic
|
|
1602
1817
|
:allowed_from_server => false,
|
1603
1818
|
:description => 'If <code>true</code>, the agent automatically detects that it is running in Docker.'
|
1604
1819
|
},
|
1820
|
+
:'utilization.detect_kubernetes' => {
|
1821
|
+
:default => true,
|
1822
|
+
:public => true,
|
1823
|
+
:type => Boolean,
|
1824
|
+
:allowed_from_server => false,
|
1825
|
+
:description => 'If <code>true</code>, the agent automatically detects that it is running in Kubernetes.'
|
1826
|
+
},
|
1605
1827
|
:'utilization.billing_hostname' => {
|
1606
1828
|
:default => nil,
|
1607
1829
|
:allow_nil => true,
|
@@ -1645,14 +1867,100 @@ module NewRelic
|
|
1645
1867
|
:public => true,
|
1646
1868
|
:type => Boolean,
|
1647
1869
|
:allowed_from_server => false,
|
1648
|
-
:description => 'If <code>true</code>, the agent will clear <code>
|
1870
|
+
:description => 'If <code>true</code>, the agent will clear <code>Tracer::State</code> in <code>Agent.drop_buffered_data</code>.'
|
1871
|
+
},
|
1872
|
+
:account_id => {
|
1873
|
+
:default => nil,
|
1874
|
+
:allow_nil => true,
|
1875
|
+
:public => false,
|
1876
|
+
:type => String,
|
1877
|
+
:allowed_from_server => true,
|
1878
|
+
:description => 'The account id associated with this application.'
|
1879
|
+
},
|
1880
|
+
:primary_application_id => {
|
1881
|
+
:default => nil,
|
1882
|
+
:allow_nil => true,
|
1883
|
+
:public => false,
|
1884
|
+
:type => String,
|
1885
|
+
:allowed_from_server => true,
|
1886
|
+
:description => 'The primary id associated with this application.'
|
1649
1887
|
},
|
1650
1888
|
:'distributed_tracing.enabled' => {
|
1651
1889
|
:default => false,
|
1652
|
-
:public =>
|
1890
|
+
:public => true,
|
1653
1891
|
:type => Boolean,
|
1654
1892
|
:allowed_from_server => false,
|
1655
|
-
:description => '
|
1893
|
+
: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 <a href="https://docs.newrelic.com/docs/transition-guide-distributed-tracing">transition guide</a> before you enable this feature.'
|
1894
|
+
},
|
1895
|
+
:trusted_account_key => {
|
1896
|
+
:default => nil,
|
1897
|
+
:allow_nil => true,
|
1898
|
+
:public => false,
|
1899
|
+
:type => String,
|
1900
|
+
:allowed_from_server => true,
|
1901
|
+
:description => 'A shared key to validate that a distributed trace payload came from a trusted account.'
|
1902
|
+
},
|
1903
|
+
:sampling_target => {
|
1904
|
+
:default => 10,
|
1905
|
+
:public => false,
|
1906
|
+
:type => Integer,
|
1907
|
+
:allowed_from_server => true,
|
1908
|
+
:description => 'The target number of transactions to mark as sampled during a sampled period.'
|
1909
|
+
},
|
1910
|
+
:sampling_target_period_in_seconds => {
|
1911
|
+
:default => 60,
|
1912
|
+
:public => false,
|
1913
|
+
:type => Integer,
|
1914
|
+
:allowed_from_server => true,
|
1915
|
+
:description => 'The period during which a target number of transactions should be marked as sampled.'
|
1916
|
+
},
|
1917
|
+
:'span_events.enabled' => {
|
1918
|
+
:default => true,
|
1919
|
+
:public => true,
|
1920
|
+
:type => Boolean,
|
1921
|
+
:allowed_from_server => true,
|
1922
|
+
:description => 'If <code>true</code>, enables span event sampling.'
|
1923
|
+
},
|
1924
|
+
:'span_events.queue_size' => {
|
1925
|
+
:default => 10_000,
|
1926
|
+
:public => true,
|
1927
|
+
:type => Integer,
|
1928
|
+
:allowed_from_server => false,
|
1929
|
+
:external => :infinite_tracing,
|
1930
|
+
:description => "Sets the maximum number of span events to buffer when streaming to the trace observer."
|
1931
|
+
},
|
1932
|
+
:'span_events.max_samples_stored' => {
|
1933
|
+
:default => 1000,
|
1934
|
+
:public => true,
|
1935
|
+
:type => Integer,
|
1936
|
+
:allowed_from_server => true,
|
1937
|
+
:description => 'Defines the maximum number of span events reported from a single harvest.'
|
1938
|
+
},
|
1939
|
+
:'exclude_newrelic_header' => {
|
1940
|
+
:default => false,
|
1941
|
+
:public => true,
|
1942
|
+
:type => Boolean,
|
1943
|
+
:allowed_from_server => true,
|
1944
|
+
:description => "Allows newrelic distributed tracing headers to be suppressed on outbound requests."
|
1945
|
+
},
|
1946
|
+
:'infinite_tracing.trace_observer.host' => {
|
1947
|
+
:default => '',
|
1948
|
+
:public => true,
|
1949
|
+
:type => String,
|
1950
|
+
:allowed_from_server => false,
|
1951
|
+
:external => :infinite_tracing,
|
1952
|
+
:description => "Configures the hostname for the Trace Observer Host. " \
|
1953
|
+
"When configured, enables tail-based sampling by sending all recorded spans " \
|
1954
|
+
"to a Trace Observer for further sampling decisions, irrespective of any usual " \
|
1955
|
+
"agent sampling decision."
|
1956
|
+
},
|
1957
|
+
:'infinite_tracing.trace_observer.port' => {
|
1958
|
+
:default => 443,
|
1959
|
+
:public => true,
|
1960
|
+
:type => Integer,
|
1961
|
+
:allowed_from_server => false,
|
1962
|
+
:external => :infinite_tracing,
|
1963
|
+
:description => "Configures the TCP/IP port for the Trace Observer Host"
|
1656
1964
|
}
|
1657
1965
|
}.freeze
|
1658
1966
|
end
|