calc / dashboard_utils /time_tracker.py
justheuristic's picture
push intro content, check build
fdda9c6
raw history blame
No virus
766 Bytes
from functools import wraps
from time import time
def simple_time_tracker(log_fun):
def _simple_time_tracker(fn):
@wraps(fn)
def wrapped_fn(*args, **kwargs):
start_time = time()
try:
result = fn(*args, **kwargs)
finally:
elapsed_time = time() - start_time
# log the result
log_fun(
{
"function_name": fn.__name__,
"total_time": elapsed_time,
}
)
return result
return wrapped_fn
return _simple_time_tracker
def _log(message):
print("[SimpleTimeTracker] {function_name} {total_time:.3f}".format(**message))