Metrics: two sources, one live view
Guest-reported figures (CPU, memory, swap, cache) arrive every 3 seconds over the control channel. Disk, quota, and NIC counters are measured host-side at frame arrival — no guest cooperation needed for the numbers that matter most for capacity planning. Both blend into one unified live view rather than two separate things an operator has to reconcile.
Logs: truncation you can see, not silent loss
Each VM keeps two log streams (run — the workload's own stdout; console — raw kernel serial), each capped at 256 KiB with a head+tail scheme: the first 64 KiB frozen forever, the most recent 192 KiB rolling. The gap between them carries an explicit --- N bytes dropped --- marker and a truncated: bool flag in the API response — a reader can always tell "quiet" apart from "truncated."