class Datadog::Tracing::Contrib::Redis::Integration
Description of Redis integration
def self.compatible?
def self.compatible? super && (redis_compatible? || redis_client_compatible?) end
def self.loaded?
def self.loaded? redis_loaded? || redis_client_loaded? end
def self.redis_client_compatible?
def self.redis_client_compatible? !!(redis_client_version && redis_client_version >= REDISCLIENT_MINIMUM_VERSION) end
def self.redis_client_loaded?
def self.redis_client_loaded? !defined?(::RedisClient).nil? end
def self.redis_client_version
def self.redis_client_version Gem.loaded_specs['redis-client'] && Gem.loaded_specs['redis-client'].version end
def self.redis_compatible?
def self.redis_compatible? !!(redis_version && redis_version >= MINIMUM_VERSION) end
def self.redis_loaded?
def self.redis_loaded? !defined?(::Redis).nil? end
def self.redis_version
def self.redis_version Gem.loaded_specs['redis'] && Gem.loaded_specs['redis'].version end
def self.version
For example, if Sidekiq 7 and Redis 4 are installed: both redis and redis-client will be installed.
Because Redis 4 does not depend on redis-client, it's possible for both gems to be installed at the same time.
Since Redis 5, instrumentation happens in a separate gem: redis-client.
Until Redis 4, all instrumentation happened in one gem: redis.
def self.version redis_version || redis_client_version end
def new_configuration
def new_configuration Configuration::Settings.new end
def patcher
def patcher Patcher end
def resolver
def resolver @resolver ||= Configuration::Resolver.new end