From 621de5b73dcc534f47973989c98fb185b79a2f83 Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Thu, 2 Jul 2009 12:43:33 +0200 Subject: [PATCH] Enhance hspace resource display The display of cluster resources is extracted into a separate function and enhanced to display more stats. --- hspace.hs | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/hspace.hs b/hspace.hs index aef5c0008..8cd4e14c0 100644 --- a/hspace.hs +++ b/hspace.hs @@ -187,6 +187,13 @@ iterateDepth nl il newinst nreq ixes = fromJust sols'' in iterateDepth xnl il newinst nreq (xi:ixes) +printStats :: String -> (Int, Int, Int, Int, Int) -> IO () +printStats kind (mem, dsk, amem, mmem, mdsk) = do + printf "%s free RAM: %d\n" kind mem + printf "%s allocatable RAM: %d\n" kind amem + printf "%s free disk: %d\n" kind dsk + printf "%s max node allocatable RAM: %d\n" kind mmem + printf "%s max node allocatable disk: %d\n" kind mdsk -- | Main function. main :: IO () @@ -243,8 +250,7 @@ main = do putStrLn $ Cluster.printNodes nl let ini_cv = Cluster.compCV nl - (ini_mem, ini_disk, ini_amem, ini_mmem, ini_mdsk) = - Cluster.totalResources nl + ini_stats = Cluster.totalResources nl (if verbose > 2 then printf "Initial coefficients: overall %.8f, %s\n" @@ -252,9 +258,7 @@ main = do else printf "Initial score: %.8f\n" ini_cv) printf "Initial instances: %d\n" num_instances - printf "Initial free RAM: %d\n" ini_mem - printf "Initial allocatable RAM: %d\n" ini_amem - printf "Initial free disk: %d\n" ini_disk + printStats "Initial" ini_stats let nmlen = Container.maxNameLen nl newinst = Instance.create "new" (optIMem opts) (optIDsk opts) @@ -265,14 +269,11 @@ main = do fin_instances = num_instances + allocs fin_ixes = reverse ixes ix_namelen = maximum . map (length . Instance.name) $ fin_ixes - (fin_mem, fin_disk, fin_amem, fin_mmem, fin_mdsk) = - Cluster.totalResources fin_nl + fin_stats = Cluster.totalResources fin_nl printf "Final score: %.8f\n" (Cluster.compCV fin_nl) printf "Final instances: %d\n" (num_instances + allocs) - printf "Final free RAM: %d\n" fin_mem - printf "Final allocatable RAM: %d\n" fin_amem - printf "Final free disk: %d\n" fin_disk + printStats "Final" fin_stats printf "Usage: %.5f\n" (((fromIntegral num_instances)::Double) / (fromIntegral fin_instances)) printf "Allocations: %d\n" allocs -- GitLab