From 2f6a4a4fa643d180951554630f24894ed8efdd6a Mon Sep 17 00:00:00 2001 From: nfl Date: Thu, 15 Dec 2022 11:20:26 +0000 Subject: [PATCH] [IMP] core: add query time in the logging of SQL queries MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes odoo/odoo#112846 X-original-commit: 46040d11cf1ecf880f76d9d8a445d72c8ba77b4e Signed-off-by: Rémy Voet --- odoo/sql_db.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/odoo/sql_db.py b/odoo/sql_db.py index 37e82f1b9cb..1b4398a7f81 100644 --- a/odoo/sql_db.py +++ b/odoo/sql_db.py @@ -307,8 +307,6 @@ class Cursor(BaseCursor): # psycopg2's TypeError is not clear if you mess up the params raise ValueError("SQL query parameters should be a tuple, list or dict; got %r" % (params,)) - _logger.debug("query: %s", self._format(query, params)) - start = real_time() try: params = params or None @@ -317,7 +315,10 @@ class Cursor(BaseCursor): if log_exceptions: _logger.error("bad query: %s\nERROR: %s", tools.ustr(self._obj.query or query), e) raise - delay = real_time() - start + finally: + delay = real_time() - start + if _logger.isEnabledFor(logging.DEBUG): + _logger.debug("[%.3f ms] query: %s", 1000 * delay, self._format(query, params)) # simple query count is always computed self.sql_log_count += 1