# copyright: Canonical "Run the bench cases (remote to local)." import datetime import subprocess from pathlib import Path from loguru import logger as log def run_single_bench( runnum, test_case, files_type, source, target, results, ): log.info(f"Syncing {runnum} {test_case} {files_type}") start = datetime.datetime.now() subprocess.run( [ "rsync", "-a", f"{source}", f"{target}", ], capture_output=True, # shell=True, ) time = datetime.datetime.now() - start size = sum(f.stat().st_size for f in Path(target).glob("**/*") if f.is_file()) size_MB = size / 1000 / 1000 / 8 speed = size_MB / time.total_seconds() log.info(f"{files_type} - {speed} MB/s") subprocess.run(["rm", "-rf", target]) results.add([runnum, test_case, files_type, speed, time.total_seconds(), size_MB])