packages feed

threadscope 0.2.6 → 0.2.7

raw patch · 2 files changed

+16/−9 lines, 2 files

Files

GUI/SummaryView.hs view
@@ -687,6 +687,10 @@   , gcMaxPause = 0   } +-- Fail only when assertions are turned on.+errorAs :: String -> a -> a+errorAs msg a = assert (error msg) a+ accumEvent :: StatsAccum -> CapEvent -> StatsAccum accumEvent !statsAccum (CapEvent mcap ev) =   let -- For events that contain a counter with a running sum.@@ -769,15 +773,16 @@                         }                   -- Cap is not in the GC. Mark it as idle to complete                   -- the identification of caps that take part-                  -- in the current GC. Without overwritin the mode,+                  -- in the current GC. Without overwriting the mode,                   -- the cap could be processed later on as if                   -- it took part in the GC, giving wrong results.                   ModeEnd  -> dGC { gcMode = ModeIdle }                   ModeIdle -> dGC                   -- Impossible.-                  ModeInit   -> error "scanEvents: GlobalSyncGC ModeInit"-                  ModeSync{} -> error "scanEvents: GlobalSyncGC ModeSync"-                  ModeGHC{}  -> error "scanEvents: GlobalSyncGC ModeGHC"+                  ModeInit   -> errorAs "scanEvents: GlobalSyncGC ModeInit" dGC+                  ModeSync{} -> errorAs "scanEvents: GlobalSyncGC ModeSync" dGC+                  ModeGHC{}  -> -- error "scanEvents: GlobalSyncGC ModeGHC"+                                dGC  -- workaround for #46           GCStatsGHC{..} ->             -- All caps must be stopped. Those that take part in the GC             -- are in ModeInit or ModeSync, those that do not@@ -837,8 +842,9 @@                   -- Cap not in the current GC, leave it alone.                   ModeIdle -> dGC                   -- Impossible.-                  ModeInit  -> error "scanEvents: GCStatsGHC ModeInit"-                  ModeGHC{} -> error "scanEvents: GCStatsGHC ModeGHC"+                  ModeInit  -> errorAs "scanEvents: GCStatsGHC ModeInit" dGC+                  ModeGHC{} -> -- error "scanEvents: GCStatsGHC ModeGHC"+                               dGC  -- workaround for #46                   -- The last two cases are copied from case @GlobalSyncGC@                   -- to work around low-resolution timestamps (#35).                   -- Normally, these states would be impossible here, because@@ -915,8 +921,9 @@                    in sd { dGCTable = IM.insert cap newTime dGCTable                          , dGCMain = Just newMain                          }-                 ModeEnd   -> error "scanEvents: EndGC ModeEnd"-                 ModeIdle  -> error "scanEvents: EndGC ModeIdle"+                 ModeEnd   -> errorAs "scanEvents: EndGC ModeEnd" sd+                 ModeIdle  -> errorAs "scanEvents: EndGC ModeIdle"+                              $ sd { dGCTable = IM.insert cap endedGC dGCTable }           SparkCounters crt dud ovf cnv fiz gcd _rem ->             -- We are guranteed the first spark counters event has all zeroes,             -- do we don't need to rig the counters for maximal interval.
threadscope.cabal view
@@ -1,5 +1,5 @@ Name:                threadscope-Version:             0.2.6+Version:             0.2.7 Category:            Development, Profiling, Trace Synopsis:            A graphical tool for profiling parallel Haskell programs. Description:         ThreadScope is a graphical viewer for thread profile