summaryrefslogtreecommitdiff
path: root/lib/gitlab/usage/metrics/instrumentations/database_metric.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/usage/metrics/instrumentations/database_metric.rb')
-rw-r--r--lib/gitlab/usage/metrics/instrumentations/database_metric.rb18
1 files changed, 15 insertions, 3 deletions
diff --git a/lib/gitlab/usage/metrics/instrumentations/database_metric.rb b/lib/gitlab/usage/metrics/instrumentations/database_metric.rb
index f83f90dea03..69a288e5b6e 100644
--- a/lib/gitlab/usage/metrics/instrumentations/database_metric.rb
+++ b/lib/gitlab/usage/metrics/instrumentations/database_metric.rb
@@ -43,16 +43,28 @@ module Gitlab
finish: self.class.metric_finish&.call)
end
- def relation
- self.class.metric_relation.call.where(time_constraints)
+ def to_sql
+ Gitlab::Usage::Metrics::Query.for(self.class.metric_operation, relation, self.class.column)
+ end
+
+ def suggested_name
+ Gitlab::Usage::Metrics::NameSuggestion.for(
+ self.class.metric_operation,
+ relation: relation,
+ column: self.class.column
+ )
end
private
+ def relation
+ self.class.metric_relation.call.where(time_constraints)
+ end
+
def time_constraints
case time_frame
when '28d'
- { created_at: 30.days.ago..2.days.ago }
+ monthly_time_range_db_params
when 'all'
{}
when 'none'