Event tracing is a powerful and widely-used method for analyzing the performance of parallel programs. In the context of developing parallel programs, tracing is especially effective for observing the interactions between different processes or threads that occur during communication or synchronization operations and to analyze the way concurrent activities influence each other’s performance. Traditionally, developers of parallel programs use tracing tools, such as Vampir [NWHS96], to visualize the program behavior along the time axis in the style of a Gantt chart (Figure 1), where local activities are represented as boxes with a distinct color. Interactions between processes are indicated by arrows or polygons to illustrate the exchange of messages.