CaptureDebugGCStats panics
Setheck opened this issue · comments
Seth commented
Just wanted to explore what GC stats were getting captured, so i added
go metrics.CaptureDebugGCStats(metrics.DefaultRegistry, 10*time.Second)
and It appears to panic because debugMetrics.ReadGCStats
is a Timer interface that is never initialized.
version from go.mod is github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0
Henrik Spens commented
I experienced the same issue and it appears that you need to register the stats prior to using the capture function.
Example:
package main
import (
metrics "github.com/rcrowley/go-metrics"
)
func main() {
metrics.RegisterDebugGCStats(metrics.DefaultRegistry)
metrics.RegisterRuntimeMemStats(metrics.DefaultRegistry)
go metrics.CaptureDebugGCStats(metrics.DefaultRegistry, 10*time.Second)
go metrics.CaptureRuntimeMemStats(metrics.DefaultRegistry, 10*time.Second)
go metrics.Log(metrics.DefaultRegistry, 2*time.Second, log.New(os.Stderr, "metrics: ", log.Lmicroseconds))
for { select{ } }
}