ghc-events-analyze 0.2.3 → 0.2.4
raw patch · 5 files changed
+13/−7 lines, 5 filesdep ~diagrams-libdep ~lens
Dependency ranges changed: diagrams-lib, lens
Files
- ChangeLog +6/−0
- ghc-events-analyze.cabal +1/−1
- src/GHC/RTS/Events/Analyze.hs +3/−2
- src/GHC/RTS/Events/Analyze/Analysis.hs +2/−3
- src/GHC/RTS/Events/Analyze/Reports/Timed/SVG.hs +1/−1
ChangeLog view
@@ -1,3 +1,9 @@+0.2.4++ * Fix bug in timeline rendering when using --tick-every+ (2016-10-04 Edsko de Vries <edsko@well-typed.com>)+ * Backwards compatibility with older ghc+ 0.2.3 * Add new command line options: `--tick-every`, `--bucket-width`,
ghc-events-analyze.cabal view
@@ -1,5 +1,5 @@ name: ghc-events-analyze-version: 0.2.3+version: 0.2.4 synopsis: Analyze and visualize event logs description: ghc-events-analyze is a simple Haskell profiling tool that uses GHC's eventlog system. It helps with some profiling
src/GHC/RTS/Events/Analyze.hs view
@@ -2,6 +2,7 @@ module Main where import Control.Monad (when, forM_)+import Data.Maybe (isNothing) import System.FilePath (replaceExtension, takeFileName) import Text.Parsec.String (parseFromFile) @@ -40,8 +41,8 @@ prefixAnalysisNumber :: Int -> String -> String prefixAnalysisNumber i filename- | null optionsWindowEvent = filename- | otherwise = show i ++ "." ++ filename+ | isNothing optionsWindowEvent = filename+ | otherwise = show i ++ "." ++ filename forM_ (zip [0..] analyses) $ \ (i,analysis) -> do
src/GHC/RTS/Events/Analyze/Analysis.hs view
@@ -16,8 +16,7 @@ import Control.Applicative ((<|>)) import Control.Lens ((%=), (.=), at, use) import Control.Monad (forM_, when, void)-import Data.Char (isSpace, isDigit)-import Data.Maybe (fromMaybe)+import Data.Maybe (fromMaybe, isNothing) import Data.Map.Strict (Map) import GHC.RTS.Events hiding (events) import qualified Data.Map.Strict as Map@@ -244,7 +243,7 @@ , eventStarts = error "eventStarts computed at the end" , _startup = Nothing , _shutdown = Nothing- , _inWindow = null (optionsWindowEvent opts)+ , _inWindow = isNothing (optionsWindowEvent opts) } computeTotals :: [(EventId, Timestamp, Timestamp)] -> Map EventId Timestamp
src/GHC/RTS/Events/Analyze/Reports/Timed/SVG.hs view
@@ -160,7 +160,7 @@ timeline :: Options -> Int -> Timestamp -> D timeline Options{..} numBuckets bucketSize =- mconcat [ timelineBlock b # D.translateX (fromIntegral tb * timelineBlockWidth)+ mconcat [ timelineBlock tb # D.translateX (fromIntegral tb * timelineBlockWidth) | -- bucket number b <- [0 .. numBuckets - 1] -- timeline block number, index within this timeline block @(0 .. optionsTickEvery - 1)@