Here is what I found on internet https://realpython.com/python-timer/:
you’ll add optional names to your Python timer. You can use the name for two different purposes:
Looking up the elapsed time later in your code
Accumulating timers with the same name
To add names to your Python timer, you need to make two more changes to timer.py. First, Timer should accept the name as a parameter. Second, the elapsed time should be added to .timers when a timer stops:
class Timer:
timers = dict()
def __init__(
    self,
    name=None,
    text="Elapsed time: {:0.4f} seconds",
    logger=print,
):
    self._start_time = None
    self.name = name
    self.text = text
    self.logger = logger
    # Add new named timers to dictionary of timers
    if name:
        self.timers.setdefault(name, 0)
# Other methods are unchanged
def stop(self):
    """Stop the timer, and report the elapsed time"""
    if self._start_time is None:
        raise TimerError(f"Timer is not running. Use .start() to start it")
    elapsed_time = time.perf_counter() - self._start_time
    self._start_time = None
    if self.logger:
        self.logger(self.text.format(elapsed_time))
    if self.name:
        self.timers[self.name] += elapsed_time
    return elapsed_time
Note that you use .setdefault() when adding the new Python timer to .timers. This is a great feature that only sets the value if name is not already defined in the dictionary. If name is already used in .timers, then the value is left untouched. This allows you to accumulate several timers:
>>> from timer import Timer
>>> t = Timer("accumulate")
>>> t.start()
>>> t.stop()  # A few seconds later
Elapsed time: 3.7036 seconds
3.703554293999332
>>> t.start()
>>> t.stop()  # A few seconds later
Elapsed time: 2.3449 seconds
2.3448921170001995
>>> Timer.timers
{'accumulate': 6.0484464109995315}