Module: Gitlab::UsageDataCounters::RedisSum

Included in:
InternalEvents, Gitlab::Usage::Metrics::Instrumentations::TotalSumMetric
Defined in:
lib/gitlab/usage_data_counters/redis_sum.rb

Instance Method Summary collapse

Instance Method Details

#get(redis_counter_key) ⇒ Object



20
21
22
# File 'lib/gitlab/usage_data_counters/redis_sum.rb', line 20

def get(redis_counter_key)
  Gitlab::Redis::SharedState.with { |redis| redis.get(redis_counter_key).to_f }
end

#increment_sum_by(redis_counter_key, incr, expiry: nil) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/gitlab/usage_data_counters/redis_sum.rb', line 9

def increment_sum_by(redis_counter_key, incr, expiry: nil)
  Gitlab::Redis::SharedState.with do |redis|
    redis.incrbyfloat(redis_counter_key, incr)

    unless expiry.nil?
      existing_expiry = redis.ttl(redis_counter_key) > 0
      redis.expire(redis_counter_key, expiry) unless existing_expiry
    end
  end
end