python_utils/utils/timer_utils.py
M. A. Reza 37b8bd60a1 update
2026-02-19 15:54:10 +03:30

36 lines
760 B
Python

from collections.abc import Hashable
from datetime import datetime
import logging
from rich.console import Console
console = Console()
timers_started_ats = dict()
log = logging.getLogger(__name__)
def start_timer(name: Hashable = 1, do_print=True):
started_at = datetime.now()
timers_started_ats[name] = started_at
if do_print:
log.info("%s_started", name)
return name, started_at
def stop_timer(name: Hashable = 1, do_print=True):
ended_at = datetime.now()
took = ended_at - timers_started_ats[name]
if do_print:
log.info("%s_ended took=%s", name, took.total_seconds())
return name, ended_at, took
if __name__ == "__main__":
from time import sleep
start_timer()
sleep(1)
stop_timer()