From 558c70ab0d45722ddb65726033b58de72dd4f761 Mon Sep 17 00:00:00 2001 From: Scott Schneider Date: Mon, 9 Mar 2015 10:55:21 -0700 Subject: [PATCH] Use $redis.hgetall rather than hget in a loop This cuts down on render-time for the /api/v1/summary endpoint drastically. --- lib/vmpooler/api/v1.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/vmpooler/api/v1.rb b/lib/vmpooler/api/v1.rb index 69720f7..0134b8c 100644 --- a/lib/vmpooler/api/v1.rb +++ b/lib/vmpooler/api/v1.rb @@ -76,7 +76,7 @@ module Vmpooler task[:count][:pool] = {} task[:duration][:pool] = {} - $redis.hkeys('vmpooler__' + task_str + '__' + date_str).each do |key| + $redis.hgetall('vmpooler__' + task_str + '__' + date_str).each do |key, value| pool = 'unknown' hostname = 'unknown' @@ -90,7 +90,7 @@ module Vmpooler task[:duration][:pool][pool] ||= {} task_times_bypool[pool] ||= [] - task_times_bypool[pool].push($redis.hget('vmpooler__' + task_str + '__' + date_str, key).to_f) + task_times_bypool[pool].push(value.to_f) end task_times_bypool.each_key do |pool|