Procházet zdrojové kódy

Readd channel on producer performance tool

The channel removed in da81d9c was actually necessary
to ensure that the final metrics are printed after the
periodic ones are all finished.
AJ Yoo před 7 roky
rodič
revize
6c7fa2cd19
1 změnil soubory, kde provedl 3 přidání a 1 odebrání
  1. 3 1
      tools/kafka-producer-performance/main.go

+ 3 - 1
tools/kafka-producer-performance/main.go

@@ -227,8 +227,10 @@ func main() {
 	}
 
 	// Print out metrics periodically.
+	done := make(chan struct{})
 	ctx, cancel := context.WithCancel(context.Background())
 	go func(ctx context.Context) {
+		defer close(done)
 		t := time.Tick(5 * time.Second)
 		for {
 			select {
@@ -250,7 +252,7 @@ func main() {
 	}
 
 	cancel()
-	<-ctx.Done()
+	<-done
 
 	// Print final metrics.
 	printMetrics(os.Stdout, config.MetricRegistry)