Class: Datadog::Contrib::Configuration::Settings

Inherits:
Object
  • Object
show all
Includes:
Datadog::Configuration::Base
Defined in:
lib/ddtrace/contrib/configuration/settings.rb

Overview

Common settings for all integrations

Direct Known Subclasses

Datadog::CI::Contrib::Cucumber::Configuration::Settings, Datadog::CI::Contrib::RSpec::Configuration::Settings, ActionCable::Configuration::Settings, ActionMailer::Configuration::Settings, ActionPack::Configuration::Settings, ActionView::Configuration::Settings, ActiveJob::Configuration::Settings, ActiveModelSerializers::Configuration::Settings, ActiveRecord::Configuration::Settings, ActiveSupport::Configuration::Settings, Aws::Configuration::Settings, Datadog::Contrib::ConcurrentRuby::Configuration::Settings, Dalli::Configuration::Settings, DelayedJob::Configuration::Settings, Elasticsearch::Configuration::Settings, Ethon::Configuration::Settings, Excon::Configuration::Settings, Faraday::Configuration::Settings, GRPC::Configuration::Settings, Grape::Configuration::Settings, GraphQL::Configuration::Settings, HTTP::Configuration::Settings, Httpclient::Configuration::Settings, Httprb::Configuration::Settings, Kafka::Configuration::Settings, Lograge::Configuration::Settings, MongoDB::Configuration::Settings, Mysql2::Configuration::Settings, Presto::Configuration::Settings, Qless::Configuration::Settings, Que::Configuration::Settings, Racecar::Configuration::Settings, Rack::Configuration::Settings, Rails::Configuration::Settings, Rake::Configuration::Settings, Redis::Configuration::Settings, Resque::Configuration::Settings, RestClient::Configuration::Settings, SemanticLogger::Configuration::Settings, Sequel::Configuration::Settings, Shoryuken::Configuration::Settings, Sidekiq::Configuration::Settings, Sinatra::Configuration::Settings, Sneakers::Configuration::Settings, SuckerPunch::Configuration::Settings

Constant Summary collapse

DEPRECATION_WARN_ONLY_ONCE =
Datadog::Utils::OnlyOnce.new
DEPRECATION_WARNING =
%(
Explicitly providing a tracer instance is DEPRECATED.
It's recommended to not provide an explicit tracer instance
and let Datadog::Contrib::Configuration::Settings resolve
the correct tracer internally.
).freeze

Instance Method Summary collapse

Methods included from Datadog::Configuration::Base

included

Instance Method Details

#[](name) ⇒ Object



33
34
35
# File 'lib/ddtrace/contrib/configuration/settings.rb', line 33

def [](name)
  respond_to?(name) ? send(name) : get_option(name)
end

#[]=(name, value) ⇒ Object



37
38
39
# File 'lib/ddtrace/contrib/configuration/settings.rb', line 37

def []=(name, value)
  respond_to?("#{name}=") ? send("#{name}=", value) : set_option(name, value)
end

#configure(options = {}) {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



25
26
27
28
29
30
31
# File 'lib/ddtrace/contrib/configuration/settings.rb', line 25

def configure(options = {})
  self.class.options.dependency_order.each do |name|
    self[name] = options[name] if options.key?(name)
  end

  yield(self) if block_given?
end

#log_deprecation_warningObject



48
49
50
51
52
# File 'lib/ddtrace/contrib/configuration/settings.rb', line 48

def log_deprecation_warning
  DEPRECATION_WARN_ONLY_ONCE.run do
    Datadog.logger.warn("tracer:#{DEPRECATION_WARNING}:#{caller.join("\n")}")
  end
end