# typed: false
require 'datadog/tracing/contrib/configuration/settings'
require 'datadog/tracing/contrib/redis/ext'

module Datadog
  module Tracing
    module Contrib
      module Redis
        module Configuration
          # Custom settings for the Redis integration
          # @public_api
          class Settings < Contrib::Configuration::Settings
            option :enabled do |o|
              o.default { env_to_bool(Ext::ENV_ENABLED, true) }
              o.lazy
            end

            option :analytics_enabled do |o|
              o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, false) }
              o.lazy
            end

            option :analytics_sample_rate do |o|
              o.default { env_to_float(Ext::ENV_ANALYTICS_SAMPLE_RATE, 1.0) }
              o.lazy
            end

            option :command_args do |o|
              o.default { env_to_bool(Ext::ENV_COMMAND_ARGS, true) }
              o.lazy
            end

            option :service_name, default: Ext::DEFAULT_PEER_SERVICE_NAME
          end
        end
      end
    end
  end
end
