Date: Sun, 31 Oct 2004 01:47:51 -0800 From: Sean Chittenden <sean@chittenden.org> To: freebsd-net@freebsd.org Subject: Irritation regarding precision of ping(8)... Message-ID: <EE1B194A-2B21-11D9-8420-000A95C705DC@chittenden.org>
next in thread | raw e-mail | index | archive | help
--Apple-Mail-2-649787049 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed This has long bugged me and tonight I finally snapped and had to do something about it. Example output: 64 bytes from a.b.c.d: icmp_seq=935 ttl=126 time=33.824 ms 64 bytes from a.b.c.d: icmp_seq=936 ttl=126 time=29.138 ms 64 bytes from a.b.c.d: icmp_seq=937 ttl=126 time=28.262 ms 64 bytes from a.b.c.d: icmp_seq=938 ttl=126 time=29.67 ms 64 bytes from a.b.c.d: icmp_seq=939 ttl=126 time=30.963 ms 64 bytes from a.b.c.d: icmp_seq=940 ttl=126 time=30.283 ms 64 bytes from a.b.c.d: icmp_seq=941 ttl=126 time=29.455 ms The source of irritation being line seq 930. The time should be 29.670 since we are accurately measuring the precision to the thousands place. On a less scientific basis (and the actual reason this bothered me), not having the trailing zero disrupts the continuity of a stream of ping times. The attached patch simply fixes the various formatting statements introduced in version 1.2(!!!!) to use %.30f instead of %.3f. It's now possible to see '28.200' ms ping times instead of just '28.2 ms'. Anyone mind if I commit the attached patch? I'm sure I'm not the only one who's wanted to commit the following. -sc --Apple-Mail-2-649787049 Content-Transfer-Encoding: 7bit Content-Type: text/plain; x-unix-mode=0644; name="patch.txt" Content-Disposition: attachment; filename=patch.txt Index: ping.c =================================================================== RCS file: /home/ncvs/src/sbin/ping/ping.c,v retrieving revision 1.106 diff -u -r1.106 ping.c --- ping.c 30 Sep 2004 07:35:56 -0000 1.106 +++ ping.c 31 Oct 2004 09:40:35 -0000 @@ -998,7 +998,7 @@ seq); (void)printf(" ttl=%d", ip->ip_ttl); if (timing) - (void)printf(" time=%.3f ms", triptime); + (void)printf(" time=%.30f ms", triptime); if (dupflag) (void)printf(" (DUP!)"); if (options & F_AUDIBLE) @@ -1293,7 +1293,7 @@ double avg = tsum / n; double vari = tsumsq / n - avg * avg; (void)printf( - "round-trip min/avg/max/stddev = %.3f/%.3f/%.3f/%.3f ms\n", + "round-trip min/avg/max/stddev = %.30f/%.30f/%.30f/%.30f ms\n", tmin, avg, tmax, sqrt(vari)); } --Apple-Mail-2-649787049 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed -- Sean Chittenden --Apple-Mail-2-649787049--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EE1B194A-2B21-11D9-8420-000A95C705DC>