summaryrefslogtreecommitdiff
path: root/lib/gitlab/usage/metrics/instrumentations/generic_metric.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/usage/metrics/instrumentations/generic_metric.rb')
-rw-r--r--lib/gitlab/usage/metrics/instrumentations/generic_metric.rb22
1 files changed, 15 insertions, 7 deletions
diff --git a/lib/gitlab/usage/metrics/instrumentations/generic_metric.rb b/lib/gitlab/usage/metrics/instrumentations/generic_metric.rb
index 1849773e33d..0f4b903b99c 100644
--- a/lib/gitlab/usage/metrics/instrumentations/generic_metric.rb
+++ b/lib/gitlab/usage/metrics/instrumentations/generic_metric.rb
@@ -12,27 +12,35 @@ module Gitlab
# Gitlab::CurrentSettings.uuid
# end
# end
+ FALLBACK = -1
+
class << self
- attr_reader :metric_operation
- @metric_operation = :alt
+ attr_reader :metric_value
+
+ def fallback(custom_fallback = FALLBACK)
+ return @metric_fallback if defined?(@metric_fallback)
+
+ @metric_fallback = custom_fallback
+ end
def value(&block)
@metric_value = block
end
+ end
- attr_reader :metric_value
+ def initialize(time_frame: 'none', options: {})
+ @time_frame = time_frame
+ @options = options
end
def value
- alt_usage_data do
+ alt_usage_data(fallback: self.class.fallback) do
self.class.metric_value.call
end
end
def suggested_name
- Gitlab::Usage::Metrics::NameSuggestion.for(
- self.class.metric_operation
- )
+ Gitlab::Usage::Metrics::NameSuggestion.for(:alt)
end
end
end