gitlab-org--gitlab-foss/lib/gitlab/prometheus/metric_group.rb

31 lines
687 B
Ruby
Raw Normal View History

# frozen_string_literal: true
module Gitlab
module Prometheus
class MetricGroup
include ActiveModel::Model
attr_accessor :name, :priority, :metrics
validates :name, :priority, :metrics, presence: true
2018-02-23 12:58:40 -05:00
def self.common_metrics
all_groups = ::PrometheusMetric.common.group_by(&:group_title).map do |name, metrics|
MetricGroup.new(
name: name,
priority: metrics.map(&:priority).max,
metrics: metrics.map(&:to_query_metric)
)
end
all_groups.sort_by(&:priority).reverse
end
2018-02-23 12:58:40 -05:00
# EE only
def self.for_project(_)
common_metrics
end
end
end
end