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  }