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