Use only ENV for metrics folder location
This commit is contained in:
parent
6726922890
commit
c10d55a6da
5 changed files with 12 additions and 15 deletions
|
@ -11,9 +11,9 @@ class MetricsController < ActionController::Base
|
|||
].freeze
|
||||
|
||||
def metrics
|
||||
render_404 unless Gitlab::Metrics.prometheus_metrics_enabled?
|
||||
return render_404 unless Gitlab::Metrics.prometheus_metrics_enabled?
|
||||
|
||||
metrics_text = Prometheus::Client::Formats::Text.marshal_multiprocess(Settings.gitlab['prometheus_multiproc_dir'])
|
||||
metrics_text = Prometheus::Client::Formats::Text.marshal_multiprocess(multiprocess_metrics_path)
|
||||
response = health_metrics_text + "\n" + metrics_text
|
||||
|
||||
render text: response, content_type: 'text/plain; version=0.0.4'
|
||||
|
@ -21,6 +21,10 @@ class MetricsController < ActionController::Base
|
|||
|
||||
private
|
||||
|
||||
def multiprocess_metrics_path
|
||||
Rails.root.join(ENV['prometheus_multiproc_dir'])
|
||||
end
|
||||
|
||||
def health_metrics_text
|
||||
results = CHECKS.flat_map(&:metrics)
|
||||
|
||||
|
|
|
@ -13,10 +13,9 @@ if defined?(Unicorn)
|
|||
# Max memory size (RSS) per worker
|
||||
use Unicorn::WorkerKiller::Oom, min, max
|
||||
end
|
||||
|
||||
# TODO(lyda): Needs to be set externally.
|
||||
ENV['prometheus_multiproc_dir'] = '/tmp/somestuff'
|
||||
end
|
||||
# set default for multiproces metrics gathering
|
||||
ENV['prometheus_multiproc_dir'] ||= 'tmp/prometheus_data_dir'
|
||||
|
||||
require ::File.expand_path('../config/environment', __FILE__)
|
||||
|
||||
|
|
|
@ -102,11 +102,6 @@ production: &base
|
|||
# The default is 'shared/cache/archive/' relative to the root of the Rails app.
|
||||
# repository_downloads_path: shared/cache/archive/
|
||||
|
||||
## Prometheus Client Data directory
|
||||
# To be used efficiently in multiprocess Ruby setup like Unicorn, Prometheus client needs to share metrics with other instances.
|
||||
# The default is 'tmp/prometheus_data_dir' relative to Rails.root
|
||||
# prometheus_multiproc_dir: tmp/prometheus_data_dir
|
||||
|
||||
## Reply by email
|
||||
# Allow users to comment on issues and merge requests by replying to notification emails.
|
||||
# For documentation on how to set this up, see http://doc.gitlab.com/ce/administration/reply_by_email.html
|
||||
|
|
|
@ -242,7 +242,6 @@ Settings.gitlab['import_sources'] ||= %w[github bitbucket gitlab google_code fog
|
|||
Settings.gitlab['trusted_proxies'] ||= []
|
||||
Settings.gitlab['no_todos_messages'] ||= YAML.load_file(Rails.root.join('config', 'no_todos_messages.yml'))
|
||||
Settings.gitlab['usage_ping_enabled'] = true if Settings.gitlab['usage_ping_enabled'].nil?
|
||||
Settings.gitlab['prometheus_multiproc_dir'] ||= ENV['prometheus_multiproc_dir'] || 'tmp/prometheus_data_dir'
|
||||
|
||||
#
|
||||
# CI
|
||||
|
|
|
@ -38,10 +38,10 @@ Rails.application.routes.draw do
|
|||
# Health check
|
||||
get 'health_check(/:checks)' => 'health_check#index', as: :health_check
|
||||
|
||||
scope path: '-', controller: 'health' do
|
||||
get :liveness
|
||||
get :readiness
|
||||
get :metrics
|
||||
scope path: '-' do
|
||||
get 'liveness' => 'health#liveness'
|
||||
get 'readiness' => 'health#readiness'
|
||||
get 'metrics' => 'metrics#metrics'
|
||||
end
|
||||
|
||||
# Koding route
|
||||
|
|
Loading…
Reference in a new issue