From 8d3685fadf0fad14d2876d1817e47e7f317492a2 Mon Sep 17 00:00:00 2001 From: congqixia Date: Thu, 29 Aug 2024 19:09:01 +0800 Subject: [PATCH] enhance: [2.4] Print log only when rate limit updates (#35806) (#35816) Cherry-pick from master pr: #35806 The debug log for "RateLimiter register for rateType" is too frequent and in e2e cases, the may print 18M times in one run. This PR make the log be printed only when rate limit is updated. Signed-off-by: Congqi Xia --- internal/proxy/simple_rate_limiter.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/internal/proxy/simple_rate_limiter.go b/internal/proxy/simple_rate_limiter.go index 56acebcca0..c05a596412 100644 --- a/internal/proxy/simple_rate_limiter.go +++ b/internal/proxy/simple_rate_limiter.go @@ -221,17 +221,22 @@ func initLimiter(rln *rlinternal.RateLimiterNode, rateLimiterConfigs map[interna newLimit := ratelimitutil.Limit(p.GetAsFloat()) burst := p.GetAsFloat() // use rate as burst, because SimpleLimiter is with punishment mechanism, burst is insignificant. old, ok := rln.GetLimiters().Get(rt) + updated := false if ok { if old.Limit() != newLimit { old.SetLimit(newLimit) + updated = true } } else { rln.GetLimiters().Insert(rt, ratelimitutil.NewLimiter(newLimit, burst)) + updated = true + } + if updated { + log.Debug("RateLimiter register for rateType", + zap.String("rateType", internalpb.RateType_name[(int32(rt))]), + zap.String("rateLimit", newLimit.String()), + zap.String("burst", fmt.Sprintf("%v", burst))) } - log.Debug("RateLimiter register for rateType", - zap.String("rateType", internalpb.RateType_name[(int32(rt))]), - zap.String("rateLimit", newLimit.String()), - zap.String("burst", fmt.Sprintf("%v", burst))) } }