diff options
author | Jan Provaznik <jprovaznik@gitlab.com> | 2019-07-01 15:32:19 +0000 |
---|---|---|
committer | Kamil TrzciĆski <ayufan@ayufan.eu> | 2019-07-01 15:32:19 +0000 |
commit | 606261e8e7d6d7879a2b88c3c217df08b063c9fc (patch) | |
tree | c1a6dd029360ea2d8c2dd3225ce26beccaf6caf5 /config/initializers/7_prometheus_metrics.rb | |
parent | 59963779362b00723d79ae6190689ad0fccf729e (diff) | |
download | gitlab-ce-606261e8e7d6d7879a2b88c3c217df08b063c9fc.tar.gz |
Run do_master_restart callback on server start
We want to call master_restart callback on start too - this callback
is used for cleaning up prometheus files. It has been added to
Omnibus already:
https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/3350
So make sure that Unicorn example configs are up-to-date and that
the same callback is called for Puma too.
Diffstat (limited to 'config/initializers/7_prometheus_metrics.rb')
-rw-r--r-- | config/initializers/7_prometheus_metrics.rb | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/config/initializers/7_prometheus_metrics.rb b/config/initializers/7_prometheus_metrics.rb index 68f8487d377..54cdefc2a10 100644 --- a/config/initializers/7_prometheus_metrics.rb +++ b/config/initializers/7_prometheus_metrics.rb @@ -43,14 +43,21 @@ if !Rails.env.test? && Gitlab::Metrics.prometheus_metrics_enabled? end end -Gitlab::Cluster::LifecycleEvents.on_master_restart do +def cleanup_prometheus_multiproc_dir # The following is necessary to ensure stale Prometheus metrics don't # accumulate over time. It needs to be done in this hook as opposed to # inside an init script to ensure metrics files aren't deleted after new # unicorn workers start after a SIGUSR2 is received. - prometheus_multiproc_dir = ENV['prometheus_multiproc_dir'] - if prometheus_multiproc_dir - old_metrics = Dir[File.join(prometheus_multiproc_dir, '*.db')] + if dir = ::Prometheus::Client.configuration.multiprocess_files_dir + old_metrics = Dir[File.join(dir, '*.db')] FileUtils.rm_rf(old_metrics) end end + +Gitlab::Cluster::LifecycleEvents.on_master_start do + cleanup_prometheus_multiproc_dir +end + +Gitlab::Cluster::LifecycleEvents.on_master_restart do + cleanup_prometheus_multiproc_dir +end |