From: Brian Warner Date: Fri, 13 Mar 2009 08:24:51 +0000 (-0700) Subject: consolidate: add eta, flush stdout X-Git-Tag: allmydata-tahoe-1.4.0~56 X-Git-Url: https://git.rkrishnan.org/components/CLI.txt?a=commitdiff_plain;h=ae64ddf8e613217a9042457c7ae3efec26d8d842;p=tahoe-lafs%2Ftahoe-lafs.git consolidate: add eta, flush stdout --- diff --git a/src/allmydata/scripts/consolidate.py b/src/allmydata/scripts/consolidate.py index a98c1511..b72900cb 100644 --- a/src/allmydata/scripts/consolidate.py +++ b/src/allmydata/scripts/consolidate.py @@ -1,5 +1,5 @@ -import os, pickle +import os, pickle, time import sqlite3 as sqlite import urllib @@ -56,8 +56,10 @@ class Consolidator: def msg(self, text): print >>self.options.stdout, text + self.options.stdout.flush() def err(self, text): print >>self.options.stderr, text + self.options.stderr.flush() def consolidate(self): try: @@ -183,6 +185,7 @@ class Consolidator: first_snapshot = True for i,(timestamp, rwname, writecap, roname, readcap) in enumerate(snapshots): + eta = "?" start_created = self.directories_created start_used_as_is = self.directories_used_as_is start_reused = self.directories_reused @@ -227,7 +230,10 @@ class Consolidator: # readonly directory (which shares common subdirs with previous # backups) self.msg(" %s: processing (%d/%d)" % (rwname, i+1, len(snapshots))) + started = time.time() readcap = self.process_directory(readonly(writecap), (rwname,)) + elapsed = time.time() - started + eta = "%ds" % (elapsed * (len(snapshots) - i-1)) if self.options["really"]: self.msg(" replaced %s" % rwname) self.put_child(archives_dircap, rwname, readcap) @@ -238,9 +244,10 @@ class Consolidator: snapshot_created = self.directories_created - start_created snapshot_used_as_is = self.directories_used_as_is - start_used_as_is snapshot_reused = self.directories_reused - start_reused - self.msg(" %s: done: %d dirs created, %d used as-is, %d reused" + self.msg(" %s: done: %d dirs created, %d used as-is, %d reused, eta %s" % (rwname, - snapshot_created, snapshot_used_as_is, snapshot_reused)) + snapshot_created, snapshot_used_as_is, snapshot_reused, + eta)) # done! self.msg(" system done, dircounts: %d/%d seen/used, %d created, %d as-is, %d reused" \ % (len(self.directories_seen), len(self.directories_used),