mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 02:12:23 +00:00
swarm/metrics: collect disk measurements
This commit is contained in:
parent
4af94a2962
commit
4945f2ac86
2 changed files with 9 additions and 0 deletions
|
|
@ -58,11 +58,14 @@ func CollectProcessMetrics(refresh time.Duration) {
|
|||
memPauses := GetOrRegisterMeter("system/memory/pauses", DefaultRegistry)
|
||||
|
||||
var diskReads, diskReadBytes, diskWrites, diskWriteBytes Meter
|
||||
var diskReadBytesCounter, diskWriteBytesCounter Counter
|
||||
if err := ReadDiskStats(diskstats[0]); err == nil {
|
||||
diskReads = GetOrRegisterMeter("system/disk/readcount", DefaultRegistry)
|
||||
diskReadBytes = GetOrRegisterMeter("system/disk/readdata", DefaultRegistry)
|
||||
diskReadBytesCounter = GetOrRegisterCounter("system/disk/readbytes", DefaultRegistry)
|
||||
diskWrites = GetOrRegisterMeter("system/disk/writecount", DefaultRegistry)
|
||||
diskWriteBytes = GetOrRegisterMeter("system/disk/writedata", DefaultRegistry)
|
||||
diskWriteBytesCounter = GetOrRegisterCounter("system/disk/writebytes", DefaultRegistry)
|
||||
} else {
|
||||
log.Debug("Failed to read disk metrics", "err", err)
|
||||
}
|
||||
|
|
@ -82,6 +85,9 @@ func CollectProcessMetrics(refresh time.Duration) {
|
|||
diskReadBytes.Mark(diskstats[location1].ReadBytes - diskstats[location2].ReadBytes)
|
||||
diskWrites.Mark(diskstats[location1].WriteCount - diskstats[location2].WriteCount)
|
||||
diskWriteBytes.Mark(diskstats[location1].WriteBytes - diskstats[location2].WriteBytes)
|
||||
|
||||
diskReadBytesCounter.Inc(diskstats[location1].ReadBytes - diskstats[location2].ReadBytes)
|
||||
diskWriteBytesCounter.Inc(diskstats[location1].WriteBytes - diskstats[location2].WriteBytes)
|
||||
}
|
||||
time.Sleep(refresh)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,6 +81,9 @@ func Setup(ctx *cli.Context) {
|
|||
hosttag = ctx.GlobalString(metricsInfluxDBHostTagFlag.Name)
|
||||
)
|
||||
|
||||
// Start system runtime metrics collection
|
||||
go gethmetrics.CollectProcessMetrics(2 * time.Second)
|
||||
|
||||
if enableExport {
|
||||
log.Info("Enabling swarm metrics export to InfluxDB")
|
||||
go influxdb.InfluxDBWithTags(gethmetrics.DefaultRegistry, 10*time.Second, endpoint, database, username, password, "swarm.", map[string]string{
|
||||
|
|
|
|||
Loading…
Reference in a new issue