class Appsignal::Hooks::RedisHook

@api private

def dependencies_present?

def dependencies_present?
  defined?(::Redis) &&
    Appsignal.config &&
    Appsignal.config[:instrument_redis]
end

def install

def install
  ::Redis::Client.class_eval do
    alias process_without_appsignal process
    def process(commands, &block)
      sanitized_commands = commands.map do |command, *args|
        "#{command}#{" ?" * args.size}"
      end.join("\n")
      Appsignal.instrument "query.redis", id, sanitized_commands do
        process_without_appsignal(commands, &block)
      end
    end
  end
end

def process(commands, &block)

def process(commands, &block)
  sanitized_commands = commands.map do |command, *args|
    "#{command}#{" ?" * args.size}"
  end.join("\n")
  Appsignal.instrument "query.redis", id, sanitized_commands do
    process_without_appsignal(commands, &block)
  end
end