summaryrefslogtreecommitdiff
path: root/lib/gitlab/prometheus/metric_group.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/prometheus/metric_group.rb')
-rw-r--r--lib/gitlab/prometheus/metric_group.rb41
1 files changed, 13 insertions, 28 deletions
diff --git a/lib/gitlab/prometheus/metric_group.rb b/lib/gitlab/prometheus/metric_group.rb
index 0dcd9dc0f36..c3b24dc1fa5 100644
--- a/lib/gitlab/prometheus/metric_group.rb
+++ b/lib/gitlab/prometheus/metric_group.rb
@@ -1,33 +1,18 @@
-module Gitlab::Prometheus
- class MetricGroup
- attr_reader :priority, :name
- attr_accessor :metrics
+module Gitlab
+ module Prometheus
+ class MetricGroup
+ attr_reader :priority, :name
+ attr_accessor :metrics
- def initialize(name, priority, metrics = [])
- @name = name
- @priority = priority
- @metrics = metrics
- end
-
- def self.all
- load_groups_from_yaml
- end
-
- def self.load_groups_from_yaml
- additional_metrics_raw.map(&method(:group_from_entry))
- end
-
- def self.group_from_entry(entry)
- missing_fields = [:group, :priority, :metrics].select { |key| !entry.has_key?(key) }
- raise ParsingError.new("entry missing required fields #{missing_fields}") unless missing_fields.empty?
-
- group = MetricGroup.new(entry[:group], entry[:priority])
- group.metrics = Metric.metrics_from_list(entry[:metrics])
- group
- end
+ def initialize(name:, priority:, metrics: [])
+ @name = name
+ @priority = priority
+ @metrics = metrics
+ end
- def self.additional_metrics_raw
- @additional_metrics_raw ||= YAML.load_file(Rails.root.join('config/additional_metrics.yml'))&.map(&:deep_symbolize_keys).freeze
+ def self.all
+ AdditionalMetricsParser.load_groups_from_yaml
+ end
end
end
end