Adding upstream version 1.34.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
e393c3af3f
commit
4978089aab
4963 changed files with 677545 additions and 0 deletions
23
plugins/common/ratelimiter/config.go
Normal file
23
plugins/common/ratelimiter/config.go
Normal file
|
@ -0,0 +1,23 @@
|
|||
package ratelimiter
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"github.com/influxdata/telegraf/config"
|
||||
)
|
||||
|
||||
type RateLimitConfig struct {
|
||||
Limit config.Size `toml:"rate_limit"`
|
||||
Period config.Duration `toml:"rate_limit_period"`
|
||||
}
|
||||
|
||||
func (cfg *RateLimitConfig) CreateRateLimiter() (*RateLimiter, error) {
|
||||
if cfg.Limit > 0 && cfg.Period <= 0 {
|
||||
return nil, errors.New("invalid period for rate-limit")
|
||||
}
|
||||
return &RateLimiter{
|
||||
limit: int64(cfg.Limit),
|
||||
period: time.Duration(cfg.Period),
|
||||
}, nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue