From 785a6193857f3381260c10bab94820f99b8efea6 Mon Sep 17 00:00:00 2001 From: Son Nguyen Kim Date: Thu, 16 Sep 2021 09:12:53 +0200 Subject: [PATCH] Add debug_info decorator --- app/utils.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/utils.py b/app/utils.py index 10e3ab67..d90acfdf 100644 --- a/app/utils.py +++ b/app/utils.py @@ -1,6 +1,8 @@ import random import string +import time import urllib.parse +from functools import wraps from unidecode import unidecode @@ -73,3 +75,15 @@ def sanitize_email(email_address: str) -> str: def query2str(query): """Useful utility method to print out a SQLAlchemy query""" return query.statement.compile(compile_kwargs={"literal_binds": True}) + + +def debug_info(func): + @wraps(func) + def wrap(*args, **kwargs): + start = time.time() + LOG.d("start %s %s %s", func.__name__, args, kwargs) + ret = func(*args, **kwargs) + LOG.d("finish %s. Takes %s seconds", func.__name__, time.time() - start) + return ret + + return wrap