You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
hs-speedscope is a simple executable for converting an eventlog into a format suitable to load into speedscope.
WARNING: Only GHC 8.10 supports generating an eventlog with the correct events for this program to work.
Usage
Create an eventlog which contains time profiling events by running your program with program +RTS -p -l-au.
Run hs-speedscope on the resulting eventlog hs-speedscope program.eventlog.
Load the resulting program.eventlog.json file into speedscope to visualise the profile.
Installation
cabal update
cabal install exe:hs-speedscope
This will install to cabal's per-user default location: ~/.cabal/bin/hs-speedscope.
Filtering an eventlog
It is sometimes useful to isolate a specific part of the sample, for example, when
I was profiling ghcide, I want to isolate a single hover request.
The --start and --end options can be used to indicate which parts of the
eventlog to keep. The filtering options look for messages inserted into the
eventlog by traceMarker events.
No events before the first marker which matches the prefix given by --start
will be included in the result
No events after the first marker which matches the prefix given by --end will
be included in the result.
For example, the following invocation will filter the profile between the START and END markers.
hs-speedscope File.eventlog --start START --end END