Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLin Jen-Shin <godfat@godfat.org>2019-07-08 16:07:21 +0300
committerLin Jen-Shin <godfat@godfat.org>2019-07-08 16:07:21 +0300
commit886521c7e563e04574fd803a22476f1158961fad (patch)
tree642291847190298979eff5e3e4a06ca43039b8d7 /app/controllers/projects/deployments_controller.rb
parentd14d1340c6d26a132e8db1f9b883aa87276b457c (diff)
parent56c129293578cb620daf1c19b1bc61cd18d9fa83 (diff)
Merge branch '63475-fix-n-1' into 'master'
Reduce N+1 queries in MergeRequestsController#ci_environment_status See merge request gitlab-org/gitlab-ce!30224
Diffstat (limited to 'app/controllers/projects/deployments_controller.rb')
-rw-r--r--app/controllers/projects/deployments_controller.rb14
1 files changed, 8 insertions, 6 deletions
diff --git a/app/controllers/projects/deployments_controller.rb b/app/controllers/projects/deployments_controller.rb
index 0a009477d61..32111b07a0b 100644
--- a/app/controllers/projects/deployments_controller.rb
+++ b/app/controllers/projects/deployments_controller.rb
@@ -15,24 +15,22 @@ class Projects::DeploymentsController < Projects::ApplicationController
# rubocop: enable CodeReuse/ActiveRecord
def metrics
- return render_404 unless deployment.has_metrics?
+ return render_404 unless deployment_metrics.has_metrics?
- @metrics = deployment.metrics
+ @metrics = deployment_metrics.metrics
if @metrics&.any?
render json: @metrics, status: :ok
else
head :no_content
end
- rescue NotImplementedError
- render_404
end
def additional_metrics
- return render_404 unless deployment.has_metrics?
+ return render_404 unless deployment_metrics.has_metrics?
respond_to do |format|
format.json do
- metrics = deployment.additional_metrics
+ metrics = deployment_metrics.additional_metrics
if metrics.any?
render json: metrics
@@ -45,6 +43,10 @@ class Projects::DeploymentsController < Projects::ApplicationController
private
+ def deployment_metrics
+ @deployment_metrics ||= DeploymentMetrics.new(deployment.project, deployment)
+ end
+
# rubocop: disable CodeReuse/ActiveRecord
def deployment
@deployment ||= environment.deployments.find_by(iid: params[:id])