Module: NewRelic::Agent::Configuration
- Defined in:
- lib/new_relic/agent/configuration.rb,
lib/new_relic/agent/configuration/manager.rb,
lib/new_relic/agent/configuration/defaults.rb,
lib/new_relic/agent/configuration/yaml_source.rb,
lib/new_relic/agent/configuration/mask_defaults.rb,
lib/new_relic/agent/configuration/server_source.rb,
lib/new_relic/agent/configuration/environment_source.rb
Defined Under Namespace
Modules: Instance Classes: DefaultSource, DottedHash, EnvironmentSource, Manager, ManualSource, ServerSource, YamlSource
Constant Summary collapse
- DEFAULTS =
DefaultSource[ :config_path => Proc.new { # Check a sequence of file locations for newrelic.yml files = [] files << File.join("config","newrelic.yml") files << File.join("newrelic.yml") if ENV["HOME"] files << File.join(ENV["HOME"], ".newrelic", "newrelic.yml") files << File.join(ENV["HOME"], "newrelic.yml") end files.detect do |file| File.(file) if File.exists? file end }, :app_name => Proc.new { NewRelic::Control.instance.env }, :dispatcher => Proc.new { NewRelic::Control.instance.local_env.discovered_dispatcher }, :framework => Proc.new do case when defined?(::NewRelic::TEST) then :test when defined?(::Merb) && defined?(::Merb::Plugins) then :merb when defined?(::Rails) case Rails::VERSION::MAJOR when 0..2 :rails when 3 :rails3 when 4 :rails4 else ::NewRelic::Agent::Agent.logger.error "Detected unsupported Rails version #{Rails::VERSION::STRING}" end when defined?(::Sinatra) && defined?(::Sinatra::Base) then :sinatra when defined?(::NewRelic::IA) then :external else :ruby end end, :enabled => true, :monitor_mode => Proc.new { self[:enabled] }, # agent_enabled determines whether the agent should try to start and # report data. :agent_enabled => Proc.new do self[:enabled] && (self[:developer_mode] || self[:monitor_mode] || self[:monitor_daemons]) && ::NewRelic::Agent::Autostart.agent_should_start? end, # Don't autostart the agent if we're in IRB or Rails console. # This config option accepts a comma separated list of constants. :'autostart.blacklisted_constants' => 'Rails::Console', # Comma separated list of executables that you don't want to trigger # agents start. e.g. 'rake,my_ruby_script.rb' :'autostart.blacklisted_executables' => 'irb', :'autostart.blacklisted_rake_tasks' => 'about,assets:clean,assets:clobber,assets:environment,assets:precompile,db:create,db:drop,db:fixtures:load,db:migrate,db:migrate:status,db:rollback,db:schema:cache:clear,db:schema:cache:dump,db:schema:dump,db:schema:load,db:seed,db:setup,db:structure:dump,db:version,doc:app,log:clear,middleware,notes,notes:custom,rails:template,rails:update,routes,secret,spec,spec:controllers,spec:helpers,spec:models,spec:rcov,stats,test,test:all,test:all:db,test:recent,test:single,test:uncommitted,time:zones:all,tmp:clear,tmp:create', :developer_mode => Proc.new { self[:developer] }, :developer => false, :apdex_t => 0.5, :monitor_daemons => false, :multi_homed => false, :high_security => false, # Strip messages from all exceptions that are not specified in the whitelist. :'strip_exception_messages.enabled' => Proc.new { self[:high_security] }, # Comma separated list of exceptions that should show messages when # strip_exception_messages is enabled (e.g. 'NewException, RelicException'). :'strip_exception_messages.whitelist' => '', :host => 'collector.newrelic.com', :api_host => 'rpm.newrelic.com', :port => Proc.new { self[:ssl] ? 443 : 80 }, :api_port => Proc.new { self[:port] }, :ssl => true, :verify_certificate => true, :sync_startup => false, :send_data_on_exit => true, :post_size_limit => 2 * 1024 * 1024, # 2 megs :timeout => 2 * 60, # 2 minutes :force_send => false, :send_environment_info => true, :start_channel_listener => false, :data_report_period => 60, :keep_retrying => true, :report_instance_busy => true, :log_file_name => 'newrelic_agent.log', :log_file_path => 'log/', :log_level => 'info', :'audit_log.enabled' => false, :'audit_log.path' => Proc.new { File.join(self[:log_file_path], 'newrelic_audit.log') }, :disable_samplers => false, :disable_resque => false, :disable_dj => false, :disable_sinatra => false, :disable_sinatra_auto_middleware => false, :disable_view_instrumentation => false, :disable_backtrace_cleanup => false, :skip_ar_instrumentation => false, :disable_activerecord_instrumentation => Proc.new { self[:skip_ar_instrumentation] }, :disable_memcache_instrumentation => false, :disable_mobile_headers => true, :capture_memcache_keys => false, :textmate => false, :'transaction_tracer.enabled' => true, :'transaction_tracer.transaction_threshold' => Proc.new { self[:apdex_t] * 4 }, :'transaction_tracer.stack_trace_threshold' => 0.5, :'transaction_tracer.explain_threshold' => 0.5, :'transaction_tracer.explain_enabled' => true, :'transaction_tracer.record_sql' => 'obfuscated', :'transaction_tracer.limit_segments' => 4000, :'transaction_tracer.random_sample' => false, :sample_rate => 10, :'slow_sql.enabled' => Proc.new { self[:'transaction_tracer.enabled'] }, :'slow_sql.stack_trace_threshold' => Proc.new { self[:'transaction_tracer.stack_trace_threshold'] }, :'slow_sql.explain_threshold' => Proc.new { self[:'transaction_tracer.explain_threshold'] }, :'slow_sql.explain_enabled' => Proc.new { self[:'transaction_tracer.explain_enabled'] }, :'slow_sql.record_sql' => Proc.new { self[:'transaction_tracer.record_sql'] }, :'error_collector.enabled' => true, :'error_collector.capture_source' => true, :'error_collector.ignore_errors' => 'ActionController::RoutingError,Sinatra::NotFound', :'rum.enabled' => true, :'rum.jsonp' => true, :'rum.load_episodes_file' => true, :'browser_monitoring.auto_instrument' => Proc.new { self[:'rum.enabled'] }, :trusted_account_ids => [], :"cross_application_tracer.enabled" => true, :'thread_profiler.enabled' => Proc.new { NewRelic::Agent::ThreadProfiler.is_supported? }, :marshaller => Proc.new { NewRelic::Agent::NewRelicService::JsonMarshaller.is_supported? ? 'json' : 'pruby' }, :'request_sampler.enabled' => true, :'request_sampler.sample_rate_ms' => 50 ].freeze
- MASK_DEFAULTS =
{ :'thread_profiler' => Proc.new { !NewRelic::Agent::ThreadProfiler.is_supported? }, :'thread_profiler.enabled' => Proc.new { !NewRelic::Agent::ThreadProfiler.is_supported? }, :verify_certificate => Proc.new{ true } }