add window size flag, tweak flag documentation

This commit is contained in:
xenofem 2021-11-22 20:40:19 -05:00
parent 988a4aac4c
commit 6fec8076b4

View file

@ -6,16 +6,15 @@ import subprocess
import sys
import time
WINDOW_SIZE = 100
SUFFIXES = 'KMGT'
parser = argparse.ArgumentParser(description='Display progress and time estimates for arbitrary tasks')
parser.add_argument('-f', '--final', type=str, help='Expected final size/value at completion.')
parser.add_argument('-f', '--final', type=str, help='Expected final size/value at completion, optionally with a K/M/G/T suffix')
parser.add_argument('-i', '--interval', type=int, default=10, help='Interval in seconds between samples (default 10)')
parser.add_argument('-w', '--window', type=int, default=100, help='Number of samples to keep for the sliding window (default 100)')
tracker_types = parser.add_mutually_exclusive_group(required=True)
tracker_types.add_argument('-p', '--path', type=str, help='Track total disk usage of a given path')
tracker_types.add_argument('-c', '--command', type=str, help='Track value returned by a shell command; this should return a single number, optionally followed by K/M/G/T')
tracker_types.add_argument('-c', '--command', type=str, help='Track value returned by a shell command; this should return a single number, optionally with a K/M/G/T suffix')
args = parser.parse_args()
@ -67,8 +66,8 @@ while True:
samples.append(current)
if len(samples) < 2:
continue
if len(samples) > WINDOW_SIZE:
samples = samples[-WINDOW_SIZE:]
if len(samples) > args.window:
samples = samples[-args.window:]
rate = (current - samples[0])/((len(samples)-1)*args.interval)