cmd/geth, metrics: separate process metric collection, add disk
This commit is contained in:
committed by
Jeffrey Wilcke
parent
7c4ed8055c
commit
2aeeb72fa5
@ -39,11 +39,11 @@ import (
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/eth"
|
||||
"github.com/ethereum/go-ethereum/logger"
|
||||
"github.com/ethereum/go-ethereum/metrics"
|
||||
"github.com/ethereum/go-ethereum/rpc/codec"
|
||||
"github.com/ethereum/go-ethereum/rpc/comms"
|
||||
"github.com/mattn/go-colorable"
|
||||
"github.com/mattn/go-isatty"
|
||||
"github.com/rcrowley/go-metrics"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -288,27 +288,7 @@ JavaScript API. See https://github.com/ethereum/go-ethereum/wiki/Javascipt-Conso
|
||||
return nil
|
||||
}
|
||||
// Start system runtime metrics collection
|
||||
go func() {
|
||||
allocs := metrics.GetOrRegisterMeter("system/memory/allocs", metrics.DefaultRegistry)
|
||||
frees := metrics.GetOrRegisterMeter("system/memory/frees", metrics.DefaultRegistry)
|
||||
inuse := metrics.GetOrRegisterMeter("system/memory/inuse", metrics.DefaultRegistry)
|
||||
pauses := metrics.GetOrRegisterMeter("system/memory/pauses", metrics.DefaultRegistry)
|
||||
|
||||
stats := make([]*runtime.MemStats, 2)
|
||||
for i := 0; i < len(stats); i++ {
|
||||
stats[i] = new(runtime.MemStats)
|
||||
}
|
||||
for i := 1; ; i++ {
|
||||
runtime.ReadMemStats(stats[i%2])
|
||||
|
||||
allocs.Mark(int64(stats[i%2].Mallocs - stats[(i-1)%2].Mallocs))
|
||||
frees.Mark(int64(stats[i%2].Frees - stats[(i-1)%2].Frees))
|
||||
inuse.Mark(int64(stats[i%2].Alloc - stats[(i-1)%2].Alloc))
|
||||
pauses.Mark(int64(stats[i%2].PauseTotalNs - stats[(i-1)%2].PauseTotalNs))
|
||||
|
||||
time.Sleep(3 * time.Second)
|
||||
}
|
||||
}()
|
||||
go metrics.CollectProcessMetrics(3 * time.Second)
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
Reference in New Issue
Block a user