From 4713e0ae9392c312cfba4068433a6903b7c752bb Mon Sep 17 00:00:00 2001 From: Suherdy Yacob Date: Thu, 7 May 2026 13:48:37 +0700 Subject: [PATCH] feat: add performance logging to pos.order methods for tracking execution time --- models/pos_order.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/models/pos_order.py b/models/pos_order.py index 3334035..06aac2f 100644 --- a/models/pos_order.py +++ b/models/pos_order.py @@ -23,6 +23,40 @@ def _threaded_membership_update(registry, uid, context, order_id): class PosOrder(models.Model): _inherit = 'pos.order' + @api.model + def sync_from_ui(self, orders): + import time + start_time = time.time() + _logger.info("POS_PERF: === GLOBAL START sync_from_ui (%s orders) ===", len(orders)) + res = super().sync_from_ui(orders) + _logger.info("POS_PERF: === GLOBAL FINISH sync_from_ui took %.4f seconds ===", time.time() - start_time) + return res + + @api.model_create_multi + def create(self, vals_list): + import time + start_time = time.time() + _logger.info("POS_PERF: Starting pos.order create for %s records", len(vals_list)) + res = super().create(vals_list) + _logger.info("POS_PERF: pos.order create finished in %.4f seconds", time.time() - start_time) + return res + + def _process_saved_order(self, draft): + import time + start_time = time.time() + _logger.info("POS_PERF: Starting _process_saved_order") + res = super()._process_saved_order(draft) + _logger.info("POS_PERF: _process_saved_order finished in %.4f seconds", time.time() - start_time) + return res + + def _create_order_picking(self): + import time + start_time = time.time() + _logger.info("POS_PERF: Starting _create_order_picking") + res = super()._create_order_picking() + _logger.info("POS_PERF: _create_order_picking finished in %.4f seconds", time.time() - start_time) + return res + def action_pos_order_paid(self): """Override to update the customer's membership level in the background.""" import time