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 13 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 28 def database_type(database) Datadog::Utils::Database.normalize_vendor(database.database_type.to_s) end
parse_opts(sql, opts, db_opts, dataset = nil)
click to toggle source
# File lib/ddtrace/contrib/sequel/utils.rb, line 32 def parse_opts(sql, opts, db_opts, dataset = nil) # Prepared statements don't provide their sql query in the +sql+ parameter. if !sql.is_a?(String) && (dataset && dataset.respond_to?(:prepared_sql) && (resolved_sql = dataset.prepared_sql)) # The dataset contains the resolved SQL query and prepared statement name. prepared_name = dataset.prepared_statement_name sql = resolved_sql end { name: opts[:type], query: sql, prepared_name: prepared_name, database: db_opts[:database], host: db_opts[:host] } end
Private Class Methods
analytics_enabled?()
click to toggle source
# File lib/ddtrace/contrib/sequel/utils.rb, line 64 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 68 def analytics_sample_rate datadog_configuration[:analytics_sample_rate] end
datadog_configuration()
click to toggle source
# File lib/ddtrace/contrib/sequel/utils.rb, line 60 def datadog_configuration Datadog.configuration[:sequel] end