summaryrefslogtreecommitdiff
path: root/app/models/concerns/counter_attribute.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/concerns/counter_attribute.rb')
-rw-r--r--app/models/concerns/counter_attribute.rb17
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',