def METHOD_NAME(self, fn, groups: Sequence[str]):
    """Wrap a function instance to collect timing statistics on execution."""
    @functools.wraps(fn)
    def wrapped(*args, **kwargs):
        with self.timer(*groups):
            result = fn(*args, **kwargs)
        return result
    return wrapped