Add sum operation to DatabaseMetric
Currently, we have available count
and distinct_count
. This issue is for adding sum
operation.
Current implementation
#lib/gitlab/utils/usage_data.rb
def sum(relation, column, batch_size: nil, start: nil, finish: nil)
Gitlab::Database::BatchCount.batch_sum(relation, column, batch_size: batch_size, start: start, finish: finish)
rescue ActiveRecord::StatementInvalid
FALLBACK
end
Requirements:
- Given an ActiveRecord relation we should be able to sum a given column.
- For a DatabaseMetric we should have an available
sum
operation. - Add instrumentation classes for the related metrics, which are using
sum
Example of usage
# frozen_string_literal: true
module Gitlab
module Usage
module Metrics
module Instrumentations
class SumJiraImportStateMetric < DatabaseMetric
operation :sum
column: :imported_issues_count
relation { jiraImportState.finished }
end
end
end
end
end
Edited by Alina Mihaila