Sha256: 0ca99c9b00074eb3ab7d265cc5474b97482b3b25ce2216bd7a0a54f7bfea4a0a
Contents?: true
Size: 1.75 KB
Versions: 1
Compression:
Stored size: 1.75 KB
Contents
module Datadog module Contrib module ActiveRecord # Common utilities for Rails module Utils EMPTY_CONFIG = {}.freeze def self.adapter_name Datadog::Utils::Database.normalize_vendor(connection_config[:adapter]) end def self.database_name connection_config[:database] end def self.adapter_host connection_config[:host] end def self.adapter_port connection_config[:port] end def self.connection_config(connection = nil) connection.nil? ? default_connection_config : connection_config_from_connection(connection) end # Typical of ActiveSupport::Notifications `sql.active_record` def self.connection_config_from_connection(connection) if connection.instance_variable_defined?(:@config) connection.instance_variable_get(:@config) else EMPTY_CONFIG end end def self.default_connection_config return @default_connection_config if instance_variable_defined?(:@default_connection_config) current_connection_name = if ::ActiveRecord::Base.respond_to?(:connection_specification_name) ::ActiveRecord::Base.connection_specification_name else ::ActiveRecord::Base end connection_pool = ::ActiveRecord::Base.connection_handler.retrieve_connection_pool(current_connection_name) connection_pool.nil? ? EMPTY_CONFIG : (@default_connection_config = connection_pool.spec.config) rescue StandardError EMPTY_CONFIG end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ddtrace-0.18.0 | lib/ddtrace/contrib/active_record/utils.rb |