Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Dec 2012 20:01:20 +0100
From:      Mateusz Guzik <mjguzik@gmail.com>
To:        Florian Smeets <flo@smeets.im>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Andre Oppermann <andre@FreeBSD.org>
Subject:   Re: svn commit: r243147 - head/usr.bin/fetch
Message-ID:  <20121209190120.GB28989@dft-labs.eu>
In-Reply-To: <50C4DB7A.9050302@smeets.im>
References:  <201211161205.qAGC5Bwr081144@svn.freebsd.org> <50C4D31E.4080000@smeets.im> <20121209182730.GA28989@dft-labs.eu> <50C4DB7A.9050302@smeets.im>

next in thread | previous in thread | raw e-mail | index | archive | help
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);

-- 
Mateusz Guzik <mjguzik gmail.com>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121209190120.GB28989>