Class: NewRelic::Control::Frameworks::Rails3
- Inherits:
-
Rails
- Object
- NewRelic::Control
- Ruby
- Rails
- NewRelic::Control::Frameworks::Rails3
- Defined in:
- lib/new_relic/control/frameworks/rails3.rb
Overview
Control subclass instantiated when Rails is detected. Contains Rails 3.0+ specific configuration, instrumentation, environment values, etc. Many methods are inherited from the NewRelic::Control::Frameworks::Rails class, where the two do not differ
Instance Attribute Summary
Attributes included from InstanceMethods
Attributes included from LoggingMethods
Instance Method Summary collapse
- #env ⇒ Object
- #log!(msg, level = :info) ⇒ Object
- #logger ⇒ Object
-
#root ⇒ Object
Rails can return an empty string from this method, causing the agent not to start even when it is properly in a rails 3 application, so we test the value to make sure it actually has contents, and bail to the parent class if it is empty.
- #to_stdout(msg) ⇒ Object
- #vendor_root ⇒ Object
- #version ⇒ Object
Methods inherited from Rails
#init_config, #install_browser_monitoring, #install_developer_mode, #rails_version
Methods inherited from Ruby
Methods included from ClassMethods
#instance, #load_framework_class, #load_test_framework, #local_env, #new_instance, #newrelic_root
Methods included from InstanceMethods
#agent_enabled?, #app, #init_plugin, #start_agent, #to_s
Methods included from LanguageSupport::Control
Methods included from LoggingMethods
#find_or_create_file_path, #log, #log_file_name, #log_path, #log_to_stdout?, #set_log_format!, #set_log_level!, #setup_log, #should_log?
Methods included from Instrumentation
#add_instrumentation, #install_instrumentation, #install_shim, #load_instrumentation_files, #load_samplers
Methods included from ServerMethods
#api_server, #cert_file_path, #convert_to_ip_address, #http_connection, #proxy_server, #resolve_ip_address, #server, #server_from_host
Methods included from Configuration
#[], #[]=, #apdex_t, #app_names, #browser_monitoring_auto_instrument?, #capture_params, #developer_mode?, #disable_backtrace_cleanup?, #disable_serialization=, #disable_serialization?, #dispatcher, #dispatcher_instance_id, #fetch, #has_slow_sql_config?, #license_key, #log_file_path, #merge_defaults, #merge_options, #merge_server_side_config, #monitor_mode?, #multi_threaded?, #post_size_limit, #remove_server_controlled_configs, #send_data_on_exit, #settings, #sync_startup, #use_ssl?, #use_textmate?, #validate_seed, #validate_token, #verify_certificate?
Methods included from Profiling
#profiling=, #profiling?, #profiling_available?
Instance Method Details
#env ⇒ Object
12 13 14 |
# File 'lib/new_relic/control/frameworks/rails3.rb', line 12 def env @env ||= ::Rails.env.to_s end |
#log!(msg, level = :info) ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/new_relic/control/frameworks/rails3.rb', line 34 def log!(msg, level=:info) if should_log? logger.send(level, msg) else super end rescue => e super end |
#logger ⇒ Object
29 30 31 |
# File 'lib/new_relic/control/frameworks/rails3.rb', line 29 def logger ::Rails.logger end |
#root ⇒ Object
Rails can return an empty string from this method, causing the agent not to start even when it is properly in a rails 3 application, so we test the value to make sure it actually has contents, and bail to the parent class if it is empty.
20 21 22 23 24 25 26 27 |
# File 'lib/new_relic/control/frameworks/rails3.rb', line 20 def root value = ::Rails.root.to_s if value.empty? super else value end end |
#to_stdout(msg) ⇒ Object
44 45 46 47 48 |
# File 'lib/new_relic/control/frameworks/rails3.rb', line 44 def to_stdout(msg) logger.info(msg) rescue super end |
#vendor_root ⇒ Object
50 51 52 |
# File 'lib/new_relic/control/frameworks/rails3.rb', line 50 def vendor_root @vendor_root ||= File.join(root,'vendor','rails') end |
#version ⇒ Object
54 55 56 |
# File 'lib/new_relic/control/frameworks/rails3.rb', line 54 def version @rails_version ||= NewRelic::VersionNumber.new(::Rails::VERSION::STRING) end |