Module: StatsD::Instrument::Environment
Overview
The environment module is used to detect, and initialize the environment in which this library is active. It will use different default values based on the environment.
Instance Method Summary collapse
-
#default_backend ⇒ StatsD::Instrument::Backend
Instantiates a default backend for the current environment.
-
#environment ⇒ String
Detects the current environment, either by asking Rails, or by inspecting environment variables.
-
#setup ⇒ void
Sets default values for sample rate and logger.
Instance Method Details
#default_backend ⇒ StatsD::Instrument::Backend
Instantiates a default backend for the current environment.
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/statsd/instrument/environment.rb', line 12 def default_backend case environment when 'production', 'staging' StatsD::Instrument::Backends::UDPBackend.new(ENV['STATSD_ADDR'], ENV['STATSD_IMPLEMENTATION']) when 'test' StatsD::Instrument::Backends::NullBackend.new else StatsD::Instrument::Backends::LoggerBackend.new(StatsD.logger) end end |
#environment ⇒ String
Detects the current environment, either by asking Rails, or by inspecting environment variables.
-
Within a Rails application,
Rails.env
is used. -
It will check the following environment variables in order:
RAILS_ENV
,RACK_ENV
,ENV
. -
If none of these are set, it will return
development
30 31 32 33 34 35 36 |
# File 'lib/statsd/instrument/environment.rb', line 30 def environment if defined?(Rails) && Rails.respond_to?(:env) Rails.env.to_s else ENV['RAILS_ENV'] || ENV['RACK_ENV'] || ENV['ENV'] || 'development' end end |
#setup ⇒ void
This method returns an undefined value.
Sets default values for sample rate and logger.
-
Default sample rate is set to the value in the STATSD_SAMPLE_RATE environment variable, or 1.0 otherwise. See StatsD#default_sample_rate
-
StatsD#logger is set to a logger that send output to stderr.
If you are including this library inside a Rails environment, additional initialization will be done as part of the Railtie.
48 49 50 51 |
# File 'lib/statsd/instrument/environment.rb', line 48 def setup StatsD.default_sample_rate = ENV.fetch('STATSD_SAMPLE_RATE', 1.0).to_f StatsD.logger = Logger.new($stderr) end |