Subject: re: Expanded man page for slstats.8
To: Robert Dobbs <banshee@gabriella.resort.com>
From: Adam Glass <glass@NetBSD.ORG>
List: current-users
Date: 11/13/1994 03:25:08
> 
> 
> I wasn't certain exactly what slstats was printing so I looked at the
> source and wrote a better man page.  
> 
> ftp://ftp.resort.com/pub/netbsd/slstats.8
> 
> - -john
> 

I looked at this, made some small changes, and then some big changes.
I ended up rewriting the man page to make maximum use of the new -mdoc
macros and to look more like the other statistics report program
(fstat/istat) man pages.

The new man page and a minor code diff will appear in the post-1.0
current tree, but here it is for the curious.  It will also be adapted
minimally to become the new pppstats(8) man page as well.  Comments
should be directed to me, and not to the list.

later,
Adam Glass

===================================================================
RCS file: /b/source/CVS/src/usr.sbin/slstats/slstats.8,v
retrieving revision 1.1
diff -c -r1.1 slstats.8
*** 1.1	1994/01/08 03:03:36
--- slstats.8	1994/11/13 11:14:52
***************
*** 1,40 ****
  .\"	@(#) $Header: /b/source/CVS/src/usr.sbin/slstats/slstats.8,v 1.1 1994/01/08 03:03:36 jtc Exp $ (LBL)
! .TH SLSTATS 8 "5 Jul 1993"
! .SH NAME
! slstats \- print slip statistics
! .SH SYNOPSIS
! .B slstats
! [
! .B -v
! ] [
! .B -i
! .I <secs>
! ] [
! .I <unit#>
! ]
! .ti 12
! .br
! [
! .I objectfile
! [
! .I corefile
! ]]
! .SH DESCRIPTION
! .B slstats
! prints slip related statistics.
! .PP
  The 
! .B -v
! flag causes
! .B slstats
! to display additional statistics such as the number of packets tossed.
! .PP
! The
! .B -i
! flag is used to specify the interval between print outs. The default is
! 5 seconds.
! .PP
! It must be installed set-group-id to kmem or the user must have read
! access to /dev/kmem.
! .SH "SEE ALSO"
! .BR slinfo (8)
--- 1,113 ----
  .\"	@(#) $Header: /b/source/CVS/src/usr.sbin/slstats/slstats.8,v 1.1 1994/01/08 03:03:36 jtc Exp $ (LBL)
! .Dd July 5, 1993
! .Dt SLSTATS 8
! .Sh NAME
! .Nm slstats
! .Nd report slip statistics
! .Sh SYNOPSIS
! .Nm slstats
! .Op Fl v
! .Op Fl i Ar interval
! .Op Ar unit-number
! .Oo
! .Ar system
! .Op Ar core
! .Oc
! .Sh DESCRIPTION
! .Pp
  The 
! .Nm slstats
! utility reports slip-related statistics for the
! .Nm sl Ns
! .So
! .Ar unit-number
! .Sc
! interface.  If the
! .Nm unit-number
! is unspecified, it defaults to 0.  These statistics are displayed at
! regular intervals.
! .Pp
! The display is split horizontally into input and output sections
! containing columns of statistics describing the properties and volume
! of packets received and transmitted by the specified interface.
! .Pp
! The first report will consist of a snapshot of the interface's present
! statistics.  All further output will describe activity between report
! intervals.
! .Pp
! The options are as follows:
! .Bl -tag -width Ds
! .It Fl v
! Display additional statistics demonstrating the efficacy of VJ header
! compression and providing more explicit information on failure
! distribution.
! .It Fl i
! Specifies the interval between reports. The default interval is 5 seconds.
! .It Ar system
! Extract the name list from the specified system instead of the default
! .Pa /netbsd .
! .It Ar core
! Extract values associated with the name list from the specified
! .Ar core
! instead of the default
! .Pa /dev/kmem .
! .El
! .Pp
! The following fields are printed on the input side:
! .Bl -tag -width search
! .It Li IN
! The total number of bytes received by this interface.
! .It Li PACK
! The total number of packets received by this interface.
! .It Li COMP
! The number of compressed TCP packets received by this interface.
! .It Li UNCOMP
! The number of uncompressed TCP packets received by this interface.
! .It Li ERR
! The number of packets received by this interface of unknown type.
! .It Li TOSS
! The number of packets dropped on reception by this interface.  Only
! reported when the
! .Fl v
! option is specified.
! .It Li IP
! The total number of non-TCP packets received by this interface. Only
! reported when the
! .Fl v
! option is specified.
! .El
! .Pp
! The following fields are printed on the output side:
! .Bl -tag -width search
! .It Li OUT
! The total number of bytes transmitted from this interface.
! .It Li PACK
! The total number of packets transmitted from this interface.
! .It Li COMP
! The number of TCP packets compressed and then transmitted from this interface.
! .It Li UNCOMP
! The number of uncompressed TCP packets transmitted from this interface.
! .It Li IP
! The total number of non-TCP packets transmitted from this interface.
! .It Li SEARCH
! The number of searches for the cached header entry for a compressed
! packet.  Only reported when the
! .Fl v
! option is specified.
! .It Li MISS
! The number of failed searches for the cached header entry for a
! compressed packet.  Only reported when the
! .Fl v
! option is specified.
! .El
! .Sh BUGS
! Should use
! .Fl M Ar core
! and
! .Fl N Ar system
! like most other programs using the kvm library.
! .Pp
! Should take an interface name and not a unit number.
! .Pp
! .Sh SEE ALSO
! .Xr sliplogin 1
===================================================================
RCS file: /b/source/CVS/src/usr.sbin/slstats/slstats.c,v
retrieving revision 1.5
diff -c -r1.5 slstats.c
*** 1.5	1994/05/14 18:50:57
--- slstats.c	1994/11/13 11:14:49
***************
*** 154,166 ****
  
  		if ((line % 20) == 0) {
  			printf("%8.8s %6.6s %6.6s %6.6s %6.6s",
! 				"in", "pack", "comp", "uncomp", "err");
  			if (vflag)
! 				printf(" %6.6s %6.6s", "toss", "ip");
  			printf(" | %8.8s %6.6s %6.6s %6.6s %6.6s",
! 				"out", "pack", "comp", "uncomp", "ip");
  			if (vflag)
! 				printf(" %6.6s %6.6s", "search", "miss");
  			putchar('\n');
  		}
  		printf("%8u %6d %6u %6u %6u",
--- 154,166 ----
  
  		if ((line % 20) == 0) {
  			printf("%8.8s %6.6s %6.6s %6.6s %6.6s",
! 				"IN", "PACK", "COMP", "UNCOMP", "ERR");
  			if (vflag)
! 				printf(" %6.6s %6.6s", "TOSS", "IP");
  			printf(" | %8.8s %6.6s %6.6s %6.6s %6.6s",
! 				"OUT", "PACK", "COMP", "UNCOMP", "IP");
  			if (vflag)
! 				printf(" %6.6s %6.6s", "SEARCH", "MISS");
  			putchar('\n');
  		}
  		printf("%8u %6d %6u %6u %6u",