diff options
Diffstat (limited to 'app/models/concerns/counter_attribute.rb')
-rw-r--r-- | app/models/concerns/counter_attribute.rb | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/app/models/concerns/counter_attribute.rb b/app/models/concerns/counter_attribute.rb index 784afd1f231..58ea57962c5 100644 --- a/app/models/concerns/counter_attribute.rb +++ b/app/models/concerns/counter_attribute.rb @@ -93,7 +93,7 @@ module CounterAttribute run_after_commit_or_now do new_value = counter(attribute).increment(increment) - log_increment_counter(attribute, increment.amount, new_value) + log_increment_counter(attribute, increment, new_value) end end @@ -101,7 +101,7 @@ module CounterAttribute run_after_commit_or_now do new_value = counter(attribute).bulk_increment(increments) - log_increment_counter(attribute, increments.sum(&:amount), new_value) + log_bulk_increment_counter(attribute, increments, new_value) end end @@ -198,7 +198,8 @@ module CounterAttribute message: 'Increment counter attribute', attribute: attribute, project_id: project_id, - increment: increment, + increment: increment.amount, + ref: increment.ref, new_counter_value: new_value, current_db_value: read_attribute(attribute) ) @@ -206,6 +207,16 @@ module CounterAttribute Gitlab::AppLogger.info(payload) end + def log_bulk_increment_counter(attribute, increments, new_value) + if Feature.enabled?(:split_log_bulk_increment_counter, type: :ops) + increments.each do |increment| + log_increment_counter(attribute, increment, new_value) + end + else + log_increment_counter(attribute, Gitlab::Counters::Increment.new(amount: increments.sum(&:amount)), new_value) + end + end + def log_clear_counter(attribute) payload = Gitlab::ApplicationContext.current.merge( message: 'Clear counter attribute', |