glpidstat: pidstat display as a screensaver

The sysstat package by Sebastien Godard contains a bunch of performance monitoring utilities for Linux. One of the more recent ones is pidstat that outputs processes that have done something 'interesting' in the last timeslice, e.g. used some CPU or done some IO.
I thought it would be nice to try and visualise that and the result is glpidstat a xscreensaver hack that parses pidstat output into something pretty: a snapshot of glpidstat in action
Each of the stripes represents one process, with the colour indicating CPU (the left side of each stripe) or IO (the right side of the stripe); on an SMP machine the position of the stripe wiggles from side to side as it gets schedules to different processors. On this picture you can see make continually doing some IO during a build, a bright stripe near the middle of the image shows an instance of cc1 (part of gcc) eating cpu for a few seconds. You can download a patch here, this is against xscreensaver 5.07 and you will need sysstat 8.1.6 or newer (I've tested it on 8.1.6.).

All comments welcome
back to my home page