gitlab-org--gitlab-foss/lib/gitlab/usage/metrics/instrumentations/issues_created_from_alerts_...

31 lines
879 B
Ruby

# frozen_string_literal: true
module Gitlab
module Usage
module Metrics
module Instrumentations
class IssuesCreatedFromAlertsMetric < NumbersMetric
ISSUES_FROM_ALERTS_METRICS = [
IssuesWithAlertManagementAlertsMetric,
IssuesWithPrometheusAlertEvents,
IssuesWithSelfManagedPrometheusAlertEvents
].freeze
operation :add
data do |time_frame|
ISSUES_FROM_ALERTS_METRICS.map { |metric| metric.new(time_frame: time_frame).value }
end
# overwriting instrumentation to generate the appropriate sql query
def instrumentation
'SELECT ' + ISSUES_FROM_ALERTS_METRICS.map do |metric|
"(#{metric.new(time_frame: time_frame).instrumentation})"
end.join(' + ')
end
end
end
end
end
end