From 69a75e538e3f71d2646cf2b439d29fe745df3b54 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Fri, 13 Feb 2026 12:38:45 +0530 Subject: [PATCH] feat: add some implementation notes --- app/services/reporting_events/rollup_service.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/services/reporting_events/rollup_service.rb b/app/services/reporting_events/rollup_service.rb index d365aa055..ee1c14ac0 100644 --- a/app/services/reporting_events/rollup_service.rb +++ b/app/services/reporting_events/rollup_service.rb @@ -16,6 +16,8 @@ module ReportingEvents::RollupService def perform return unless rollup_enabled? + # NOTE: Each event produces individual upserts per dimension x metric (up to 8 calls). + # If this becomes a bottleneck, batch into a single upsert_all call. dimensions.each do |dimension_type, dimension_id| next if dimension_id.nil? @@ -27,6 +29,9 @@ module ReportingEvents::RollupService private + # NOTE: This is intentionally not gated by the reporting_events_rollup feature flag. + # Rollup data is collected for all accounts with a reporting timezone (soft toggle). + # The feature flag only controls the read path — whether reports query rollups or raw events. def rollup_enabled? @account.reporting_timezone.present? end