Module: Labkit::RateLimit::Metrics

Defined in:
lib/labkit/rate_limit/metrics.rb

Class Method Summary collapse

Class Method Details

.calls_totalObject

:log rules are non-terminating: a check that matched only :log rules increments calls_total once per matched :log rule AND once with rule=“unmatched”, action=“allow”, since no terminating decision was made.



11
12
13
14
15
16
17
# File 'lib/labkit/rate_limit/metrics.rb', line 11

def calls_total
  Labkit::Metrics::Client.counter(
    :gitlab_labkit_rate_limiter_calls_total,
    'Total number of successful rate limit checks',
    { rate_limiter: nil, rule: nil, action: nil }
  )
end

.errors_totalObject



19
20
21
22
23
24
25
# File 'lib/labkit/rate_limit/metrics.rb', line 19

def errors_total
  Labkit::Metrics::Client.counter(
    :gitlab_labkit_rate_limiter_errors_total,
    'Total number of rate limit check errors',
    { rate_limiter: nil }
  )
end

.limit_gaugeObject



27
28
29
30
31
32
33
34
# File 'lib/labkit/rate_limit/metrics.rb', line 27

def limit_gauge
  Labkit::Metrics::Client.gauge(
    :gitlab_labkit_rate_limiter_limit,
    'The configured rate limit threshold',
    { rate_limiter: nil, rule: nil },
    :max
  )
end

.period_gaugeObject



36
37
38
39
40
41
42
43
# File 'lib/labkit/rate_limit/metrics.rb', line 36

def period_gauge
  Labkit::Metrics::Client.gauge(
    :gitlab_labkit_rate_limiter_period_seconds,
    'The configured rate limit period in seconds',
    { rate_limiter: nil, rule: nil },
    :max
  )
end