@@ -28,6 +28,7 @@ data BenchType
2828data Options = Options
2929 { genGraphs :: Bool
3030 , sortByName :: Bool
31+ , useGauge :: Bool
3132 , benchType :: Maybe BenchType
3233 , fields :: [String]
3334 , diffStyle :: GroupStyle
@@ -35,7 +36,7 @@ data Options = Options
3536 } deriving Show
3637
3738defaultOptions :: Options
38−defaultOptions = Options False False Nothing ["time"] PercentDiff 0
39+defaultOptions = Options False False False Nothing ["time"] PercentDiff 0
3940
4041setGenGraphs :: Monad m => Bool -> StateT (a, Options) m ()
4142setGenGraphs val = do
@@ -47,6 +48,11 @@ setSortByName val = do
4748 (args, opts) <- get
4849 put (args, opts { sortByName = val })
4950
51+setUseGauge :: Monad m => Bool -> StateT (a, Options) m ()
52+setUseGauge val = do
53+ (args, opts) <- get
54+ put (args, opts { useGauge = val })
55+
5056setBenchType :: Monad m => BenchType -> StateT (a, Options) m ()
5157setBenchType val = do
5258 (args, opts) <- get
@@ -135,6 +141,7 @@ parseOptions = do
135141 case opt of
136142 "--graphs" -> setGenGraphs True
137143 "--sort-by-name" -> setSortByName True
144+ "--use-gauge" -> setUseGauge True
138145 "--benchmark" -> parseBench
139146 "--fields" -> parseFields
140147 "--diff-style" -> parseDiff
@@ -177,12 +184,18 @@ showComparisons Options{..} cfg inp out =
177184
178185 where
179186
180− dropComponent = dropWhile (== '/') . dropWhile (/= '/')
181−
182− classifyComparison b = Just
183− ( takeWhile (/= '/') b
184− , dropComponent b
185− )
187+ separator = if useGauge then '/' else '.'
188+ dropComponent = dropWhile (== separator) . dropWhile (/= separator)
189+
190+ classifyComparison b =
191+ let b1 =
192+ if useGauge
193+ then b
194+ else dropComponent b --- drop "All." at the beginning
195+ in Just
196+ ( takeWhile (/= separator) b1
197+ , dropComponent b1
198+ )
186199
187200------------------------------------------------------------------------------
188201-- text reports