On 09.12.12 20:01, Mateusz Guzik wrote: > On Sun, Dec 09, 2012 at 07:42:02PM +0100, Florian Smeets wrote: >> On 09.12.12 19:27, Mateusz Guzik wrote: >>> On Sun, Dec 09, 2012 at 07:06:22PM +0100, Florian Smeets wrote: >>>> On 16.11.12 13:05, Andre Oppermann wrote: >>>>> Author: andre >>>>> Date: Fri Nov 16 12:05:10 2012 >>>>> New Revision: 243147 >>>>> URL: http://svnweb.freebsd.org/changeset/base/243147 >>>>> >>>>> Log: >>>>> Change fetch(1) to: >>>>> >>>>> o Report the instantaneous bandwidth instead of an average since the >>>>> beginning of the download. >>>>> >>>>> o At the finish of the download report the average bandwidth and also >>>>> the total time it took instead of 00m00s. >>>>> >>>> >>>> Andre, >>>> >>>> it looks like this change breaks the bandwidth calculation when using -r >>>> >>>> 52% of 146 MB -25199509 Bps 03m28s >>>> >>>> Going back to r243146 fixes it. >>>> >>> >>> Try this: >>> diff --git a/usr.bin/fetch/fetch.c b/usr.bin/fetch/fetch.c >>> index 025fcdc..e723d40 100644 >>> --- a/usr.bin/fetch/fetch.c >>> +++ b/usr.bin/fetch/fetch.c >>> @@ -243,7 +243,7 @@ stat_start(struct xferstat *xs, const char *name, off_t >>> size, off_t of >>> gettimeofday(&xs->start, NULL); >>> xs->last.tv_sec = xs->last.tv_usec = 0; >>> xs->size = size; >>> - xs->offset = offset; >>> + xs->offset = 0; >>> xs->rcvd = offset; >>> xs->lastrcvd = offset; >>> if (v_tty && v_level > 0) >>> >> >> That way the bandwidth calculation looks OK but now it counts the time >> since starting to resume the download and not the time left :) >> >> 63% of 146 MB 7069 kBps 00m07s >> > > Oops.. revert that and try this instead: > diff --git a/usr.bin/fetch/fetch.c b/usr.bin/fetch/fetch.c > index 025fcdc..d3e9b21 100644 > --- a/usr.bin/fetch/fetch.c > +++ b/usr.bin/fetch/fetch.c > @@ -183,7 +183,7 @@ stat_bps(struct xferstat *xs) > if (delta == 0.0) { > snprintf(str, sizeof str, "?? Bps"); > } else { > - bps = (xs->rcvd - xs->lastrcvd - xs->offset) / delta; > + bps = (xs->rcvd - xs->lastrcvd) / delta; > snprintf(str, sizeof str, "%sps", stat_bytes((off_t)bps)); > } > return (str); >
That looks much better. 68% of 146 MB 556 kBps 01m40s Thanks! Florian
signature.asc
Description: OpenPGP digital signature