Module: Datadog::Contrib::Sequel::Utils
- Defined in:
- lib/ddtrace/contrib/sequel/utils.rb
Overview
General purpose functions for Sequel
Class Method Summary collapse
-
.adapter_name(database) ⇒ Object
Ruby database connector library.
-
.database_type(database) ⇒ Object
Database engine.
- .parse_opts(sql, opts, db_opts) ⇒ Object
- .set_analytics_sample_rate(span) ⇒ Object
Class Method Details
.adapter_name(database) ⇒ Object
Ruby database connector library
e.g. adapter:mysql2 (database:mysql), adapter:jdbc (database:postgres)
10 11 12 13 14 15 16 17 18 19 20 |
# 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) ⇒ Object
Database engine
e.g. database:mysql (adapter:mysql2), database:postgres (adapter:jdbc)
25 26 27 |
# 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) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# 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) ⇒ Object
43 44 45 |
# 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 |