Compare commits

..

2 commits

2 changed files with 21 additions and 2 deletions

View file

@ -37,7 +37,7 @@ use responsibly.
``` ```
usage: impatient [-h] [-f FINAL] [-i INTERVAL] [-w WINDOW] [-d DECAY] usage: impatient [-h] [-f FINAL] [-i INTERVAL] [-w WINDOW] [-d DECAY]
(-p PATH | -c COMMAND) [-V FRACTION] [-I COUNT] [-l PATH] (-p PATH | -c COMMAND)
Display progress and time estimates for arbitrary tasks Display progress and time estimates for arbitrary tasks
@ -55,6 +55,20 @@ optional arguments:
Decay coefficient for older samples (default 1). Must Decay coefficient for older samples (default 1). Must
be between 0 and 1 inclusive. The lower this is, the be between 0 and 1 inclusive. The lower this is, the
more responsive/swingy the estimate will be. more responsive/swingy the estimate will be.
-V FRACTION, --termination-value-threshold FRACTION
Fraction of the expected final value that must be
reached in order to terminate (default 0.95). Reaching
this threshold is necessary but not sufficient, see
also -I
-I COUNT, --termination-inactivity-threshold COUNT
Number of consecutive unchanged samples that must be
observed in order to terminate (default 10). Reaching
this threshold is necessary but not sufficient, see
also -V
-l PATH, --log-file PATH
File to log the time series to. Will be saved as a
csv, with columns for timestamp and for value. Will
append data if the file already exists.
-p PATH, --path PATH Track total disk usage of a given path -p PATH, --path PATH Track total disk usage of a given path
-c COMMAND, --command COMMAND -c COMMAND, --command COMMAND
Track value returned by a shell command; this should Track value returned by a shell command; this should

View file

@ -132,6 +132,11 @@ while True:
), end='') ), end='')
sys.stdout.flush() sys.stdout.flush()
if final and current >= args.termination_value_threshold*final and all(d == 0 for d in deltas[-args.termination_inactivity_threshold:]): if (
final
and current >= args.termination_value_threshold*final
and len(deltas) >= args.termination_inactivity_threshold
and all(d == 0 for d in deltas[-args.termination_inactivity_threshold:])
):
print() print()
break break