summaryrefslogtreecommitdiff
path: root/lib/api/helpers.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/helpers.rb')
-rw-r--r--lib/api/helpers.rb20
1 files changed, 19 insertions, 1 deletions
diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb
index 599d5bd0baf..1912a06682e 100644
--- a/lib/api/helpers.rb
+++ b/lib/api/helpers.rb
@@ -532,11 +532,29 @@ module API
::Gitlab::Tracking.event(category, action.to_s, **args)
rescue => error
- Rails.logger.warn( # rubocop:disable Gitlab/RailsLogger
+ Gitlab::AppLogger.warn(
"Tracking event failed for action: #{action}, category: #{category}, message: #{error.message}"
)
end
+ # @param event_name [String] the event name
+ # @param values [Array|String] the values counted
+ def increment_unique_values(event_name, values)
+ return unless values.present?
+
+ feature_name = "usage_data_#{event_name}"
+ return unless Feature.enabled?(feature_name)
+ return unless Gitlab::CurrentSettings.usage_ping_enabled?
+
+ Gitlab::UsageDataCounters::HLLRedisCounter.track_event(values, event_name)
+ rescue => error
+ Gitlab::AppLogger.warn("Redis tracking event failed for event: #{event_name}, message: #{error.message}")
+ end
+
+ def with_api_params(&block)
+ yield({ api: true, request: request })
+ end
+
protected
def project_finder_params_visibility_ce