The idea of this monitoring util is to do an intense obeservation of the router queue, and then print a summery every second. This statistics is printed along with other statistics each second.
usage: fifoqstat [options] interface
-i <interval> -> time between kernel stats calls in microseconds
(2000)
-s <howlong> -> how long program executes in seconds
(60)
-o
-> dump options
The interval describes how often the kernel should be probed for the
queue length - we normally use 2000
microseconds which in the real world will allow about 333 samples per
second.
A special note on avg_scale:
The RED average queue length (and many other parameters) is maintained
as a fixed-point value inside the kernel. We use 12-bit decimal
place
for fixed-point values.
redstat reads the average queue length in the fixed-point form to
maintain the precision and the value should be divided by 4096 (2^12).
In redstat.c, the avg_scale can be changed for a debugging purpose but
you should not change it unless you are playing with fixed-point
precision.
time_sec time_usec | time stamp |
s_no | number of samples taken since the last summery print |
q_len | the current length of the queue (not too usefull!) |
min_length | min length of the queue since the last summery |
max_length | max length of the queue since the last summery |
va.avg | the average queuelenght over s_no samples |
va.var | the variance of queue length over s_no samples |
xmit_packets | cumulative number of packets sent |
xmit_bytes | cumulative number of bytes sent |
drop_packets | cumulative droped |
drop_bytes | cumulative bytes droped |
example from fifoqstat:
run:Mon Oct 12 18:21:49 1998
interval:2000
howlong:2760
format:time_sec time_usec s_no q_len min_length max_length va.avg va.var
xmit_packets xmit_bytes drop_packets
drop_bytes kps
908230910 2023 242 0 0 0 0.00 0.00 95 14258 0 0 157.11
908230911 1022 332 0 0 0 0.00 0.00 132 20300 0 0 48.38
908230912 33 332 0 0 0 0.00 0.00 194 30096 0 0 78.37
example from redstat:
run:Mon Oct 12 17:24:39 1998
interval:2000
howlong:2760
avg_scale:4096
format: time_sec time_usec s_no q_len min_length max_length q_avg va.avg
va.var xmit_packets xmit_bytes drop_p
ackets drop_forced drop_unforced marked_packets kps
908227480 2029 55 0 0 0 0.00 0.00 0.00 77 11566 0 0 0 0 560.78
908227481 1024 332 0 0 0 0.00 0.00 0.00 114 17504 0 0 0 0 47.55
If you wan't too see whether the tools are working - be sure to
put enough load on the link otherwise
the summary info may make you belive that something is wrong .