Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/usage/metrics')
-rw-r--r--lib/gitlab/usage/metrics/instrumentations/base_metric.rb2
-rw-r--r--lib/gitlab/usage/metrics/instrumentations/database_metric.rb20
-rw-r--r--lib/gitlab/usage/metrics/instrumentations/numbers_metric.rb2
3 files changed, 15 insertions, 9 deletions
diff --git a/lib/gitlab/usage/metrics/instrumentations/base_metric.rb b/lib/gitlab/usage/metrics/instrumentations/base_metric.rb
index f76ed1753b2..5e20766b1b4 100644
--- a/lib/gitlab/usage/metrics/instrumentations/base_metric.rb
+++ b/lib/gitlab/usage/metrics/instrumentations/base_metric.rb
@@ -13,7 +13,7 @@ module Gitlab
class << self
def available?(&block)
- return @metric_available = block if block_given?
+ return @metric_available = block if block
return @metric_available.call if instance_variable_defined?('@metric_available')
diff --git a/lib/gitlab/usage/metrics/instrumentations/database_metric.rb b/lib/gitlab/usage/metrics/instrumentations/database_metric.rb
index 3b09100f3ff..6dec0349a38 100644
--- a/lib/gitlab/usage/metrics/instrumentations/database_metric.rb
+++ b/lib/gitlab/usage/metrics/instrumentations/database_metric.rb
@@ -23,42 +23,48 @@ module Gitlab
private_constant :IMPLEMENTED_OPERATIONS
def start(&block)
- return @metric_start&.call unless block_given?
+ return @metric_start&.call unless block
@metric_start = block
end
def finish(&block)
- return @metric_finish&.call unless block_given?
+ return @metric_finish&.call unless block
@metric_finish = block
end
def relation(&block)
- return @metric_relation&.call unless block_given?
+ return @metric_relation&.call unless block
@metric_relation = block
end
def metric_options(&block)
- return @metric_options&.call.to_h unless block_given?
+ return @metric_options&.call.to_h unless block
@metric_options = block
end
+ def timestamp_column(symbol)
+ @metric_timestamp_column = symbol
+ end
+
def operation(symbol, column: nil, &block)
raise UnimplementedOperationError unless symbol.in?(IMPLEMENTED_OPERATIONS)
@metric_operation = symbol
@column = column
- @metric_operation_block = block if block_given?
+ @metric_operation_block = block if block
end
def cache_start_and_finish_as(cache_key)
@cache_key = cache_key
end
- attr_reader :metric_operation, :metric_relation, :metric_start, :metric_finish, :metric_operation_block, :column, :cache_key
+ attr_reader :metric_operation, :metric_relation, :metric_start,
+ :metric_finish, :metric_operation_block,
+ :column, :cache_key, :metric_timestamp_column
end
def value
@@ -106,7 +112,7 @@ module Gitlab
def time_constraints
case time_frame
when '28d'
- monthly_time_range_db_params
+ monthly_time_range_db_params(column: self.class.metric_timestamp_column)
when 'all'
{}
when 'none'
diff --git a/lib/gitlab/usage/metrics/instrumentations/numbers_metric.rb b/lib/gitlab/usage/metrics/instrumentations/numbers_metric.rb
index 8504ee368fc..3b20e6ad100 100644
--- a/lib/gitlab/usage/metrics/instrumentations/numbers_metric.rb
+++ b/lib/gitlab/usage/metrics/instrumentations/numbers_metric.rb
@@ -26,7 +26,7 @@ module Gitlab
private_constant :IMPLEMENTED_OPERATIONS
def data(&block)
- return @metric_data&.call unless block_given?
+ return @metric_data&.call unless block
@metric_data = block
end