diff --git a/ghcide/bench/hist/Main.hs b/ghcide/bench/hist/Main.hs index bd819571dc..0de9f6296a 100644 --- a/ghcide/bench/hist/Main.hs +++ b/ghcide/bench/hist/Main.hs @@ -147,6 +147,7 @@ buildGhcide Cabal args out = do ,"--install-method=copy" ,"--overwrite-policy=always" ,"--ghc-options=-rtsopts" + ,"--ghc-options=-eventlog" ] buildGhcide Stack args out = @@ -156,6 +157,7 @@ buildGhcide Stack args out = ,"ghcide:ghcide" ,"--copy-bins" ,"--ghc-options=-rtsopts" + ,"--ghc-options=-eventlog" ] benchGhcide diff --git a/shake-bench/src/Development/Benchmark/Rules.hs b/shake-bench/src/Development/Benchmark/Rules.hs index 1ded4a61af..60435ffe25 100644 --- a/shake-bench/src/Development/Benchmark/Rules.hs +++ b/shake-bench/src/Development/Benchmark/Rules.hs @@ -290,8 +290,9 @@ benchRules build MkBenchRules{..} = do [ build -/- "*/*/*/*.csv", build -/- "*/*/*/*.gcStats.log", build -/- "*/*/*/*.output.log", + build -/- "*/*/*/*.eventlog", build -/- "*/*/*/*.hp" - ] &%> \[outcsv, outGc, outLog, outHp] -> do + ] &%> \[outcsv, outGc, outLog, outEventlog, outHp] -> do let [_, flavour, exampleName, ver, exp] = splitDirectories outcsv prof = fromMaybe (error $ "Not a valid profiling mode: " <> flavour) $ profilingP flavour example <- fromMaybe (error $ "Unknown example " <> exampleName) @@ -302,6 +303,7 @@ benchRules build MkBenchRules{..} = do let exePath = build "binaries" ver executableName exeExtraArgs = [ "+RTS" + , "-l-au" , "-S" <> outGc] ++ concat [[ "-h" @@ -323,6 +325,7 @@ benchRules build MkBenchRules{..} = do AddPath [takeDirectory ghcPath, "."] [] ] BenchProject {..} + liftIO $ renameFile "ghcide.eventlog" outEventlog liftIO $ case prof of CheapHeapProfiling{} -> renameFile "ghcide.hp" outHp NoProfiling -> writeFile outHp dummyHp