jw-python/tools/python/jwutils/StopWatch.py
Jan Lindemann 748247f1ed Add jwutils.StopWatch
Add StopWatch class, intended to be useful for benchmarking.

Signed-off-by: Jan Lindemann <jan@janware.com>
2024-06-03 12:33:36 +02:00

24 lines
677 B
Python

# -*- coding: utf-8 -*-
import datetime
from .log import *
class StopWatch: # export
def __init__(self, name=''):
self.__start = datetime.now()
self.__last = self.__start
self.name = name
def reset(self):
self.__start = datetime.now()
def logDelta(self, prio, *args, **kwargs):
now = datetime.now()
if args is not None:
msg = ' '.join(args)
else:
msg = '------------------ '
caller = kwargs['caller'] if 'caller' in kwargs.keys() else get_caller_pos(1)
slog(prio, '{} {} {}'.format(self.name, str(now - self.__last), msg), caller=caller)
self.__last = now