feat: add performance logging to pos.order methods for tracking execution time

This commit is contained in:
Suherdy Yacob 2026-05-07 13:48:37 +07:00
parent 3b18be513e
commit 4713e0ae93

View File

@ -23,6 +23,40 @@ def _threaded_membership_update(registry, uid, context, order_id):
class PosOrder(models.Model): class PosOrder(models.Model):
_inherit = 'pos.order' _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): def action_pos_order_paid(self):
"""Override to update the customer's membership level in the background.""" """Override to update the customer's membership level in the background."""
import time import time