Module: Datadog::Configuration

Included in:
Datadog
Defined in:
lib/ddtrace/configuration.rb,
lib/ddtrace/configuration/option.rb,
lib/ddtrace/configuration/options.rb,
lib/ddtrace/configuration/settings.rb,
lib/ddtrace/configuration/pin_setup.rb,
lib/ddtrace/configuration/option_set.rb,
lib/ddtrace/configuration/option_definition.rb,
lib/ddtrace/configuration/dependency_resolver.rb,
lib/ddtrace/configuration/option_definition_set.rb

Overview

Configuration provides a unique access point for configurations

Defined Under Namespace

Modules: Options Classes: DependencyResolver, Option, OptionDefinition, OptionDefinitionSet, OptionSet, PinSetup, Settings

Constant Summary collapse

RUBY_19_DEPRECATION_WARNING =
%(
Support for Ruby versions < 2.0 in dd-trace-rb is DEPRECATED.
Last version to support Ruby < 2.0 will be 0.26.x, which will only receive critical bugfixes to existing features.
Support for Ruby versions < 2.0 will be REMOVED with version 0.27.0.).freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#configurationObject



14
15
16
# File 'lib/ddtrace/configuration.rb', line 14

def configuration
  @configuration ||= Settings.new
end

Instance Method Details

#configure(target = configuration, opts = {}) ⇒ Object



18
19
20
21
22
23
24
25
26
27
# File 'lib/ddtrace/configuration.rb', line 18

def configure(target = configuration, opts = {})
  if target.is_a?(Settings)
    yield(target) if block_given?
  else
    PinSetup.new(target, opts).call
  end

  # Raise Ruby 1.9 deprecation warning, if necessary.
  raise_ruby_19_deprecation_warning!
end

#raise_ruby_19_deprecation_warning!Object

TODO: Remove with version 0.27.0



39
40
41
42
43
44
45
46
47
# File 'lib/ddtrace/configuration.rb', line 39

def raise_ruby_19_deprecation_warning!
  return unless Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.0')

  require 'ddtrace/patcher'

  Datadog::Patcher.do_once(:ruby_19_deprecation_warning) do
    Datadog::Tracer.log.warn(RUBY_19_DEPRECATION_WARNING)
  end
end

#runtime_metricsObject



34
35
36
# File 'lib/ddtrace/configuration.rb', line 34

def runtime_metrics
  tracer.writer.runtime_metrics
end

#tracerObject

Helper methods



30
31
32
# File 'lib/ddtrace/configuration.rb', line 30

def tracer
  configuration.tracer
end