module Datadog::Configuration
Configuration
provides a unique access point for configurations
Attributes
configuration[W]
Public Instance Methods
configuration()
click to toggle source
# File lib/ddtrace/configuration.rb, line 14 def configuration @configuration ||= Settings.new end
configure(target = configuration, opts = {}) { |target| ... }
click to toggle source
# File lib/ddtrace/configuration.rb, line 18 def configure(target = configuration, opts = {}) if target.is_a?(Settings) yield(target) if block_given? # Build immutable components from settings @components ||= nil @components = if @components replace_components!(target, @components) else build_components(target) end target else PinSetup.new(target, opts).call end end
logger()
click to toggle source
# File lib/ddtrace/configuration.rb, line 42 def logger if instance_variable_defined?(:@components) && @components @temp_logger = nil components.logger else # Use default logger without initializing components. # This prevents recursive loops while initializing. # e.g. Get logger --> Build components --> Log message --> Repeat... @temp_logger ||= begin logger = configuration.logger.instance || Datadog::Logger.new(STDOUT) logger.level = configuration.diagnostics.debug ? ::Logger::DEBUG : configuration.logger.level logger end end end
shutdown!()
click to toggle source
# File lib/ddtrace/configuration.rb, line 58 def shutdown! components.shutdown! if instance_variable_defined?(:@components) && @components end
Protected Instance Methods
components()
click to toggle source
# File lib/ddtrace/configuration.rb, line 64 def components @components ||= build_components(configuration) end
Private Instance Methods
build_components(settings)
click to toggle source
# File lib/ddtrace/configuration.rb, line 70 def build_components(settings) components = Components.new(settings) components.startup!(settings) components end
replace_components!(settings, old)
click to toggle source
# File lib/ddtrace/configuration.rb, line 76 def replace_components!(settings, old) components = Components.new(settings) old.shutdown!(components) components.startup!(settings) components end