diff options
Diffstat (limited to 'lib/gitlab/prometheus/metric.rb')
-rw-r--r-- | lib/gitlab/prometheus/metric.rb | 38 |
1 files changed, 12 insertions, 26 deletions
diff --git a/lib/gitlab/prometheus/metric.rb b/lib/gitlab/prometheus/metric.rb index 777cf030ceb..5155064317c 100644 --- a/lib/gitlab/prometheus/metric.rb +++ b/lib/gitlab/prometheus/metric.rb @@ -1,29 +1,15 @@ -module Gitlab::Prometheus - class Metric - attr_reader :group, :title, :detect, :weight, :y_label, :queries - - def initialize(group, title, detect, weight, y_label, queries = []) - @group = group - @title = title - @detect = detect - @weight = weight - @y_label = y_label || 'Values' - @queries = queries - end - - def self.metric_from_entry(group, entry) - missing_fields = [:title, :detect, :weight, :queries].select { |key| !entry.has_key?(key) } - raise ParsingError.new("entry missing required fields #{missing_fields}") unless missing_fields.empty? - - Metric.new(group, entry[:title], entry[:detect], entry[:weight], entry[:y_label],entry[:queries]) - end - - def self.metrics_from_list(group, list) - list.map { |entry| metric_from_entry(group, entry) } - end - - def self.additional_metrics_raw - @additional_metrics_raw ||= YAML.load_file(Rails.root.join('config/additional_metrics.yml')).map(&:deep_symbolize_keys) +module Gitlab + module Prometheus + class Metric + attr_reader :group, :title, :required_metrics, :weight, :y_label, :queries + + def initialize(title, required_metrics, weight, y_label, queries = []) + @title = title + @required_metrics = required_metrics + @weight = weight + @y_label = y_label || 'Values' + @queries = queries + end end end end |