in cli_tools/gce_export/main.go [81:110]
func writeGzipProgress(start time.Time, size int64, rp, wp *progress) {
time.Sleep(5 * time.Second)
var oldUpload int64
var oldRead int64
var oldSince int64
totalSize := humanize.IBytes(uint64(size))
for {
rp.lock.Lock()
rpTotal := rp.total
rp.lock.Unlock()
wp.lock.Lock()
wpTotal := wp.total
wp.lock.Unlock()
since := int64(time.Since(start).Seconds())
diskSpd := humanize.IBytes(uint64((rpTotal - oldRead) / (since - oldSince)))
upldSpd := humanize.IBytes(uint64((wpTotal - oldUpload) / (since - oldSince)))
uploadTotal := humanize.IBytes(uint64(wpTotal))
readTotal := humanize.IBytes(uint64(rpTotal))
if readTotal == totalSize {
return
}
fmt.Printf("GCEExport: Read %s of %s (%s/sec),", readTotal, totalSize, diskSpd)
fmt.Printf(" total written size: %s (%s/sec)\n", uploadTotal, upldSpd)
oldUpload = wpTotal
oldRead = rpTotal
oldSince = since
time.Sleep(30 * time.Second)
}
}