show percent the bloom filter is full

This commit is contained in:
Joey Hess 2012-04-29 16:10:47 -04:00
parent bd592d1450
commit d2bfba6324

View file

@ -12,6 +12,7 @@ module Command.Status where
import Control.Monad.State.Strict
import qualified Data.Map as M
import Text.JSON
import Data.Ratio
import Common.Annex
import qualified Types.Backend as B
@ -160,7 +161,7 @@ bloom_info = stat "bloom filter size" $ json id $ do
let note = aside $
if localkeys >= capacity
then "appears too small for this repository; adjust annex.bloomcapacity"
else "has room for " ++ show (capacity - localkeys) ++ " more local annex keys"
else show (floor (percentage capacity localkeys) :: Integer) ++ "% full"
-- Two bloom filters are used at the same time, so double the size
-- of one.
@ -169,6 +170,10 @@ bloom_info = stat "bloom filter size" $ json id $ do
return $ size ++ note
where
percentage :: Integer -> Integer -> Double
percentage full have = 100 * (fromRational $ have % full)
disk_size :: Stat
disk_size = stat "available local disk space" $ json id $ lift $
calcfree