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. 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, Sinatra

Instance Attribute Summary

Attributes inherited from NewRelic::Control

#local_env

Attributes included from LoggingMethods

#log_file

Instance Method Summary collapse

Methods inherited from NewRelic::Control

#agent_enabled?, #app, #init_plugin, #start_agent, #to_s

Methods included from ClassMethods

#instance, #new_instance, #newrelic_root

Methods included from Instrumentation

#_delayed_instrumentation, #add_instrumentation, #install_instrumentation, #install_shim, #load_instrumentation_files, #load_samplers

Methods included from ServerMethods

#api_server, #convert_to_ip_address, #http_connection, #proxy_server, #server, #server_from_host

Methods included from Configuration

#[], #[]=, #apdex_t, #app_names, #capture_params, #developer_mode?, #dispatcher, #dispatcher_instance_id, #episodes_enabled?, #fetch, #license_key, #merge_defaults, #merge_options, #monitor_mode?, #multi_threaded?, #post_size_limit, #send_data_on_exit, #settings, #sync_startup, #use_ssl?, #use_textmate?, #validate_seed, #validate_token, #verify_certificate?

Methods included from LoggingMethods

#log, #log!, #log_file_name, #log_path, #setup_log, #should_log?

Methods included from Profiling

#profiling=, #profiling?, #profiling_available?

Instance Method Details

#config_fileObject

Check a sequence of file locations for newrelic.yml



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

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



8
9
10
# File 'lib/new_relic/control/frameworks/ruby.rb', line 8

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

#init_config(options = {}) ⇒ Object



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

def init_config(options={})
end

#rootObject



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

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

#to_stdout(msg) ⇒ Object



29
30
31
# File 'lib/new_relic/control/frameworks/ruby.rb', line 29

def to_stdout(msg)
  STDOUT.puts msg
end