Sha256: 340b7983cce8622d1d8ca506e83713cefe82a58d98466d6998f5ee08bd042554

Contents?: true

Size: 1.24 KB

Versions: 35

Compression:

Stored size: 1.24 KB

Contents

module Datadog
  module Contrib
    module Sequel
      # General purpose functions for Sequel
      module Utils
        class << self
          def adapter_name(database)
            Datadog::Utils::Database.normalize_vendor(database.adapter_scheme.to_s)
          end

          def parse_opts(sql, opts, db_opts)
            if ::Sequel::VERSION >= '4.37.0' && !sql.is_a?(String)
              # In 4.37.0, sql was converted to a prepared statement object
              sql = sql.prepared_sql unless sql.is_a?(Symbol)
            end

            {
              name: opts[:type],
              query: sql,
              database: db_opts[:database],
              host: db_opts[:host]
            }
          end

          def set_analytics_sample_rate(span)
            Contrib::Analytics.set_sample_rate(span, analytics_sample_rate) if analytics_enabled?
          end

          private

          def datadog_configuration
            Datadog.configuration[:sequel]
          end

          def analytics_enabled?
            Contrib::Analytics.enabled?(datadog_configuration[:analytics_enabled])
          end

          def analytics_sample_rate
            datadog_configuration[:analytics_sample_rate]
          end
        end
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 2 rubygems

Version Path
ddtrace-0.38.0 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.37.0 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.36.0 lib/ddtrace/contrib/sequel/utils.rb
ls-trace-0.1.2 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.35.2 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.35.1 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.35.0 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.34.2 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.34.1 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.34.0 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.33.1 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.33.0 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.32.0 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.31.1 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.31.0 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.30.1 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.30.0 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.29.1 lib/ddtrace/contrib/sequel/utils.rb
ddtrace-0.26.1 lib/ddtrace/contrib/sequel/utils.rb
ls-trace-0.1.1 lib/ddtrace/contrib/sequel/utils.rb