lump.profiling module

class lump.profiling.timeit(text=None, min_time=None, callback=None, logger=None, postfix=None)[source]

Bases: object

Helper class to easily report long running processes. Usage:

>>> import logging, sys, time
>>> logging.basicConfig(level=logging.WARNING)
>>> logger = logging.getLogger('test')
>>> logger.setLevel(logging.WARNING)
>>> logger.addHandler(logging.StreamHandler(sys.stdout))
>>> with timeit("Took a long time", 1000, logger=logger):
...    time.sleep(2)
Took a long time: 2...ms
>>> with timeit("Took a long time", 1000, logger=logger):
...    pass

Or alternatively you can:

>>> timer = timeit()
>>> time.sleep(1)
>>> print(timer.elapsed())
100...
>>> timer.restart()
>>> print(timer.elapsed())
0...
elapsed()[source]
get_logger()[source]
logger = <Logger lump.profiling (INFO)>
postfix = ': %dms'
restart()[source]