threadscope 0.2.3 → 0.2.4
raw patch · 2 files changed
+34/−5 lines, 2 files
Files
- GUI/SummaryView.hs +31/−2
- threadscope.cabal +3/−3
GUI/SummaryView.hs view
@@ -835,9 +835,38 @@ ModeIdle -> dGC -- Impossible. ModeInit -> error "scanEvents: GCStatsGHC ModeInit"- ModeStart -> error "scanEvents: GCStatsGHC ModeStart" ModeGHC{} -> error "scanEvents: GCStatsGHC ModeGHC"- ModeEnd -> error "scanEvents: GCStatsGHC ModeEnd"+ -- The last two cases are copied from case @GlobalSyncGC@+ -- to work around low-resolution timestamps (#35).+ -- Normally, these states would be impossible here, because+ -- @GlobalSyncGC@ would already transition away from these+ -- states. But if @GlobalSyncGC@ comes too early, the states+ -- can appear here. The computed stats are usually only+ -- slightly different than if @GlobalSyncGC@ made the state+ -- transitions, because the timestamps of @GCStatsGHC@+ -- and @GlobalSyncGC@ are normally only slightly different.+ --+ -- Cap takes part in the GC (not known if seq or par).+ -- Here is the moment where all caps taking place in the GC+ -- are identified and we can aggregate all their data+ -- at once (currently we just increment a counter for each).+ -- The EndGC events can come much later for some caps and at+ -- that time other caps are already inside their new GC.+ ModeStart ->+ dGC { gcMode = ModeSync cap+ , gcGenStat =+ if capKey == cap+ then IM.insert gcGenTot+ totGC{ gcAll = gcAll totGC + 1 }+ gcGenStat+ else gcGenStat+ }+ -- 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,+ -- the cap could be processed later on as if+ -- it took part in the GC, giving wrong results.+ ModeEnd -> dGC { gcMode = ModeIdle } EndGC -> assert (gcMode capGC `notElem` [ModeEnd, ModeIdle]) $ let endedGC = capGC { gcMode = ModeEnd }
threadscope.cabal view
@@ -1,5 +1,5 @@ Name: threadscope-Version: 0.2.3+Version: 0.2.4 Category: Development, Profiling, Trace Synopsis: A graphical tool for profiling parallel Haskell programs. Description: ThreadScope is a graphical viewer for thread profile@@ -17,7 +17,7 @@ 2009-2011 Simon Marlow, 2009 Donnie Jones, 2011-2012 Duncan Coutts,- 2011-2012 Mikolaj Konarski,+ 2011-2014 Mikolaj Konarski, 2011 Nicolas Wu, 2011 Eric Kow Author: Satnam Singh <s.singh@ieee.org>,@@ -29,7 +29,7 @@ Eric Kow <eric@well-typed.com> Maintainer: Simon Marlow <marlowsd@gmail.com> Homepage: http://www.haskell.org/haskellwiki/ThreadScope-Bug-reports: http://trac.haskell.org/ThreadScope/+Bug-reports: https://github.com/haskell/ThreadScope/issues Build-Type: Simple Cabal-version: >= 1.6 Data-files: threadscope.ui, threadscope.png