NewRateLimitedLogger returns a new RateLimitedLogger that logs at most logsPerSecond messages per second. TODO: migrate to the dskit rate limited logger
(logsPerSecond int, logger gkLog.Logger)
| 23 | // NewRateLimitedLogger returns a new RateLimitedLogger that logs at most logsPerSecond messages per second. |
| 24 | // TODO: migrate to the dskit rate limited logger |
| 25 | func NewRateLimitedLogger(logsPerSecond int, logger gkLog.Logger) *RateLimitedLogger { |
| 26 | return &RateLimitedLogger{ |
| 27 | limiter: rate.NewLimiter(rate.Limit(logsPerSecond), 1), |
| 28 | logger: logger, |
| 29 | } |
| 30 | } |
| 31 | |
| 32 | func (l *RateLimitedLogger) Log(keyvals ...interface{}) { |
| 33 | if !l.limiter.AllowN(time.Now(), 1) { |