Grasp
Trace visualization is a viable approach for gaining insight into the behavior of complex distributed real-time systems. Grasp is a versatile trace visualization toolset. It provides unique visualization capabilities for hierarchical multiprocessor systems, including partitioned and global multiprocessor scheduling with migrating tasks and jobs, communication between jobs via shared memory and message passing, and hierarchical scheduling in combination with multiprocessor scheduling. Its flexible plugin infrastructure allows for easy extension with custom visualization and analysis techniques for automatic trace verification.Download Grasp
You can download the latest version of Grasp here:
The download includes several example trace files. Take a look at the example_explained.log trace using your favourite text editor to get started on the Grasp trace format. It contains an explanation of many trace commands and their parameters. Note that it is also a proper trace, so you can open it with Grasp.Download Grasp Recorder
The Grasp Recorder provides a set of methods for recording a Grasp Trace. These methods are called by the instrumentation code inserted into the traced system. For example, during a context switch the instrumentation code should call a method in the Grasp Recorder to log a preemption of the currently running task. You are free to generate a Grasp Trace however you want, but for your convenience we have implemented a sample Grasp Recorder.You can download the latest version the Grasp Recorder here:
- os_log.zip (version )
Screenshots
Trace illustrating a video processing application comprised of several tasks (including Network, Decoder and Renderer tasks) executing on a single processor and communicating individual frames of an MPEG video via two shared buffers.

Trace of tasks executing on a dual-core processor sharing a mutex.
Trace of tasks mapped to a deferrable and a polling server executing in a hierarchical scheduling framework.