[Date Prev][Date Next]
Re: (ITS#5922) progress bar proposal
> Full_Name: Matthew Backes
> Version: 2.4, head
> OS: any
> Submission from: (NULL) (18.104.22.168)
> Here is a proposal for a progress bar reporting tool, to appear in
> slapadd and other long running tools. A similar version was used
> previously in Symas's OpenLDAP 2.3 (CDS3) product. This version is
> significantly more modular, so that alternative estimators and display
> systems may be added.
> By default, it displays a text bar showing activity, progress, percent
> completion, estimated time to completion, elapsed time, and speed in
> bytes of ldif per second.
> The display functions are modular so that we could add a running trace
> of numbers that a graphical front-end might read and transform into
> pretty animated pie charts, or potentially fancier display within
> these tools.
> The default (and only) supplied display system currently relies only
> on carriage return, with no external libraries needed or dependencies
> on terminal features.
> Estimators are modular as well, as the default linear estimator can be
> frustratingly poor for very large, poorly tuned databases with
> extremely non-linear load times.
> Progress is estimated by fstat()ing the ldif file and ftell()ing to
> see the position. As a result, ldif read from stdin automatically
> disables the progress bar.
> Files are available at:
> * Apply progress.patch
> * Copy progress.c into libraries/liblutil/progress.c
> * Copy progress.h into include/progress.h
progress seems a bit too generic; the names probably should be prefixed with
lutil. Also I suggest using "meter" instead of "progress".
> We should probably make this configurable via the commandline (on/off,
> as well as which display and estimator systems to use), but currently
> it is always on provided stderr is a tty and the ldif is a file.
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/