From 4d96fcc557bbc27b57f0f1bf6db36f43a9481a9f Mon Sep 17 00:00:00 2001 From: Prateeksha Singh Date: Wed, 23 May 2018 10:41:06 +0530 Subject: [PATCH] [query-perf-log] Add execution time for debug opt in frappe.db.sql (#5592) * [query-perf-log] Add execution time for debug opt in frappe.db.sql * Update database.py --- frappe/database.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/frappe/database.py b/frappe/database.py index f313769994..bfdc93a6f7 100644 --- a/frappe/database.py +++ b/frappe/database.py @@ -10,6 +10,7 @@ import datetime import frappe import frappe.defaults import frappe.async +from time import time import re import frappe.model.meta from frappe.utils import now, get_datetime, cstr, cast_fieldtype @@ -172,6 +173,9 @@ class Database: # execute try: + if debug: + time_start = time() + if values!=(): if isinstance(values, dict): values = dict(values) @@ -204,6 +208,12 @@ class Database: self._cursor.execute(query) + if debug: + frappe.errprint("\n--- query stats start ---\n") + time_end = time() + frappe.errprint(("Execution time: {0} sec").format(round(time_end - time_start, 2))) + frappe.errprint("\n--- query stats end ---\n") + except Exception as e: if ignore_ddl and e.args[0] in (ER.BAD_FIELD_ERROR, ER.NO_SUCH_TABLE, ER.CANT_DROP_FIELD_OR_KEY):