def create_subdirectory_metrics()

in extract_metrics.py [0:0]


def create_subdirectory_metrics(input_folder):
    """Create metrics.csv files in each subdirectory"""
    pattern = os.path.join(input_folder, '**/*.out')
    out_files = glob.glob(pattern, recursive=True)
    
    print(f"Found {len(out_files)} .out files")
    
    processed_dirs = []
    for file_path in out_files:
        dir_path = os.path.dirname(file_path)
        dir_name = os.path.basename(dir_path)
        output_csv = os.path.join(dir_path, 'metrics.csv')
        
        params = parse_folder_name(dir_name)
        print(f"Processing {file_path}...")
        avg_mfu, avg_tokens_s_gpu = process_file(file_path)
        status = read_status(os.path.join(dir_path, 'status.txt'))
        
        params['run_name'] = dir_name
        write_csv(params, output_csv)

        if status is not None:
            params['status'] = status
            write_csv(params, output_csv)

        if avg_tokens_s_gpu is not None:
            params['avg_tokens_s_gpu'] = avg_tokens_s_gpu
            write_csv(params, output_csv)
            processed_dirs.append(dir_path)
            print(f"Processed {file_path} -> Created metrics.csv")
        
        if avg_mfu is not None:
            params['avg_mfu'] = avg_mfu
            write_csv(params, output_csv)
            processed_dirs.append(dir_path)
            print(f"Processed {file_path} -> Created metrics.csv")
    
    return processed_dirs