|
@@ -13,6 +13,7 @@ func Log(r Registry, freq time.Duration, l *log.Logger) {
|
|
|
// logger. Print timings in `scale` units (eg time.Millisecond) rather than nanos.
|
|
// logger. Print timings in `scale` units (eg time.Millisecond) rather than nanos.
|
|
|
func LogScaled(r Registry, freq time.Duration, scale time.Duration, l *log.Logger) {
|
|
func LogScaled(r Registry, freq time.Duration, scale time.Duration, l *log.Logger) {
|
|
|
du := float64(scale)
|
|
du := float64(scale)
|
|
|
|
|
+ duSuffix := scale.String()[1:]
|
|
|
|
|
|
|
|
for _ = range time.Tick(freq) {
|
|
for _ = range time.Tick(freq) {
|
|
|
r.Each(func(name string, i interface{}) {
|
|
r.Each(func(name string, i interface{}) {
|
|
@@ -57,15 +58,15 @@ func LogScaled(r Registry, freq time.Duration, scale time.Duration, l *log.Logge
|
|
|
ps := t.Percentiles([]float64{0.5, 0.75, 0.95, 0.99, 0.999})
|
|
ps := t.Percentiles([]float64{0.5, 0.75, 0.95, 0.99, 0.999})
|
|
|
l.Printf("timer %s\n", name)
|
|
l.Printf("timer %s\n", name)
|
|
|
l.Printf(" count: %9d\n", t.Count())
|
|
l.Printf(" count: %9d\n", t.Count())
|
|
|
- l.Printf(" min: %12.2f\n", float64(t.Min())/du)
|
|
|
|
|
- l.Printf(" max: %12.2f\n", float64(t.Max())/du)
|
|
|
|
|
- l.Printf(" mean: %12.2f\n", t.Mean()/du)
|
|
|
|
|
- l.Printf(" stddev: %12.2f\n", t.StdDev()/du)
|
|
|
|
|
- l.Printf(" median: %12.2f\n", ps[0]/du)
|
|
|
|
|
- l.Printf(" 75%%: %12.2f\n", ps[1]/du)
|
|
|
|
|
- l.Printf(" 95%%: %12.2f\n", ps[2]/du)
|
|
|
|
|
- l.Printf(" 99%%: %12.2f\n", ps[3]/du)
|
|
|
|
|
- l.Printf(" 99.9%%: %12.2f\n", ps[4]/du)
|
|
|
|
|
|
|
+ l.Printf(" min: %12.2f%s\n", float64(t.Min())/du, duSuffix)
|
|
|
|
|
+ l.Printf(" max: %12.2f%s\n", float64(t.Max())/du, duSuffix)
|
|
|
|
|
+ l.Printf(" mean: %12.2f%s\n", t.Mean()/du, duSuffix)
|
|
|
|
|
+ l.Printf(" stddev: %12.2f%s\n", t.StdDev()/du, duSuffix)
|
|
|
|
|
+ l.Printf(" median: %12.2f%s\n", ps[0]/du, duSuffix)
|
|
|
|
|
+ l.Printf(" 75%%: %12.2f%s\n", ps[1]/du, duSuffix)
|
|
|
|
|
+ l.Printf(" 95%%: %12.2f%s\n", ps[2]/du, duSuffix)
|
|
|
|
|
+ l.Printf(" 99%%: %12.2f%s\n", ps[3]/du, duSuffix)
|
|
|
|
|
+ l.Printf(" 99.9%%: %12.2f%s\n", ps[4]/du, duSuffix)
|
|
|
l.Printf(" 1-min rate: %12.2f\n", t.Rate1())
|
|
l.Printf(" 1-min rate: %12.2f\n", t.Rate1())
|
|
|
l.Printf(" 5-min rate: %12.2f\n", t.Rate5())
|
|
l.Printf(" 5-min rate: %12.2f\n", t.Rate5())
|
|
|
l.Printf(" 15-min rate: %12.2f\n", t.Rate15())
|
|
l.Printf(" 15-min rate: %12.2f\n", t.Rate15())
|