diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-02-10 21:15:20 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-02-10 21:15:20 +0000 |
commit | 9abffa14d6395d56b77313541d63e0c12ae2b602 (patch) | |
tree | 55eb69304c835d5e0b49344d331ee851add9647a /metrics_server | |
parent | e0277d5393d958865fdec470176ac5874edded06 (diff) | |
download | gitlab-ce-9abffa14d6395d56b77313541d63e0c12ae2b602.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'metrics_server')
-rw-r--r-- | metrics_server/dependencies.rb | 1 | ||||
-rw-r--r-- | metrics_server/metrics_server.rb | 17 |
2 files changed, 13 insertions, 5 deletions
diff --git a/metrics_server/dependencies.rb b/metrics_server/dependencies.rb index 5615cef42ce..02cec1173e0 100644 --- a/metrics_server/dependencies.rb +++ b/metrics_server/dependencies.rb @@ -23,6 +23,7 @@ require_relative '../lib/gitlab/metrics/system' require_relative '../lib/gitlab/metrics/samplers/base_sampler' require_relative '../lib/gitlab/metrics/samplers/ruby_sampler' require_relative '../lib/gitlab/metrics/exporter/base_exporter' +require_relative '../lib/gitlab/metrics/exporter/web_exporter' require_relative '../lib/gitlab/metrics/exporter/sidekiq_exporter' require_relative '../lib/gitlab/metrics/exporter/metrics_middleware' require_relative '../lib/gitlab/metrics/exporter/health_checks_middleware' diff --git a/metrics_server/metrics_server.rb b/metrics_server/metrics_server.rb index 68d39eaf77c..f1bcd6f611e 100644 --- a/metrics_server/metrics_server.rb +++ b/metrics_server/metrics_server.rb @@ -7,7 +7,7 @@ require_relative 'dependencies' class MetricsServer # rubocop:disable Gitlab/NamespacedClass class << self def spawn(target, metrics_dir:, wipe_metrics_dir: false, trapped_signals: []) - raise "The only valid target is 'sidekiq' currently" unless target == 'sidekiq' + raise "Target must be one of [puma,sidekiq]" unless %w(puma sidekiq).include?(target) pid = Process.fork @@ -52,11 +52,18 @@ class MetricsServer # rubocop:disable Gitlab/NamespacedClass # Warming up ensures that these files exist prior to the exporter starting up. Gitlab::Metrics::Samplers::RubySampler.initialize_instance(prefix: name, warmup: true).start - exporter_class = "Gitlab::Metrics::Exporter::#{@target.camelize}Exporter".constantize - settings = Settings.new(Settings.monitoring[name]) - server = exporter_class.instance(settings, gc_requests: true, synchronous: true) + default_opts = { gc_requests: true, synchronous: true } + exporter = + case @target + when 'puma' + Gitlab::Metrics::Exporter::WebExporter.instance(**default_opts) + else + exporter_class = "Gitlab::Metrics::Exporter::#{@target.camelize}Exporter".constantize + settings = Settings.new(Settings.monitoring[name]) + exporter_class.instance(settings, **default_opts) + end - server.start + exporter.start end def name |