docs: explain idle time rates above 1 for logical_disk and physical_disk (#2770)

Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
This commit is contained in:
Jan-Otto Kröpke
2026-10-16 21:33:09 +02:00
committed by GitHub
co-authored by Claude
parent 4ab9d475e1
commit f6e8e67a00
4 changed files with 35 additions and 1 deletions
+11 -1
View File
@@ -68,6 +68,16 @@ rate(windows_logical_disk_read_seconds_total[5m]) / rate(windows_logical_disk_re
rate(windows_logical_disk_write_seconds_total[5m]) / rate(windows_logical_disk_writes_total[5m])
```
### Idle time
`windows_logical_disk_idle_seconds_total` is the `% Idle Time` counter, converted to seconds: the cumulative idle time of the volume.
Windows updates it unevenly while the disk is busy and catches up afterwards, so the rate over a short window can exceed 1
right after a burst of I/O. Performance Monitor also shows values above 100%.
The errors mostly cancel out over longer windows, but can still push a 5m rate slightly above 1.
Clamp the rate to 1 when you derive the busy time from it:
```
1 - clamp_max(rate(windows_logical_disk_idle_seconds_total[5m]), 1)
```
### Size metrics
The `free_bytes` and `size_bytes` metrics are read from the volume on every scrape. Both are the free and total bytes
of the whole volume, regardless of NTFS disk quotas of the account running windows_exporter.
@@ -141,7 +151,7 @@ Disk Activity
+
rate(windows_logical_disk_write_seconds_total[2m])
+
rate(windows_logical_disk_idle_seconds_total[2m])
clamp_max(rate(windows_logical_disk_idle_seconds_total[2m]), 1)
)
```