# frozen_string_literal: true require "datadog/tracing/contrib" require "datadog/tracing/contrib/configuration/settings" require "datadog/tracing/span_operation" module Datadog module Tracing module Contrib module Tobox module Configuration class Settings < Contrib::Configuration::Settings if Gem::Version.new(DDTrace::VERSION::STRING) >= Gem::Version.new("1.13.0") option :enabled do |o| o.type :bool o.env "DD_TOBOX_SIDEKIQ_ENABLED" o.default true end option :analytics_enabled do |o| o.type :bool o.env "DD_TOBOX_ANALYTICS_ENABLED" o.default false end option :analytics_sample_rate do |o| o.type :float o.env "DD_TRACE_TOBOX_ANALYTICS_SAMPLE_RATE" o.default 1.0 end else option :enabled do |o| o.default { env_to_bool("DD_TOBOX_SIDEKIQ_ENABLED", true) } o.lazy end option :analytics_enabled do |o| o.default { env_to_bool("DD_TOBOX_ANALYTICS_ENABLED", false) } o.lazy end option :analytics_sample_rate do |o| o.default { env_to_float("DD_TRACE_TOBOX_ANALYTICS_SAMPLE_RATE", 1.0) } o.lazy end end option :service_name if DDTrace::VERSION::STRING >= "1.15.0" option :error_handler do |o| o.type :proc o.default_proc(&Tracing::SpanOperation::Events::DEFAULT_ON_ERROR) end elsif DDTrace::VERSION::STRING >= "1.13.0" option :error_handler do |o| o.type :proc o.experimental_default_proc(&Tracing::SpanOperation::Events::DEFAULT_ON_ERROR) end else option :error_handler, default: Tracing::SpanOperation::Events::DEFAULT_ON_ERROR end option :distributed_tracing, default: false end end end end end end