def _method_profile_logger(func):

    def wrapper(*args, **kwargs):
        start_wall_time = time()
        start_cpu_time = perf_counter()
        result = func(*args, **kwargs)
        end_wall_time = time()
        end_cpu_time = perf_counter()
        code = func.__code__
        try:
            outerframes = inspect.getouterframes(inspect.currentframe(), 2)
            real_caller = outerframes[1]
            L.trace(f"""{{"metric_type": "func_profile", "qualname": "{func.__qualname__}", "caller": "{real_caller.filename.rsplit('/', 1)[(- 1)]}:{real_caller.lineno}", "cpu_time": {(end_cpu_time - start_cpu_time)}, "wall_time": {(end_wall_time - start_wall_time)}}}""")
            return result
        except Exception as e:
            L.trace(f'{{"metric_type": "func_profile", "qualname": "{func.__qualname__}", "caller": "unknown", "cpu_time": {(end_cpu_time - start_cpu_time)}, "wall_time": {(end_wall_time - start_wall_time)}}}')
    return wrapper
def _method_profile_logger(func):

    def wrapper(*args, **kwargs):
        start_wall_time = time()
        start_cpu_time = perf_counter()
        result = func(*args, **kwargs)
        end_wall_time = time()
        end_cpu_time = perf_counter()
        code = func.__code__
        try:
            outerframes = inspect.getouterframes(inspect.currentframe(), 2)
            real_caller = outerframes[1]
            L.trace(f"{{"metric_type": "func_profile", "qualname": "{func.__qualname__}", "caller": "{real_caller.filename.rsplit('/', 1)[(- 1)]}:{real_caller.lineno}", "cpu_time": {(end_cpu_time - start_cpu_time)}, "wall_time": {(end_wall_time - start_wall_time)}}}")
            return result
        except Exception as e:
            L.trace(f'{{"metric_type": "func_profile", "qualname": "{func.__qualname__}", "caller": "unknown", "cpu_time": {(end_cpu_time - start_cpu_time)}, "wall_time": {(end_wall_time - start_wall_time)}}}')
    return wrapper