diff options
Diffstat (limited to 'lib/gitlab/usage/metrics/instrumentations/database_metric.rb')
-rw-r--r-- | lib/gitlab/usage/metrics/instrumentations/database_metric.rb | 18 |
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' |