Procházet zdrojové kódy

Fix rate limiting for logger, increase refill rate

Signed-off-by: Ethan Mosbaugh <ethan@replicated.com>
Ethan Mosbaugh před 6 roky
rodič
revize
50c6a5fb07
1 změnil soubory, kde provedl 3 přidání a 1 odebrání
  1. 3 1
      daemon/cluster/executor/container/controller.go

+ 3 - 1
daemon/cluster/executor/container/controller.go

@@ -508,7 +508,9 @@ func (r *controller) Logs(ctx context.Context, publisher exec.LogPublisher, opti
 	var (
 		// use a rate limiter to keep things under control but also provides some
 		// ability coalesce messages.
-		limiter = rate.NewLimiter(rate.Every(time.Second), 10<<20) // 10 MB/s
+		// this will implement a "token bucket" of size 10 MB, initially full and refilled
+		// at rate 10 MB tokens per second.
+		limiter = rate.NewLimiter(10<<20, 10<<20) // 10 MB/s
 		msgctx  = api.LogContext{
 			NodeID:    r.task.NodeID,
 			ServiceID: r.task.ServiceID,