summaryrefslogtreecommitdiff
path: root/lib/gitlab/usage_data_counters/kubernetes_agent_counter.rb
blob: eae42bdc4a135b6cb697f6c6007944d07cf9b3bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# frozen_string_literal: true

module Gitlab
  module UsageDataCounters
    class KubernetesAgentCounter < BaseCounter
      PREFIX = 'kubernetes_agent'
      KNOWN_EVENTS = %w[gitops_sync].freeze

      class << self
        def increment_gitops_sync(incr)
          raise ArgumentError, 'must be greater than or equal to zero' if incr < 0

          # rather then hitting redis for this no-op, we return early
          # note: redis returns the increment, so we mimic this here
          return 0 if incr == 0

          increment_by(redis_key(:gitops_sync), incr)
        end
      end
    end
  end
end