svn commit: r243147 - head/usr.bin/fetch

Florian Smeets flo at smeets.im
Sun Dec 9 19:53:57 UTC 2012


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20121209/b61bd126/attachment.sig>


More information about the svn-src-all mailing list