diff --git a/disk/disk.go b/disk/disk.go index 0f310e7..a2c4720 100644 --- a/disk/disk.go +++ b/disk/disk.go @@ -43,6 +43,7 @@ type IOCountersStat struct { WriteTime uint64 `json:"writeTime"` IopsInProgress uint64 `json:"iopsInProgress"` IoTime uint64 `json:"ioTime"` + WeightedIO uint64 `json:"weightedIO"` Name string `json:"name"` SerialNumber string `json:"serialNumber"` } diff --git a/disk/disk_linux.go b/disk/disk_linux.go index a9c1bc8..51f17cd 100644 --- a/disk/disk_linux.go +++ b/disk/disk_linux.go @@ -328,6 +328,10 @@ func IOCounters() (map[string]IOCountersStat, error) { if err != nil { return ret, err } + weightedIO, err := strconv.ParseUint((fields[13]), 10, 64) + if err != nil { + return ret, err + } d := IOCountersStat{ ReadBytes: rbytes * SectorSize, WriteBytes: wbytes * SectorSize, @@ -339,6 +343,7 @@ func IOCounters() (map[string]IOCountersStat, error) { WriteTime: wtime, IopsInProgress: iopsInProgress, IoTime: iotime, + WeightedIO: weightedIO, } if d == empty { continue