Distrace helps visualize interactions between distributed processes. Distrace taks as input "event traces" of several processes and reconstructs the list of interactions between processes. The distrace2svg script produces an SVG graphical representation of the output of distrace.
The goal of distrace is to help visualise interactions of concurrent systems, where processes interact either by message passing or by multiway rendezvous (also called multiparty interaction). The input of distrace is a list of events, its output is a list of message exchanges and rendezvous with logical dates.
Since clocks are not reliable in a distributed setting, distrace does not rely on event with timestamps and prefers reconstruct messages from the casuality of events. To achieve this, distrace assumes that asynchronous message passing is realized over a reliable network (no message loss) which keeps messages ordered between 2 processes. This network model is typically what should be achieved by TCP sockets.
Warning: distrace is not considered as finished and may evolve in the future.
A C compiler is required. Download the archive, run the BUILD.sh shell script to produce the executable. To run the bundled distrace2svg companion script, a AWK interpreter is required, and the distrace executable must be visible from your PATH.