human
I wrote the below code

    @functools.wraps(f)
    def wrapper(*args, **kwargs):
        driver = args[0]
        cls_name = driver.__class__.__name__
        method_name = ('%(cls_name)s.%(method)s' % {'cls_name': cls_name, 'method': f.__name__})
        backend_name = driver._get_current_array()._backend_id
        LOG.debug('[%(backend_name)s]    Enter    %(method_name)s', {'method_name': method_name, 'backend_name': backend_name})
        result = f(*args, **kwargs)
        LOG.debug('[%(backend_name)s]    Leave    %(method_name)s', {'method_name': method_name, 'backend_name': backend_name})
        return result
    return wrapper

What's a good function header?
assistant
#Here's a good function header.

def pure_driver_debug_trace(f):