Merge branch 'pawel/update_prometheus' into 'master'
Update Prometheus gem to version that explicitly calls `munmap` See merge request !12955
This commit is contained in:
commit
045e4de472
8 changed files with 22 additions and 14 deletions
2
Gemfile
2
Gemfile
|
@ -281,7 +281,7 @@ group :metrics do
|
|||
gem 'influxdb', '~> 0.2', require: false
|
||||
|
||||
# Prometheus
|
||||
gem 'prometheus-client-mmap', '~>0.7.0.beta5'
|
||||
gem 'prometheus-client-mmap', '~>0.7.0.beta9'
|
||||
gem 'raindrops', '~> 0.18'
|
||||
end
|
||||
|
||||
|
|
|
@ -592,7 +592,7 @@ GEM
|
|||
premailer-rails (1.9.7)
|
||||
actionmailer (>= 3, < 6)
|
||||
premailer (~> 1.7, >= 1.7.9)
|
||||
prometheus-client-mmap (0.7.0.beta8)
|
||||
prometheus-client-mmap (0.7.0.beta9)
|
||||
mmap2 (~> 2.2, >= 2.2.7)
|
||||
pry (0.10.4)
|
||||
coderay (~> 1.1.0)
|
||||
|
@ -1042,7 +1042,7 @@ DEPENDENCIES
|
|||
pg (~> 0.18.2)
|
||||
poltergeist (~> 1.9.0)
|
||||
premailer-rails (~> 1.9.7)
|
||||
prometheus-client-mmap (~> 0.7.0.beta5)
|
||||
prometheus-client-mmap (~> 0.7.0.beta9)
|
||||
pry-byebug (~> 3.4.1)
|
||||
pry-rails (~> 0.3.4)
|
||||
rack-attack (~> 4.4.1)
|
||||
|
|
|
@ -31,6 +31,6 @@ class MetricsService
|
|||
end
|
||||
|
||||
def multiprocess_metrics_path
|
||||
@multiprocess_metrics_path ||= Rails.root.join(ENV['prometheus_multiproc_dir']).freeze
|
||||
::Prometheus::Client.configuration.multiprocess_files_dir
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,8 +4,3 @@ require 'rubygems'
|
|||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
|
||||
|
||||
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
|
||||
|
||||
# set default directory for multiproces metrics gathering
|
||||
if ENV['RAILS_ENV'] == 'development' || ENV['RAILS_ENV'] == 'test'
|
||||
ENV['prometheus_multiproc_dir'] ||= 'tmp/prometheus_multiproc_dir'
|
||||
end
|
||||
|
|
12
config/initializers/7_prometheus_metrics.rb
Normal file
12
config/initializers/7_prometheus_metrics.rb
Normal file
|
@ -0,0 +1,12 @@
|
|||
require 'prometheus/client'
|
||||
|
||||
Prometheus::Client.configure do |config|
|
||||
config.logger = Rails.logger
|
||||
|
||||
config.initial_mmap_file_size = 4 * 1024
|
||||
config.multiprocess_files_dir = ENV['prometheus_multiproc_dir']
|
||||
|
||||
if Rails.env.development? && Rails.env.test?
|
||||
config.multiprocess_files_dir ||= Rails.root.join('tmp/prometheus_multiproc_dir')
|
||||
end
|
||||
end
|
|
@ -6,9 +6,11 @@ module Gitlab
|
|||
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'])
|
||||
multiprocess_files_dir = ::Prometheus::Client.configuration.multiprocess_files_dir
|
||||
|
||||
multiprocess_files_dir &&
|
||||
::Dir.exist?(multiprocess_files_dir) &&
|
||||
::File.writable?(multiprocess_files_dir)
|
||||
end
|
||||
|
||||
def prometheus_metrics_enabled?
|
||||
|
|
|
@ -12,7 +12,7 @@ describe MetricsController do
|
|||
|
||||
before do
|
||||
stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false')
|
||||
stub_env('prometheus_multiproc_dir', metrics_multiproc_dir)
|
||||
allow(Prometheus::Client.configuration).to receive(:multiprocess_files_dir).and_return(metrics_multiproc_dir)
|
||||
allow(Gitlab::Metrics).to receive(:prometheus_metrics_enabled?).and_return(true)
|
||||
allow(Settings.monitoring).to receive(:ip_whitelist).and_return([whitelisted_ip, whitelisted_ip_range])
|
||||
end
|
||||
|
|
|
@ -3,7 +3,6 @@ SimpleCovEnv.start!
|
|||
|
||||
ENV["RAILS_ENV"] ||= 'test'
|
||||
ENV["IN_MEMORY_APPLICATION_SETTINGS"] = 'true'
|
||||
# ENV['prometheus_multiproc_dir'] = 'tmp/prometheus_multiproc_dir_test'
|
||||
|
||||
require File.expand_path("../../config/environment", __FILE__)
|
||||
require 'rspec/rails'
|
||||
|
|
Loading…
Reference in a new issue