Skip to content

Commit 707d17f

Browse files
committed
[process-stats-dir] Switch to buffered output
Unbuffered output is unsupported for non-binary files.
1 parent 8b20c88 commit 707d17f

File tree

1 file changed

+30
-23
lines changed

1 file changed

+30
-23
lines changed

utils/process-stats-dir.py

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -561,12 +561,37 @@ def render_profiles(args):
561561
webbrowser.open_new_tab("file://" + os.path.abspath(index_path))
562562

563563

564+
def process(args):
565+
if args.catapult:
566+
write_catapult_trace(args)
567+
elif args.compare_stats_dirs:
568+
return compare_stats_dirs(args)
569+
elif args.set_csv_baseline is not None:
570+
return set_csv_baseline(args)
571+
elif args.compare_to_csv_baseline is not None:
572+
return compare_to_csv_baseline(args)
573+
elif args.incrementality:
574+
if args.paired:
575+
show_paired_incrementality(args)
576+
else:
577+
show_incrementality(args)
578+
elif args.lnt:
579+
write_lnt_values(args)
580+
elif args.evaluate:
581+
return evaluate(args)
582+
elif args.evaluate_delta:
583+
return evaluate_delta(args)
584+
elif args.render_profiles:
585+
return render_profiles(args)
586+
return None
587+
588+
564589
def main():
565590
parser = argparse.ArgumentParser()
566591
parser.add_argument("--verbose", action="store_true",
567592
help="Report activity verbosely")
568593
parser.add_argument("--output", default="-",
569-
type=argparse.FileType('w', 0),
594+
type=argparse.FileType('w'),
570595
help="Write output to file")
571596
parser.add_argument("--paired", action="store_true",
572597
help="Process two dirs-of-stats-dirs, pairwise")
@@ -677,28 +702,10 @@ def main():
677702
if len(args.remainder) == 0:
678703
parser.print_help()
679704
return 1
680-
if args.catapult:
681-
write_catapult_trace(args)
682-
elif args.compare_stats_dirs:
683-
return compare_stats_dirs(args)
684-
elif args.set_csv_baseline is not None:
685-
return set_csv_baseline(args)
686-
elif args.compare_to_csv_baseline is not None:
687-
return compare_to_csv_baseline(args)
688-
elif args.incrementality:
689-
if args.paired:
690-
show_paired_incrementality(args)
691-
else:
692-
show_incrementality(args)
693-
elif args.lnt:
694-
write_lnt_values(args)
695-
elif args.evaluate:
696-
return evaluate(args)
697-
elif args.evaluate_delta:
698-
return evaluate_delta(args)
699-
elif args.render_profiles:
700-
return render_profiles(args)
701-
return None
705+
try:
706+
return process(args)
707+
finally:
708+
args.output.close()
702709

703710

704711
sys.exit(main())

0 commit comments

Comments
 (0)