module Datadog::Contrib::Sequel::Utils

General purpose functions for Sequel

Public Class Methods

adapter_name(database) click to toggle source

Ruby database connector library

e.g. adapter:mysql2 (database:mysql), adapter:jdbc (database:postgres)

# File lib/ddtrace/contrib/sequel/utils.rb, line 10
def adapter_name(database)
  scheme = database.adapter_scheme.to_s

  if scheme == 'jdbc'.freeze
    # The subtype is more important in this case,
    # otherwise all database adapters will be 'jdbc'.
    database_type(database)
  else
    Datadog::Utils::Database.normalize_vendor(scheme)
  end
end
database_type(database) click to toggle source

Database engine

e.g. database:mysql (adapter:mysql2), database:postgres (adapter:jdbc)

# File lib/ddtrace/contrib/sequel/utils.rb, line 25
def database_type(database)
  Datadog::Utils::Database.normalize_vendor(database.database_type.to_s)
end
parse_opts(sql, opts, db_opts) click to toggle source
# File lib/ddtrace/contrib/sequel/utils.rb, line 29
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
set_analytics_sample_rate(span) click to toggle source
# File lib/ddtrace/contrib/sequel/utils.rb, line 43
def set_analytics_sample_rate(span)
  Contrib::Analytics.set_sample_rate(span, analytics_sample_rate) if analytics_enabled?
end

Private Class Methods

analytics_enabled?() click to toggle source
# File lib/ddtrace/contrib/sequel/utils.rb, line 53
def analytics_enabled?
  Contrib::Analytics.enabled?(datadog_configuration[:analytics_enabled])
end
analytics_sample_rate() click to toggle source
# File lib/ddtrace/contrib/sequel/utils.rb, line 57
def analytics_sample_rate
  datadog_configuration[:analytics_sample_rate]
end
datadog_configuration() click to toggle source
# File lib/ddtrace/contrib/sequel/utils.rb, line 49
def datadog_configuration
  Datadog.configuration[:sequel]
end