Introduce a configuration to define time lapse for rate limiter
Before this change, rate limiter was executed every hour. Sometimes, a
sudden high memory demand on a short period of time happens caused by
high number of clones and fetches. Also, the user gets blocked from
fetching information due to reaching the limit per hour.
This change introduces an optional configurable field "timelapse". This
field defines a duration in minutes supported by the rate-limiter
plugin. This helps address the potential problem of sudden high memory
demand by configuring the number of uploaded packs over smaller amount
of time. If this field is not defined or is defined for a value higher
than or equal to 60, the default value of 60 minutes is established and
a warning message is logged.
This change also adapts the warnings provided by the rate limiter to
reflect the time lapse of the plugin.
Bug: Issue 10302
11 files changed