time_statistics.py 677 B

123456789101112131415161718192021
  1. import time
  2. from functools import wraps
  3. from ..logger.loggering import server_logger as logger
  4. def track_execution_time(func):
  5. """
  6. 追踪函数执行时间并通过日志输出的装饰器
  7. 记录函数开始执行、执行完成及耗时(保留两位小数)
  8. """
  9. @wraps(func)
  10. def wrapper(*args, **kwargs):
  11. logger.info(f"[{func.__name__}] 开始执行")
  12. start_time = time.perf_counter()
  13. try:
  14. return func(*args, **kwargs)
  15. finally:
  16. duration = time.perf_counter() - start_time
  17. logger.info(f"[{func.__name__}] 执行完成,耗时: {duration:.2f} 秒")
  18. return wrapper