summaryrefslogtreecommitdiff
path: root/app/models/deployment.rb
diff options
context:
space:
mode:
authorThong Kuah <tkuah@gitlab.com>2019-07-01 21:40:59 +1200
committerThong Kuah <tkuah@gitlab.com>2019-07-08 09:13:21 +1200
commitd2ba2951f737082edd568505f985ebf9a0808be7 (patch)
tree7da25a607c16810546f6ea57e5354ba145029918 /app/models/deployment.rb
parent1b5b0dea5228ae7fd520c8bca3f03c4799a4d31d (diff)
downloadgitlab-ce-d2ba2951f737082edd568505f985ebf9a0808be7.tar.gz
Extract deployment_metrics into own object
We can now share project so that we don't have to load project twice. Also, this extracts non-relevant logic out of Deployment. Update DeploymentsController accordingly
Diffstat (limited to 'app/models/deployment.rb')
-rw-r--r--app/models/deployment.rb32
1 files changed, 0 insertions, 32 deletions
diff --git a/app/models/deployment.rb b/app/models/deployment.rb
index 3b31e7b1333..ad32ec3f1d5 100644
--- a/app/models/deployment.rb
+++ b/app/models/deployment.rb
@@ -176,40 +176,8 @@ class Deployment < ApplicationRecord
deployed_at&.to_time&.in_time_zone&.to_s(:medium)
end
- def has_metrics?
- success? && prometheus_adapter&.can_query?
- end
-
- def metrics
- return {} unless has_metrics?
-
- metrics = prometheus_adapter.query(:deployment, self)
- metrics&.merge(deployment_time: finished_at.to_i) || {}
- end
-
- def additional_metrics
- return {} unless has_metrics?
-
- metrics = prometheus_adapter.query(:additional_metrics_deployment, self)
- metrics&.merge(deployment_time: finished_at.to_i) || {}
- end
-
private
- def prometheus_adapter
- service = project.find_or_initialize_service('prometheus')
-
- if service.can_query?
- service
- else
- cluster_prometheus
- end
- end
-
- def cluster_prometheus
- cluster.application_prometheus if cluster&.application_prometheus_available?
- end
-
def ref_path
File.join(environment.ref_path, 'deployments', iid.to_s)
end