Class: NewRelic::Control::Frameworks::Ruby

Inherits:
NewRelic::Control show all
Defined in:
lib/new_relic/control/frameworks/ruby.rb

Overview

A control used when no framework is detected - the default. Looks for a newrelic.yml file in several locations including ./, ./config, $HOME/.newrelic and $HOME/. It loads the settings from the newrelic.yml section based on the value of RUBY_ENV or RAILS_ENV.

Direct Known Subclasses

External, Rails, Sinatra

Instance Attribute Summary

Attributes included from InstanceMethods

#local_env

Attributes included from LoggingMethods

#log_file

Instance Method Summary collapse

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

included

Methods included from LoggingMethods

#find_or_create_file_path, #log, #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

#config_fileObject

Check a sequence of file locations for newrelic.yml



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/new_relic/control/frameworks/ruby.rb', line 18

def config_file
  files = []
  files << File.join(root,"config","newrelic.yml")
  files << File.join(root,"newrelic.yml")
  if ENV["HOME"]
    files << File.join(ENV["HOME"], ".newrelic", "newrelic.yml")
    files << File.join(ENV["HOME"], "newrelic.yml")
  end
  files << File.expand_path(ENV["NRCONFIG"]) if ENV["NRCONFIG"]
  files.each do | file |
    return File.expand_path(file) if File.exists? file
  end
  return File.expand_path(files.first)
end

#envObject



11
12
13
# File 'lib/new_relic/control/frameworks/ruby.rb', line 11

def env
  @env ||= ENV['RUBY_ENV'] || ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development'
end

#init_config(options = {}) ⇒ Object



36
37
# File 'lib/new_relic/control/frameworks/ruby.rb', line 36

def init_config(options={})
end

#rootObject



14
15
16
# File 'lib/new_relic/control/frameworks/ruby.rb', line 14

def root
  @root ||= ENV['APP_ROOT'] || Dir['.']
end

#to_stdout(msg) ⇒ Object



32
33
34
# File 'lib/new_relic/control/frameworks/ruby.rb', line 32

def to_stdout(msg)
  STDOUT.puts msg
end