Skip to content
Snippets Groups Projects
Commit c10d55a6 authored by Pawel Chojnacki's avatar Pawel Chojnacki
Browse files

Use only ENV for metrics folder location

parent 67269228
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -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'
Loading
Loading
@@ -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)
 
Loading
Loading
Loading
Loading
@@ -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__)
 
Loading
Loading
Loading
Loading
@@ -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
Loading
Loading
Loading
Loading
@@ -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
Loading
Loading
Loading
Loading
@@ -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
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment