diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-04 06:06:05 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-04 06:06:05 +0000 |
commit | 535d167d40638105527bc6c9a86f33d2ffd62743 (patch) | |
tree | 27c73f33497378f6bb84840223ce7d3fda42cc0a /config/initializers/7_prometheus_metrics.rb | |
parent | bee11af56deccfd13243cf5f31d42bd992404066 (diff) | |
download | gitlab-ce-535d167d40638105527bc6c9a86f33d2ffd62743.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'config/initializers/7_prometheus_metrics.rb')
-rw-r--r-- | config/initializers/7_prometheus_metrics.rb | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/config/initializers/7_prometheus_metrics.rb b/config/initializers/7_prometheus_metrics.rb index c55c14497b4..c5cd055f4ff 100644 --- a/config/initializers/7_prometheus_metrics.rb +++ b/config/initializers/7_prometheus_metrics.rb @@ -35,7 +35,7 @@ Sidekiq.configure_server do |config| # webserver metrics are cleaned up in config.ru: `warmup` block Prometheus::CleanupMultiprocDirService.new.execute - Gitlab::Metrics::SidekiqMetricsExporter.instance.start + Gitlab::Metrics::Exporter::SidekiqExporter.instance.start end end @@ -58,3 +58,24 @@ if !Rails.env.test? && Gitlab::Metrics.prometheus_metrics_enabled? Gitlab::Metrics::RequestsRackMiddleware.initialize_http_request_duration_seconds end end + +if defined?(::Unicorn) || defined?(::Puma) + Gitlab::Cluster::LifecycleEvents.on_master_start do + Gitlab::Metrics::Exporter::WebExporter.instance.start + end + + Gitlab::Cluster::LifecycleEvents.on_before_master_restart do + # We need to ensure that before we re-exec server + # we do stop the exporter + Gitlab::Metrics::Exporter::WebExporter.instance.stop + end + + Gitlab::Cluster::LifecycleEvents.on_worker_start do + # The `#close_on_exec=` takes effect only on `execve` + # but this does not happen for Ruby fork + # + # This does stop server, as it is running on master. + # However, ensures that we close the TCPSocket. + Gitlab::Metrics::Exporter::WebExporter.instance.stop + end +end |