diff --git a/metrics_server/metrics_server.rb b/metrics_server/metrics_server.rb index d1a64aa5b7924862beead5914d4b04776568e503..0516d711ffba1ba3ede22a14fc1c57bad27a7431 100644 --- a/metrics_server/metrics_server.rb +++ b/metrics_server/metrics_server.rb @@ -43,6 +43,7 @@ def spawn(target, metrics_dir:, **options) path = options[:path]&.then { |p| Pathname.new(p) } || Pathname.new('') cmd = path.join('gitlab-metrics-exporter').to_path env = { + 'GOGC' => '10', # Set Go GC heap goal to 10% to curb memory growth. 'GME_MMAP_METRICS_DIR' => metrics_dir.to_s, 'GME_PROBES' => 'self,mmap', 'GME_SERVER_HOST' => settings['address'], diff --git a/spec/metrics_server/metrics_server_spec.rb b/spec/metrics_server/metrics_server_spec.rb index c7716184d4865a8f4d938afc19238a7cfb12a20d..58577d4d633e6802853535022743ca6ab97eb5de 100644 --- a/spec/metrics_server/metrics_server_spec.rb +++ b/spec/metrics_server/metrics_server_spec.rb @@ -4,7 +4,7 @@ require_relative '../../metrics_server/metrics_server' -RSpec.describe MetricsServer do # rubocop:disable RSpec/FilePath +RSpec.describe MetricsServer, feature_category: :application_performance do # rubocop:disable RSpec/FilePath let(:prometheus_config) { ::Prometheus::Client.configuration } let(:metrics_dir) { Dir.mktmpdir } @@ -118,6 +118,7 @@ let(:expected_port) { target == 'puma' ? '8083' : '8082' } let(:expected_env) do { + 'GOGC' => '10', 'GME_MMAP_METRICS_DIR' => metrics_dir, 'GME_PROBES' => 'self,mmap', 'GME_SERVER_HOST' => 'localhost',