Ver código fonte

Passed in channel to anonymous function. Range over channel instead of using infinite loop. Changed from a buffered channel with a capacity of 1 to to an unbuffered channel. Ran gofmt.

Jason Yu 8 anos atrás
pai
commit
9886df69ab
1 arquivos alterados com 15 adições e 16 exclusões
  1. 15 16
      log.go

+ 15 - 16
log.go

@@ -22,12 +22,12 @@ func LogOnCue(r Registry, ch chan interface{}, l Logger) {
 // LogScaled outputs each metric in the given registry periodically using the given
 // logger. Print timings in `scale` units (eg time.Millisecond) rather than nanos.
 func LogScaled(r Registry, freq time.Duration, scale time.Duration, l Logger) {
-	ch := make(chan interface{}, 1)
-	go func() {
-		for _ = range time.Tick(freq) {
-			ch <- struct{}{}
+	ch := make(chan interface{})
+	go func(channel chan interface{}) {
+		for range time.Tick(freq) {
+			channel <- struct{}{}
 		}
-	}()
+	}(ch)
 	LogScaledOnCue(r, ch, scale, l)
 }
 
@@ -38,8 +38,7 @@ func LogScaledOnCue(r Registry, ch chan interface{}, scale time.Duration, l Logg
 	du := float64(scale)
 	duSuffix := scale.String()[1:]
 
-	for {
-		<-ch
+	for range ch {
 		r.Each(func(name string, i interface{}) {
 			switch metric := i.(type) {
 			case Counter:
@@ -82,15 +81,15 @@ func LogScaledOnCue(r Registry, ch chan interface{}, scale time.Duration, l Logg
 				ps := t.Percentiles([]float64{0.5, 0.75, 0.95, 0.99, 0.999})
 				l.Printf("timer %s\n", name)
 				l.Printf("  count:       %9d\n", t.Count())
-				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("  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("  5-min rate:  %12.2f\n", t.Rate5())
 				l.Printf("  15-min rate: %12.2f\n", t.Rate15())