Skip to content

vllm.logging_utils.log_time

Provides a timeslice logging decorator

logtime

logtime(logger, msg=None)

Logs the execution time of the decorated function. Always place it beneath other decorators.

Source code in vllm/logging_utils/log_time.py
def logtime(logger, msg=None):
    """
    Logs the execution time of the decorated function.
    Always place it beneath other decorators.
    """

    def _inner(func):

        @functools.wraps(func)
        def _wrapper(*args, **kwargs):
            start = time.perf_counter()
            result = func(*args, **kwargs)
            elapsed = time.perf_counter() - start

            prefix = f"Function '{func.__module__}.{func.__qualname__}'" \
                if msg is None else msg
            logger.debug("%s: Elapsed time %.7f secs", prefix, elapsed)
            return result

        return _wrapper

    return _inner