summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-04-29 16:10:47 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-04-29 16:10:47 -0400
commitd2bfba6324ca54253be62716b1bbdc86e0e1aafe (patch)
tree458d4db0acb1ad424a7b3ec43de17d562f30d21e
parentbd592d1450e52a99e7507a211ad1c36414d3d869 (diff)
show percent the bloom filter is full
-rw-r--r--Command/Status.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/Command/Status.hs b/Command/Status.hs
index 16bcec7cc..057ab72bf 100644
--- a/Command/Status.hs
+++ b/Command/Status.hs
@@ -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