module Bigcommerce::Prometheus::Configuration
General configuration for prometheus integration
Constants
- VALID_CONFIG_KEYS
Public Class Methods
extended(base)
click to toggle source
Whenever this is extended into a class, setup the defaults
# File lib/bigcommerce/prometheus/configuration.rb, line 65 def self.extended(base) if defined?(Rails) Bigcommerce::Prometheus::Integrations::Railtie.config.before_initialize { base.reset } else base.reset end end
Public Instance Methods
configure() { |self| ... }
click to toggle source
Yield self for ruby-style initialization
@yields [Bigcommerce::Prometheus::Configuration] @return [Bigcommerce::Prometheus::Configuration]
# File lib/bigcommerce/prometheus/configuration.rb, line 79 def configure reset unless @configured yield self @configured = true self end
options()
click to toggle source
Return the current configuration options as a Hash
@return [Hash]
# File lib/bigcommerce/prometheus/configuration.rb, line 91 def options opts = {} VALID_CONFIG_KEYS.each_key do |k| opts.merge!(k => send(k)) end opts end
process_name()
click to toggle source
@return [String]
# File lib/bigcommerce/prometheus/configuration.rb, line 113 def process_name @process_name ||= ENV.fetch('PROCESS', 'unknown') end
reset()
click to toggle source
Set the default configuration onto the extended class
# File lib/bigcommerce/prometheus/configuration.rb, line 102 def reset VALID_CONFIG_KEYS.each do |k, v| send("#{k}=".to_sym, v) end determine_logger self.web_type_collectors = [] end
Private Instance Methods
determine_logger()
click to toggle source
# File lib/bigcommerce/prometheus/configuration.rb, line 119 def determine_logger if defined?(Rails) && Rails.logger self.logger = Rails.logger elsif defined?(Application) && Application.respond_to?(:logger) self.logger = Application.logger else require 'logger' self.logger = ::Logger.new($stdout) logger.level = ::Logger::Severity::INFO end end
environment()
click to toggle source
Automatically determine environment
@return [String] The current Ruby environment
# File lib/bigcommerce/prometheus/configuration.rb, line 136 def environment if defined?(Rails) Rails.env.to_s else (ENV['RACK_ENV'] || ENV['RAILS_ENV'] || 'development').to_s end end