diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2017-06-20 16:42:02 +0300 |
---|---|---|
committer | Clement Ho <ClemMakesApps@gmail.com> | 2017-06-20 18:41:22 +0300 |
commit | 416b61e010090c61e9e3690afa1925b2509f9ad3 (patch) | |
tree | ddcca42ba297fa10361798d81048c8cf12909440 /lib | |
parent | 9c763521859771653472b60795077c7f6512f971 (diff) |
Merge branch '33823_do_not_enable_defaults_when_metrics_folder_is_missing' into 'master'
Do not enable prometheus metrics when metrics folder is missing
See merge request !12263
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/metrics/prometheus.rb | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/gitlab/metrics/prometheus.rb b/lib/gitlab/metrics/prometheus.rb index 60686509332..9d314a56e58 100644 --- a/lib/gitlab/metrics/prometheus.rb +++ b/lib/gitlab/metrics/prometheus.rb @@ -5,8 +5,16 @@ 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 + return @prometheus_metrics_enabled if defined?(@prometheus_metrics_enabled) + + @prometheus_metrics_enabled = prometheus_metrics_enabled_unmemoized end def registry @@ -36,6 +44,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 |