metrics: add read/write_bytes (#2265)
This commit is contained in:
parent
d620407ff4
commit
7169e2b864
@ -18,8 +18,10 @@ 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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -171,27 +171,29 @@ func CollectProcessMetrics(refresh time.Duration) {
|
|||||||
|
|
||||||
// Define the various metrics to collect
|
// Define the various metrics to collect
|
||||||
var (
|
var (
|
||||||
cpuSysLoad = GetOrRegisterGauge("system/cpu/sysload", DefaultRegistry)
|
cpuSysLoad = GetOrRegisterGauge("system/cpu/sysload", DefaultRegistry)
|
||||||
cpuSysWait = GetOrRegisterGauge("system/cpu/syswait", DefaultRegistry)
|
cpuSysWait = GetOrRegisterGauge("system/cpu/syswait", DefaultRegistry)
|
||||||
cpuProcLoad = GetOrRegisterGauge("system/cpu/procload", DefaultRegistry)
|
cpuProcLoad = GetOrRegisterGauge("system/cpu/procload", DefaultRegistry)
|
||||||
cpuSysLoadTotal = GetOrRegisterCounterFloat64("system/cpu/sysload/total", DefaultRegistry)
|
cpuSysLoadTotal = GetOrRegisterCounterFloat64("system/cpu/sysload/total", DefaultRegistry)
|
||||||
cpuSysWaitTotal = GetOrRegisterCounterFloat64("system/cpu/syswait/total", DefaultRegistry)
|
cpuSysWaitTotal = GetOrRegisterCounterFloat64("system/cpu/syswait/total", DefaultRegistry)
|
||||||
cpuProcLoadTotal = GetOrRegisterCounterFloat64("system/cpu/procload/total", DefaultRegistry)
|
cpuProcLoadTotal = GetOrRegisterCounterFloat64("system/cpu/procload/total", DefaultRegistry)
|
||||||
cpuThreads = GetOrRegisterGauge("system/cpu/threads", DefaultRegistry)
|
cpuThreads = GetOrRegisterGauge("system/cpu/threads", DefaultRegistry)
|
||||||
cpuGoroutines = GetOrRegisterGauge("system/cpu/goroutines", DefaultRegistry)
|
cpuGoroutines = GetOrRegisterGauge("system/cpu/goroutines", DefaultRegistry)
|
||||||
cpuSchedLatency = getOrRegisterRuntimeHistogram("system/cpu/schedlatency", secondsToNs, nil)
|
cpuSchedLatency = getOrRegisterRuntimeHistogram("system/cpu/schedlatency", secondsToNs, nil)
|
||||||
memPauses = getOrRegisterRuntimeHistogram("system/memory/pauses", secondsToNs, nil)
|
memPauses = getOrRegisterRuntimeHistogram("system/memory/pauses", secondsToNs, nil)
|
||||||
memAllocs = GetOrRegisterMeter("system/memory/allocs", DefaultRegistry)
|
memAllocs = GetOrRegisterMeter("system/memory/allocs", DefaultRegistry)
|
||||||
memFrees = GetOrRegisterMeter("system/memory/frees", DefaultRegistry)
|
memFrees = GetOrRegisterMeter("system/memory/frees", DefaultRegistry)
|
||||||
memTotal = GetOrRegisterGauge("system/memory/held", DefaultRegistry)
|
memTotal = GetOrRegisterGauge("system/memory/held", DefaultRegistry)
|
||||||
heapUsed = GetOrRegisterGauge("system/memory/used", DefaultRegistry)
|
heapUsed = GetOrRegisterGauge("system/memory/used", DefaultRegistry)
|
||||||
heapObjects = GetOrRegisterGauge("system/memory/objects", DefaultRegistry)
|
heapObjects = GetOrRegisterGauge("system/memory/objects", DefaultRegistry)
|
||||||
diskReads = GetOrRegisterMeter("system/disk/readcount", DefaultRegistry)
|
diskReads = GetOrRegisterMeter("system/disk/readcount", DefaultRegistry)
|
||||||
diskReadBytes = GetOrRegisterMeter("system/disk/readdata", DefaultRegistry)
|
diskReadBytes = GetOrRegisterMeter("system/disk/readdata", DefaultRegistry)
|
||||||
diskReadBytesCounter = GetOrRegisterCounter("system/disk/readbytes", DefaultRegistry)
|
diskReadBytesCounter = GetOrRegisterCounter("system/disk/readbytes", DefaultRegistry)
|
||||||
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