summaryrefslogtreecommitdiff
path: root/lib/gitlab/prometheus/metric_group.rb
blob: d696a8fc00c356a4acf29d212e9635a9c2bd36c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
module Gitlab
  module Prometheus
    class MetricGroup
      include ActiveModel::Model

      attr_accessor :name, :priority, :metrics

      validates :name, :priority, :metrics, presence: true

      def self.common_metrics
        ::PrometheusMetric.common.group_by(&:group_title).map do |name, metrics|
          MetricGroup.new(name: name, priority: 0, metrics: metrics.map(&:to_query_metric))
        end
      end

      # EE only
      def self.for_project(_)
        common_metrics
      end
    end
  end
end