Skip to content

Utils

timer

util function used to log the time taken by a part of program

Source code in TimelineKGQA/utils.py
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
class timer:
    """
    util function used to log the time taken by a part of program
    """

    def __init__(self, the_logger: Logger, message: str):
        """
        init the timer

        Parameters
        ----------
        the_logger: Logger
            logger to write the logs
        message: str
            message to log, like start xxx
        """
        self.message = message
        self.logger = the_logger
        self.start = 0
        self.duration = 0
        self.sub_timers = []

    def __enter__(self):
        """
        context enters to start to write this
        """
        self.start = time.time()
        self.logger.info("Starting %s" % self.message)
        return self

    def __exit__(self, context, value, traceback):
        """
        context exit will write this
        """
        self.duration = time.time() - self.start
        self.logger.info(f"Finished {self.message}, that took {self.duration:.3f}")

__enter__()

context enters to start to write this

Source code in TimelineKGQA/utils.py
112
113
114
115
116
117
118
def __enter__(self):
    """
    context enters to start to write this
    """
    self.start = time.time()
    self.logger.info("Starting %s" % self.message)
    return self

__exit__(context, value, traceback)

context exit will write this

Source code in TimelineKGQA/utils.py
120
121
122
123
124
125
def __exit__(self, context, value, traceback):
    """
    context exit will write this
    """
    self.duration = time.time() - self.start
    self.logger.info(f"Finished {self.message}, that took {self.duration:.3f}")

__init__(the_logger, message)

init the timer

Parameters

the_logger: Logger logger to write the logs message: str message to log, like start xxx

Source code in TimelineKGQA/utils.py
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
def __init__(self, the_logger: Logger, message: str):
    """
    init the timer

    Parameters
    ----------
    the_logger: Logger
        logger to write the logs
    message: str
        message to log, like start xxx
    """
    self.message = message
    self.logger = the_logger
    self.start = 0
    self.duration = 0
    self.sub_timers = []