From 35c52c2476db8524f5d4e3c2c402522e449d74ef Mon Sep 17 00:00:00 2001 From: feistel <6742251-feistel@users.noreply.gitlab.com> Date: Mon, 1 Nov 2021 18:50:01 +0100 Subject: refactor: make internal/lru and internal/ratelimiter metrics optional --- app.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'app.go') diff --git a/app.go b/app.go index cddf8d49..c62078f7 100644 --- a/app.go +++ b/app.go @@ -31,6 +31,7 @@ import ( "gitlab.com/gitlab-org/gitlab-pages/internal/handlers" "gitlab.com/gitlab-org/gitlab-pages/internal/httperrors" "gitlab.com/gitlab-org/gitlab-pages/internal/logging" + "gitlab.com/gitlab-org/gitlab-pages/internal/lru" "gitlab.com/gitlab-org/gitlab-pages/internal/netutil" "gitlab.com/gitlab-org/gitlab-pages/internal/ratelimiter" "gitlab.com/gitlab-org/gitlab-pages/internal/rejectmethods" @@ -265,9 +266,13 @@ func (a *theApp) buildHandlerPipeline() (http.Handler, error) { if a.config.RateLimit.SourceIPLimitPerSecond > 0 { rl := ratelimiter.New( - metrics.RateLimitSourceIPBlockedCount, - metrics.RateLimitSourceIPCachedEntries, - metrics.RateLimitSourceIPCacheRequests, + lru.New("source_ip", + lru.DefaultSourceIPItems, + lru.DefaultSourceIPExpirationInterval, + lru.WithCachedEntriesMetric(metrics.RateLimitSourceIPCachedEntries), + lru.WithCachedRequestsMetric(metrics.RateLimitSourceIPCacheRequests), + ), + ratelimiter.WithBlockedCountMetric(metrics.RateLimitSourceIPBlockedCount), ratelimiter.WithSourceIPLimitPerSecond(a.config.RateLimit.SourceIPLimitPerSecond), ratelimiter.WithSourceIPBurstSize(a.config.RateLimit.SourceIPBurst), ) -- cgit v1.2.3