This would involve storing all important timing information in a compact format.
It can be dumped to a VCD format file and viewed using a VCD waveform viewer.
Store:
task awake/asleep
buffer depth
cpu index
Dump:
synthesized ideal burst timing so we can see when a task is late