Skip to content

Commit 268e274

Browse files
pdoernerdnr
authored andcommitted
Log when health rate limiter value changes (#4648)
1 parent 32b4219 commit 268e274

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

common/log/tag/zap_tag.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,12 @@ func NewInt32(key string, value int32) ZapTag {
102102
}
103103
}
104104

105+
func NewFloat64(key string, value float64) ZapTag {
106+
return ZapTag{
107+
field: zap.Float64(key, value),
108+
}
109+
}
110+
105111
func NewBoolTag(key string, value bool) ZapTag {
106112
return ZapTag{
107113
field: zap.Bool(key, value),

common/persistence/client/health_request_rate_limiter.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,13 @@ func (rl *HealthRequestRateLimiterImpl) refreshRate() {
152152
rl.curRateMultiplier = math.Max(rl.minRateMultiplier, rl.curRateMultiplier-rl.curOptions.RateBackoffStepSize)
153153
rl.rateLimiter.SetRate(rl.curRateMultiplier * rl.rateFn())
154154
rl.rateLimiter.SetBurst(int(rl.rateToBurstRatio * rl.rateFn()))
155+
rl.logger.Info("Health threshold exceeded, reducing rate limit.", tag.NewFloat64("newMulti", rl.curRateMultiplier), tag.NewFloat64("newRate", rl.rateLimiter.Rate()), tag.NewFloat64("latencyAvg", rl.healthSignals.AverageLatency()), tag.NewFloat64("errorRatio", rl.healthSignals.ErrorRatio()))
155156
} else if rl.curRateMultiplier < rl.maxRateMultiplier {
156157
// already doing backoff and under thresholds, increase limit
157158
rl.curRateMultiplier = math.Min(rl.maxRateMultiplier, rl.curRateMultiplier+rl.curOptions.RateIncreaseStepSize)
158159
rl.rateLimiter.SetRate(rl.curRateMultiplier * rl.rateFn())
159160
rl.rateLimiter.SetBurst(int(rl.rateToBurstRatio * rl.rateFn()))
161+
rl.logger.Info("System healthy, increasing rate limit.", tag.NewFloat64("newMulti", rl.curRateMultiplier), tag.NewFloat64("newRate", rl.rateLimiter.Rate()), tag.NewFloat64("latencyAvg", rl.healthSignals.AverageLatency()), tag.NewFloat64("errorRatio", rl.healthSignals.ErrorRatio()))
160162
}
161163
}
162164

0 commit comments

Comments
 (0)