github.com/rcrowley/go-metrics@v0.0.0-20201227073835-cf1acfcdf475/cmd/metrics-bench/metrics-bench.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "github.com/rcrowley/go-metrics" 6 "time" 7 ) 8 9 func main() { 10 r := metrics.NewRegistry() 11 for i := 0; i < 10000; i++ { 12 r.Register(fmt.Sprintf("counter-%d", i), metrics.NewCounter()) 13 r.Register(fmt.Sprintf("gauge-%d", i), metrics.NewGauge()) 14 r.Register(fmt.Sprintf("gaugefloat64-%d", i), metrics.NewGaugeFloat64()) 15 r.Register(fmt.Sprintf("histogram-uniform-%d", i), metrics.NewHistogram(metrics.NewUniformSample(1028))) 16 r.Register(fmt.Sprintf("histogram-exp-%d", i), metrics.NewHistogram(metrics.NewExpDecaySample(1028, 0.015))) 17 r.Register(fmt.Sprintf("meter-%d", i), metrics.NewMeter()) 18 } 19 time.Sleep(600e9) 20 }