def patch_class_all(self, clazz, prefix, regex='^[^_]'):
        if hasattr(clazz, '_monkey_timer_patched'):
           raise Exception('can only patch once with patch_class')
        timer = self
        class _ProxyClass(clazz):
            def __init__(self, *a, **b):
                for name, function in getmembers(clazz, predicate=ismethod):
                    if not regex or match(regex, name):
                        self.__dict__[name] = MethodType(timer.patch_function(function, prefix + name), self, _ProxyClass)
                clazz.__init__(self, *a, **b)
        _ProxyClass._monkey_timer_patched = True
        return _ProxyClass
Return name of file or directory in the destination directory with
dataset/ETHPy150Open ooici/pyon/pyon/util/monkey_timer.py/MonkeyTimer.patch_class_all--crossover with--dataset/ETHPy150Open FooBarWidget/mizuho/asciidoc/a2x.py/A2X.dst_path