class RailsMiniProfiler::Configuration
The main Rails Mini Profiler configuration object
@!attribute [r] logger
@return [Logger] the current logger
@!attribute enabled
@return [Boolean] if the profiler is enabled
@!attribute flamegraph_enabled
@return [Boolean] if Flamegraph recording is enabled
@!attribute flamegraph_sample_rate
@return [Float] the sample rate in samples per millisecond
@!attribute skip_paths
@return [Array<String>] a list of regex patterns for paths to skip
@!attribute storage
@return [Storage] the storage configuration
@!attribute ui
@return [UserInterface] the ui configuration
@!attribute user_provider
@return [Proc] a proc to identify a user based on a rack env
Attributes
enabled[RW]
flamegraph_enabled[RW]
flamegraph_sample_rate[RW]
logger[R]
skip_paths[RW]
storage[RW]
ui[RW]
user_provider[RW]
Public Class Methods
new(**kwargs)
click to toggle source
# File lib/rails_mini_profiler/configuration.rb, line 36 def initialize(**kwargs) reset kwargs.each { |key, value| instance_variable_set("@#{key}", value) } end
Public Instance Methods
logger=(logger)
click to toggle source
Set the logger
@param logger [Logger]
The logger to be used. If set to nil, the Rails default logger is used and the log level set to fatal
# File lib/rails_mini_profiler/configuration.rb, line 57 def logger=(logger) if logger.nil? @logger.level = Logger::FATAL else @logger = logger end end
reset()
click to toggle source
Reset the configuration to default values
# File lib/rails_mini_profiler/configuration.rb, line 42 def reset @enabled = proc { |_env| Rails.env.development? || Rails.env.test? } @flamegraph_enabled = true @flamegraph_sample_rate = 0.5 @logger = RailsMiniProfiler::Logger.new(Rails.logger) @skip_paths = [] @storage = Storage.new @ui = UserInterface.new @user_provider = proc { |env| Rack::Request.new(env).ip } end