gipeda-0.1: src/GraphReport.hs
{-# LANGUAGE DeriveGeneric, OverloadedStrings #-}
module GraphReport where
import Control.Monad
import qualified Data.Map as M
import qualified Data.ByteString.Lazy as BS
import qualified Data.Text as T
import Data.Aeson
import GHC.Generics
import Paths
import ReadResult
import ReportTypes
graphReportMain :: [String] -> IO ()
graphReportMain (bench:revs) = do
g <- forM revs $ \rev -> do
m <- readCSV rev
let v = M.lookup bench m
return $ T.pack rev .= object
[ "benchResults" .= object
[ T.pack bench .= object
[ "value" .= v ]
]
]
let doc = object ["revisions" .= object g]
BS.putStr (encode doc)