diff options
-rw-r--r-- | lib/gitlab/prometheus/metric.rb | 2 | ||||
-rw-r--r-- | lib/gitlab/prometheus/queries/query_additional_metrics.rb | 6 | ||||
-rw-r--r-- | spec/models/clusters/applications/prometheus_spec.rb | 12 |
3 files changed, 12 insertions, 8 deletions
diff --git a/lib/gitlab/prometheus/metric.rb b/lib/gitlab/prometheus/metric.rb index f54b2c6aaff..13cc59df795 100644 --- a/lib/gitlab/prometheus/metric.rb +++ b/lib/gitlab/prometheus/metric.rb @@ -3,7 +3,7 @@ module Gitlab class Metric include ActiveModel::Model - attr_accessor :title, :required_metrics, :weight, :y_label, :queries + attr_accessor :id, :title, :required_metrics, :weight, :y_label, :queries validates :title, :required_metrics, :weight, :y_label, :queries, presence: true diff --git a/lib/gitlab/prometheus/queries/query_additional_metrics.rb b/lib/gitlab/prometheus/queries/query_additional_metrics.rb index ddddc299240..3be35f189d0 100644 --- a/lib/gitlab/prometheus/queries/query_additional_metrics.rb +++ b/lib/gitlab/prometheus/queries/query_additional_metrics.rb @@ -14,12 +14,16 @@ module Gitlab lambda do |group| metrics = group.metrics.map do |metric| - { + metric_hsh = { title: metric.title, weight: metric.weight, y_label: metric.y_label, queries: metric.queries.map(&query_processor).select(&method(:query_with_result)) } + + metric_hsh[:id] = metric.id if metric.id + + metric_hsh end { diff --git a/spec/models/clusters/applications/prometheus_spec.rb b/spec/models/clusters/applications/prometheus_spec.rb index 784b60fef8d..e4b61552033 100644 --- a/spec/models/clusters/applications/prometheus_spec.rb +++ b/spec/models/clusters/applications/prometheus_spec.rb @@ -41,37 +41,37 @@ describe Clusters::Applications::Prometheus do it 'returns true when installed' do application = build(:clusters_applications_prometheus, :installed, cluster: cluster) - expect(application.ready?).to be true + expect(application).to be_ready end it 'returns false when not_installable' do application = build(:clusters_applications_prometheus, :not_installable, cluster: cluster) - expect(application.ready?).to be false + expect(application).not_to be_ready end it 'returns false when installable' do application = build(:clusters_applications_prometheus, :installable, cluster: cluster) - expect(application.ready?).to be false + expect(application).not_to be_ready end it 'returns false when scheduled' do application = build(:clusters_applications_prometheus, :scheduled, cluster: cluster) - expect(application.ready?).to be false + expect(application).not_to be_ready end it 'returns false when installing' do application = build(:clusters_applications_prometheus, :installing, cluster: cluster) - expect(application.ready?).to be false + expect(application).not_to be_ready end it 'returns false when errored' do application = build(:clusters_applications_prometheus, :errored, cluster: cluster) - expect(application.ready?).to be false + expect(application).not_to be_ready end end |