summaryrefslogtreecommitdiff
path: root/lib/gitlab/metrics/dashboard/stages/common_metrics_inserter.rb
blob: 188912bedb42cf50b0e2cbb618d8a113c9fd8924 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# frozen_string_literal: true

module Gitlab
  module Metrics
    module Dashboard
      module Stages
        class CommonMetricsInserter < BaseStage
          # For each metric in the dashboard config, attempts to
          # find a corresponding database record. If found,
          # includes the record's id in the dashboard config.
          def transform!
            common_metrics = ::PrometheusMetric.common

            for_metrics do |metric|
              metric_record = common_metrics.find { |m| m.identifier == metric[:id] }
              metric[:metric_id] = metric_record.id if metric_record
            end
          end
        end
      end
    end
  end
end