metrics: add read/write_bytes (#2265)
This commit is contained in:
parent
d620407ff4
commit
7169e2b864
@ -19,7 +19,9 @@ package metrics
|
|||||||
// DiskStats is the per process disk io stats.
|
// DiskStats is the per process disk io stats.
|
||||||
type DiskStats struct {
|
type DiskStats struct {
|
||||||
ReadCount int64 // Number of read operations executed
|
ReadCount int64 // Number of read operations executed
|
||||||
ReadBytes int64 // Total number of bytes read
|
ReadBytes int64 // Total number of bytes read (include disk cache)
|
||||||
WriteCount int64 // Number of write operations executed
|
WriteCount int64 // Number of write operations executed
|
||||||
WriteBytes int64 // Total number of byte written
|
WriteBytes int64 // Total number of byte written
|
||||||
|
ReadIOBytes int64 // Total number of io bytes read
|
||||||
|
WriteIOBytes int64 // Total number of io bytes write
|
||||||
}
|
}
|
||||||
|
@ -67,6 +67,10 @@ func ReadDiskStats(stats *DiskStats) error {
|
|||||||
stats.ReadBytes = value
|
stats.ReadBytes = value
|
||||||
case "wchar":
|
case "wchar":
|
||||||
stats.WriteBytes = value
|
stats.WriteBytes = value
|
||||||
|
case "read_bytes":
|
||||||
|
stats.ReadIOBytes = value
|
||||||
|
case "write_bytes":
|
||||||
|
stats.WriteIOBytes = value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -192,6 +192,8 @@ func CollectProcessMetrics(refresh time.Duration) {
|
|||||||
diskWrites = GetOrRegisterMeter("system/disk/writecount", DefaultRegistry)
|
diskWrites = GetOrRegisterMeter("system/disk/writecount", DefaultRegistry)
|
||||||
diskWriteBytes = GetOrRegisterMeter("system/disk/writedata", DefaultRegistry)
|
diskWriteBytes = GetOrRegisterMeter("system/disk/writedata", DefaultRegistry)
|
||||||
diskWriteBytesCounter = GetOrRegisterCounter("system/disk/writebytes", DefaultRegistry)
|
diskWriteBytesCounter = GetOrRegisterCounter("system/disk/writebytes", DefaultRegistry)
|
||||||
|
diskIOReadBytesCounter = GetOrRegisterCounter("system/disk/io/readbytes", DefaultRegistry)
|
||||||
|
diskIOWriteBytesCounter = GetOrRegisterCounter("system/disk/io/writebytes", DefaultRegistry)
|
||||||
)
|
)
|
||||||
|
|
||||||
var lastCollectTime time.Time
|
var lastCollectTime time.Time
|
||||||
@ -243,6 +245,8 @@ func CollectProcessMetrics(refresh time.Duration) {
|
|||||||
diskWriteBytes.Mark(diskstats[now].WriteBytes - diskstats[prev].WriteBytes)
|
diskWriteBytes.Mark(diskstats[now].WriteBytes - diskstats[prev].WriteBytes)
|
||||||
diskReadBytesCounter.Inc(diskstats[now].ReadBytes - diskstats[prev].ReadBytes)
|
diskReadBytesCounter.Inc(diskstats[now].ReadBytes - diskstats[prev].ReadBytes)
|
||||||
diskWriteBytesCounter.Inc(diskstats[now].WriteBytes - diskstats[prev].WriteBytes)
|
diskWriteBytesCounter.Inc(diskstats[now].WriteBytes - diskstats[prev].WriteBytes)
|
||||||
|
diskIOReadBytesCounter.Inc(diskstats[now].ReadIOBytes - diskstats[prev].ReadIOBytes)
|
||||||
|
diskIOWriteBytesCounter.Inc(diskstats[now].WriteIOBytes - diskstats[prev].WriteIOBytes)
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(refresh)
|
time.Sleep(refresh)
|
||||||
|
Loading…
Reference in New Issue
Block a user