This is looking really good Rowan.
I think it would be worth splitting the header events into their own plots, since these are so rapid initially, and so infrequent later, that they get completely buried the block plots.
Also, it might be interesting to see downloaded and validated blocks in the pie chart. Downloaded will always be <= to validated which is always <= confirmed. But unlike confirmed, these are not sequential. You would have to maintain a count. That would be fine unless the node is restarted with partial completions of download/validate, since you wouldn't have an accurate count. But it's also the case that a validated block implies that all blocks up to that height are downloaded, and a confirmed block implies all blocks up to that point are validated. So you could correct quickly.