Method: Gitlab::Metrics::Samplers::BaseSampler#initialize

Defined in:
lib/gitlab/metrics/samplers/base_sampler.rb

#initialize(interval: nil, logger: Logger.new($stdout), warmup: false, **options) ⇒ BaseSampler

interval - The sampling interval in seconds. warmup - When true, takes a single sample eagerly before entering the sampling loop.

This can be useful to ensure that all metrics files exist after `start` returns,
since prometheus-client-mmap creates them lazily upon first access.


15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/gitlab/metrics/samplers/base_sampler.rb', line 15

def initialize(interval: nil, logger: Logger.new($stdout), warmup: false, **options)
  interval ||= ENV[interval_env_key]&.to_i
  interval ||= self.class::DEFAULT_SAMPLING_INTERVAL_SECONDS
  interval_half = interval.to_f / 2

  @interval = interval
  @interval_steps = (-interval_half..interval_half).step(0.1).to_a

  @logger = logger
  @warmup = warmup

  super(**options)
end