A simple visualizer for parallel execution traces, based on HTML and SVG. Written in Elm. It's a work-in-progress, but already somewhat usable.
- Install Elm
- Do
make
. This generatesindex.html
. - Open
index.html
in your browser. - Click on the
select file
button at the top, and open a trace file (e.g. example-traces/small.txt). - Use the up and down keys to zoom in and out, and left and right to navigate. Horizontal scrolling also works.
- Hover your mouse over an event to see information about that event at the bottom.
A trace file is a sequence of events, in no particular order, with one event on each line. An event is a comma-separated row with the following form:
<LABEL>[_ENTER|_LEAVE],<PROC>,<TIME>,<ARG1>,<ARG2>,<ARG3>
<LABEL>
is the name of the event. Choose anything that is meaningful. There are two types of events:- Momentary events, which occur at some moment in time.
- Duration events, which begin at some moment and end at another.
These are identified by pairs of events whose labels end in
_ENTER
and_LEAVE
. For each<LABEL>_ENTER
, the next<LABEL>_LEAVE
that appears on the same processor will be used as the end of that event.
<PROC>
is a number (0 through N-1 for N processors) identifying the processor that logged the event.<TIME>
is the time the event occurs, in seconds. Times do not have to start at 0; everything will be listed relative to the earliest time that appears in the trace.<ARG1>
,<ARG2>
, and<ARG3>
can be anything useful that you would like to additionally include in the event.