diff options
author | Pawel Chojnacki <pawel@chojnacki.ws> | 2017-06-15 23:41:47 +0200 |
---|---|---|
committer | Pawel Chojnacki <pawel@chojnacki.ws> | 2017-06-19 18:52:23 +0200 |
commit | ed5c7d11b19c9507206ada5c6e12eef477370fa9 (patch) | |
tree | bfcc3cf34e741d558645821e486ecabc73c507e2 /lib | |
parent | a4a5cbf29a983d05b5fc69f8e63fc37e100c8637 (diff) | |
download | gitlab-ce-ed5c7d11b19c9507206ada5c6e12eef477370fa9.tar.gz |
Do not enable prometheus metrics when data folder is not present.
+ Set defaults correctly only for when not in production or staging
+ set ENV['prometheus_multiproc_dir'] in config/boot.rb instead of config.ru
Test prometheus metrics unmemoized
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/metrics/prometheus.rb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/gitlab/metrics/prometheus.rb b/lib/gitlab/metrics/prometheus.rb index 60686509332..25421c0a92f 100644 --- a/lib/gitlab/metrics/prometheus.rb +++ b/lib/gitlab/metrics/prometheus.rb @@ -5,8 +5,13 @@ module Gitlab module Prometheus include Gitlab::CurrentSettings + def metrics_folder_present? + ENV.has_key?('prometheus_multiproc_dir') && ::Dir.exist?(ENV['prometheus_multiproc_dir']) && + ::File.writable?(ENV['prometheus_multiproc_dir']) + end + def prometheus_metrics_enabled? - @prometheus_metrics_enabled ||= current_application_settings[:prometheus_metrics_enabled] || false + @prometheus_metrics_enabled ||= prometheus_metrics_enabled_unmemoized end def registry @@ -36,6 +41,12 @@ module Gitlab NullMetric.new end end + + private + + def prometheus_metrics_enabled_unmemoized + metrics_folder_present? && current_application_settings[:prometheus_metrics_enabled] || false + end end end end |