Skip to content

Commit

Permalink
bench | locli: better input reporting
Browse files Browse the repository at this point in the history
  • Loading branch information
deepfire committed Jan 17, 2022
1 parent 596aaa0 commit 4af135c
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions bench/locli/src/Cardano/Analysis/Driver.hs
@@ -1,3 +1,4 @@
{-# LANGUAGE GADTs #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
Expand Down Expand Up @@ -105,14 +106,15 @@ runAnalysisCommand (MachineTimelineCmd genesisFile metaFile mChFiltersFile logfi
<*> firstExceptT (GenesisParseError genesisFile . T.pack)
(newExceptT $
AE.eitherDecode @Genesis <$> LBS.readFile (unJsonGenesisFile genesisFile))
liftIO $ LBS.putStrLn (AE.encode chainInfo)
progress "chain" (J $ chainInfo)

chFilters <- fmap (fromMaybe []) $
forM mChFiltersFile $
\jf@(JsonSelectorFile f) -> do
firstExceptT (ChainFiltersParseError jf . T.pack)
(newExceptT $
AE.eitherDecode @[ChainFilter] <$> LBS.readFile f)
progress "filters" (J $ chFilters)

firstExceptT AnalysisCmdError $
runMachineTimeline chainInfo logfiles chFilters oFiles
Expand All @@ -128,14 +130,15 @@ runAnalysisCommand (BlockPropagationCmd genesisFile metaFile mChFiltersFile logf
<*> firstExceptT (GenesisParseError genesisFile . T.pack)
(newExceptT $
AE.eitherDecode @Genesis <$> LBS.readFile (unJsonGenesisFile genesisFile))
liftIO $ LBS.putStrLn (AE.encode chainInfo)
progress "chain" (J $ chainInfo)

chFilters <- fmap (fromMaybe []) $
forM mChFiltersFile $
\jf@(JsonSelectorFile f) -> do
firstExceptT (ChainFiltersParseError jf . T.pack)
(newExceptT $
AE.eitherDecode @[ChainFilter] <$> LBS.readFile f)
progress "filters" (J $ chFilters)

firstExceptT AnalysisCmdError $
runBlockPropagation chainInfo chFilters logfiles oFiles
Expand All @@ -152,7 +155,7 @@ runAnalysisCommand (ChainInfoCmd genesisFile metaFile) = do
<*> firstExceptT (GenesisParseError genesisFile . T.pack)
(newExceptT $
AE.eitherDecode @Genesis <$> LBS.readFile (unJsonGenesisFile genesisFile))
liftIO $ LBS.putStrLn (AE.encode chainInfo)
progress "chain" (J $ chainInfo)

runBlockPropagation ::
ChainInfo -> [ChainFilter] -> [JsonLogfile] -> BlockPropagationOutputFiles -> ExceptT Text IO ()
Expand Down Expand Up @@ -194,12 +197,14 @@ data F
= R String
| Q String
| L [String]
| forall a. AE.ToJSON a => J a

progress :: MonadIO m => String -> F -> m ()
progress key = putStrLn . T.pack . \case
R x -> printf "{ \"%s\": %s }" key x
Q x -> printf "{ \"%s\": \"%s\" }" key x
L xs -> printf "{ \"%s\": \"%s\" }" key (intercalate "\", \"" xs)
J x -> printf "{ \"%s\": %s }" key (LBS.unpack $ AE.encode x)

runMachineTimeline ::
ChainInfo -> [JsonLogfile] -> [ChainFilter] -> MachineTimelineOutputFiles -> ExceptT Text IO ()
Expand Down

0 comments on commit 4af135c

Please sign in to comment.