Hi all,
Thinking about various lab health and other issues has made me want to see the current and historical state of a lab in a more sohpisticated way.
I've messed around in inkscape a bit to show the sort of thing I mean -- can you guess what the attached image is meant to represent? I hope it's fairly obvious, or there isn't much point in all this.
To be clear:
* each board gets a horizontal line * time increases along the x-axis * at a given moment, the line being narrow for a board indicates no job is running * a narrow green line means IDLE, a narrow grey line means OFFLINE * a wider line means a job is running, or alternatively jobs are represented by fatter blobs * a red blob is a job that did not complete * a green blob is a job that completed ok
Ideally, the view would support zooming and scrolling.
Mousing over a job should display a summary of the job, and clicking it should go to the log page.
We could probably have a checkbox that would hide non-healthcheck jobs.
We might want a variant that has a line for each device type, and somehow aggegrates the jobs running on different boards. Not sure how this would work though.
I think we are storing all the information we need to create this view (in the DeviceStateTransition table).
Do you guys think we should create this view? I would really like to have it, but I don't have a clear intuition on how hard it would be. I think it would make sense to mostly implement it in js, using some kind of js library. I don't know of any library that would specifically help (is there a name for this sort of visualization I can google for?) but I'm sure it could be done with raphael (http://raphaeljs.com/) and maybe d3 (http://mbostock.github.com/d3/) but I'm not really super up-to-date on the latest whizzery in js visualization space.
Cheers, mwh