class BaselineRedRpm::Configuration

Attributes

agent_disabled[RW]
app_root[RW]
application_name[RW]
flush_interval[RW]
host[RW]
ignore_paths[RW]
instrumentation[RW]
license_key[RW]
port[RW]
sample_memory[RW]
sample_rate[RW]
sample_threshold[RW]
ssl[RW]

Public Class Methods

new() click to toggle source
# File lib/baseline_red_rpm/configuration.rb, line 21
def initialize
  reload
end

Public Instance Methods

reload() click to toggle source
# File lib/baseline_red_rpm/configuration.rb, line 25
def reload
  ::BaselineRedRpm.mutex.synchronize do
    self.app_root = app_root ? Pathname.new(app_root.to_s) : nil
    self.host ||= default_if_blank(ENV["BASELINE_RED_HOST"], "https://baseline.red")
    self.ssl ||= default_if_blank(ENV["BASELINE_RED_SSL"], false)
    self.license_key ||= default_if_blank(ENV["BASELINE_RED_LICENSE_KEY"], nil)
    self.application_name ||= "Default"
    self.sample_rate ||= 10 # Percentage of request to sample
    self.sample_threshold ||= 0 # Minimum amount of duration to sample
    self.flush_interval ||= 60 # In seconds
    self.agent_disabled ||= default_if_blank(ENV["BASELINE_RED_AGENT_DISABLED"], false)
    self.sample_memory ||= false
    self.ignore_paths ||= /\/assets/
    self.instrumentation = {
      :rack                    => { :enabled => true, :backtrace => :app, :source => true, :trace_middleware => false },
      :roda                    => { :enabled => true, :backtrace => :app, :source => true },
      :grape                   => { :enabled => true, :backtrace => :app, :source => true },
      :active_record           => { :enabled => true, :backtrace => :app, :source => true },
      :active_record_import    => { :enabled => true, :backtrace => :app, :source => true },
      :active_model_serializer => { :enabled => true, :backtrace => :app, :source => true },
      :action_view             => { :enabled => true, :backtrace => :app, :source => true },
      :action_controller       => { :enabled => true, :backtrace => :app, :source => true },
      :emque_consuming         => { :enabled => true, :backtrace => :app, :source => true },
      :redis                   => { :enabled => true, :backtrace => :app, :source => true },
      :sequel                  => { :enabled => true, :backtrace => :app, :source => true },
      :sidekiq                 => { :enabled => true, :backtrace => :app, :source => true },
      :sinatra                 => { :enabled => true, :backtrace => :app, :source => true },
      :net_http                => { :enabled => true, :backtrace => :app, :source => true },
      :typhoeus                => { :enabled => true, :backtrace => :app, :source => true },
      :faraday                 => { :enabled => true, :backtrace => :app, :source => true }
    }
  end
end

Private Instance Methods

default_if_blank(value, default) click to toggle source
# File lib/baseline_red_rpm/configuration.rb, line 61
def default_if_blank(value, default)
  value.nil? || value.blank? ? default : value
end