diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2019-04-28 11:53:12 +0000 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2019-04-28 11:53:12 +0000 |
commit | 536d96a3e02daceca8398745cd27ab1e0f56711d (patch) | |
tree | 70c395ae775a7f56352aa88aaec9bd5810a555f3 /app/controllers/projects | |
parent | ddee4426c4bd3df8bde7936a6ffb0a1973a4d5a1 (diff) | |
parent | 0e093940e1135897b996a5f16239eca62cc6089e (diff) | |
download | gitlab-ce-536d96a3e02daceca8398745cd27ab1e0f56711d.tar.gz |
Merge branch '60383-setup-dashboard-endpoint' into 'master'
Create dashboards endpoint & setup dashboard post-processing
Closes #60383
See merge request gitlab-org/gitlab-ce!27405
Diffstat (limited to 'app/controllers/projects')
-rw-r--r-- | app/controllers/projects/environments_controller.rb | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/app/controllers/projects/environments_controller.rb b/app/controllers/projects/environments_controller.rb index e35f34be23c..1f619c8fd2f 100644 --- a/app/controllers/projects/environments_controller.rb +++ b/app/controllers/projects/environments_controller.rb @@ -10,8 +10,9 @@ class Projects::EnvironmentsController < Projects::ApplicationController before_action :environment, only: [:show, :edit, :update, :stop, :terminal, :terminal_websocket_authorize, :metrics] before_action :verify_api_request!, only: :terminal_websocket_authorize before_action :expire_etag_cache, only: [:index] - before_action only: [:metrics, :additional_metrics] do + before_action only: [:metrics, :additional_metrics, :metrics_dashboard] do push_frontend_feature_flag(:metrics_time_window) + push_frontend_feature_flag(:environment_metrics_use_prometheus_endpoint) end def index @@ -156,6 +157,20 @@ class Projects::EnvironmentsController < Projects::ApplicationController end end + def metrics_dashboard + return render_403 unless Feature.enabled?(:environment_metrics_use_prometheus_endpoint, @project) + + result = Gitlab::Metrics::Dashboard::Service.new(@project, @current_user, environment: environment).get_dashboard + + respond_to do |format| + if result[:status] == :success + format.json { render status: :ok, json: result } + else + format.json { render status: result[:http_status], json: result } + end + end + end + def search respond_to do |format| format.json do |