11{-# LANGUAGE OverloadedStrings #-}
22{-# LANGUAGE ViewPatterns #-}
3+ {-# LANGUAGE TypeApplications #-}
34module Eventlog.Prune
45 ( pruneBands , pruneDetailed
56 ) where
@@ -11,6 +12,9 @@ import Data.Map (Map, fromList, (!), toList)
1112
1213import Eventlog.Args (Args (.. ), Sort (.. ))
1314import Data.Maybe
15+ import Data.Word (Word64 )
16+ import Text.Read (readMaybe )
17+ import qualified Data.Text as T
1418
1519type Compare a = a -> a -> Ordering
1620
@@ -21,15 +25,20 @@ getComparison Args { sorting = StdDev, reversing = False } = cmpStdDevDescendin
2125getComparison Args { sorting = StdDev , reversing = True } = cmpStdDevAscending
2226getComparison Args { sorting = Name , reversing = True } = cmpNameDescending
2327getComparison Args { sorting = Name , reversing = False } = cmpNameAscending
28+ getComparison Args { sorting = Number , reversing = True } = cmpNumberDescending
29+ getComparison Args { sorting = Number , reversing = False } = cmpNumberAscending
2430getComparison Args { sorting = Gradient , reversing = True } = cmpGradientAscending
2531getComparison Args { sorting = Gradient , reversing = False } = cmpGradientDescending
2632
2733cmpNameAscending, cmpNameDescending,
34+ cmpNumberAscending, cmpNumberDescending,
2835 cmpStdDevAscending, cmpStdDevDescending,
2936 cmpSizeAscending, cmpSizeDescending,
3037 cmpGradientAscending , cmpGradientDescending :: Compare (Bucket , BucketInfo )
3138cmpNameAscending = comparing fst
3239cmpNameDescending = flip cmpNameAscending
40+ cmpNumberAscending (Bucket a, _) (Bucket b, _) = comparing (readMaybe @ Word64 . T. unpack) a b <> compare a b
41+ cmpNumberDescending = flip cmpNumberAscending
3342cmpStdDevAscending = comparing (bucketStddev . snd )
3443cmpStdDevDescending = flip cmpStdDevAscending
3544cmpSizeAscending = comparing (bucketTotal . snd )
0 commit comments