Block device metrics
This group is one card set per service disk the daemon reports (isServiceDevice). Titles use the kernel name and model (nvme0n1 (Samsung …)). Partition-only or excluded devices do not appear.
Host-wide totals and the single busiest-device percent stay on Storage. Use this group when you need to know which disk.
Every license tier watches at least two drives; more disks need a higher tier (see License tiers). A drive's temperature is not on this row — it is a physical signal, captioned with the drive's name.
Throughput
| Series | Wire name | What it is |
|---|---|---|
| Read | block.readBytesPerSecond | Bytes/s read from this device |
| Write | block.writeBytesPerSecond | Bytes/s written to this device |
Compare a device to itself over time. An NVMe and a spinning disk have different ceilings; a line that doubles while latency stays flat is still healthy.
IOPS
| Series | Wire name | What it is |
|---|---|---|
| Read | block.readOpsPerSecond | Read operations per second |
| Write | block.writeOpsPerSecond | Write operations per second |
IOPS catch small-I/O saturation that bytes/s miss. A database doing 4 KiB reads can max the device's IOPS while throughput looks low. Pair a high IOPS line with latency and utilization.
Latency
| Series | Wire name | What it is |
|---|---|---|
| Read | block.readLatencyMs | Average read service time on this device, milliseconds |
| Write | block.writeLatencyMs | Average write service time on this device, milliseconds |
The first chart to check when I/O PSI rises. A device whose read latency left its baseline is the one holding the host.
Utilization
block.utilizationPercent — percent of time this device had outstanding I/O (there is no host-wide "busiest disk" rollup any more — this per-disk chart is where to look).
Near 100% for minutes means the device is busy, not necessarily that bytes/s hit a vendor spec. Queue depth and latency tell you whether it is keeping up or falling behind.
Temperature
Drive temperature, when SMART/NVMe exports it, is reported as a physical signal named for the device (nvme0n1 temperature) — not as a block.* field, and not in this group. There is no chart when there is no probe, and none on a VM.
Rising temperature with rising latency can be thermal throttling. Discrete SMART/NVMe faults are events, not a gauge.
Queue depth
block.queueDepth — outstanding I/O requests on the device.
A deeper queue with stable latency is the device absorbing burst. A deeper queue with climbing latency is saturation — work is waiting in line. Together with utilization near 100% and I/O Full PSI, this is “the disk cannot take more.”
Related
- Storage — host-wide I/O and root filesystem
- Physical signals — this drive's temperature, alongside the other probes
- Disk events — SMART, NVMe, RAID
Last updated on