Sha256: 8e87710ef6326d26c252fbdea1c36550472f9c62a31a1edaeee747a797516fdf

Contents?: true

Size: 1.99 KB

Versions: 10

Compression:

Stored size: 1.99 KB

Contents

# frozen_string_literal: true

require_relative '../../configuration/settings'
require_relative '../ext'

module Datadog
  module Tracing
    module Contrib
      module Httpclient
        module Configuration
          # Custom settings for the Httpclient integration
          # @public_api
          class Settings < Contrib::Configuration::Settings
            option :enabled do |o|
              o.type :bool
              o.env Ext::ENV_ENABLED
              o.default true
            end

            option :analytics_enabled do |o|
              o.type :bool
              o.env Ext::ENV_ANALYTICS_ENABLED
              o.default false
            end

            option :analytics_sample_rate do |o|
              o.type :float
              o.env Ext::ENV_ANALYTICS_SAMPLE_RATE
              o.default 1.0
            end

            option :distributed_tracing, default: true, type: :bool

            option :service_name do |o|
              o.default do
                Contrib::SpanAttributeSchema.fetch_service_name(
                  Ext::ENV_SERVICE_NAME,
                  Ext::DEFAULT_PEER_SERVICE_NAME
                )
              end
            end

            option :error_status_codes do |o|
              o.env Ext::ENV_ERROR_STATUS_CODES
              o.default 400...600
              o.env_parser do |value|
                values = if value.include?(',')
                           value.split(',')
                         else
                           value.split
                         end
                values.map! do |v|
                  v.gsub!(/\A[\s,]*|[\s,]*\Z/, '')

                  v.empty? ? nil : v
                end

                values.compact!
                values
              end
            end

            option :peer_service do |o|
              o.type :string, nilable: true
              o.env Ext::ENV_PEER_SERVICE
            end

            option :split_by_domain, default: false, type: :bool
          end
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
ddtrace-1.19.0 lib/datadog/tracing/contrib/httpclient/configuration/settings.rb
ddtrace-1.18.0 lib/datadog/tracing/contrib/httpclient/configuration/settings.rb
ddtrace-1.17.0 lib/datadog/tracing/contrib/httpclient/configuration/settings.rb
ddtrace-1.16.2 lib/datadog/tracing/contrib/httpclient/configuration/settings.rb
ddtrace-1.16.1 lib/datadog/tracing/contrib/httpclient/configuration/settings.rb
ddtrace-1.16.0 lib/datadog/tracing/contrib/httpclient/configuration/settings.rb
ddtrace-1.15.0 lib/datadog/tracing/contrib/httpclient/configuration/settings.rb
ddtrace-1.14.0 lib/datadog/tracing/contrib/httpclient/configuration/settings.rb
ddtrace-1.13.1 lib/datadog/tracing/contrib/httpclient/configuration/settings.rb
ddtrace-1.13.0 lib/datadog/tracing/contrib/httpclient/configuration/settings.rb