latencybins - comp utility for scripts/latency-histogram
Usage:
Read availablebins pin for the number of bins available.
Set the maxbinnumber pin for the number of ± bins.
Ensure maxbinnumber <= availablebins
For maxbinnumber = N, the bins are numbered:
-N ... 0 ... + N bins
(the -0 bin is not populated)
(total effective bins = 2*maxbinnumber +1)
Set nsbinsize pin for the binsize (ns)
Iterate:
Set index pin to a bin number: 0 <= index <=
maxbinnumber.
Read check pin and verify that check pin == index pin.
Read output pins:
pbinvalue is count for bin = +index
nbinvalue is count for bin = -index
pextra is count for all bins > maxbinnumber
nextra is count for all bins < maxbinnumber
latency-min is max negative latency
latency-max is max positive latency
If index is out
of range ( index < 0 or index > maxbinnumber)
then pbinvalue = nbinvalue = -1.
The reset pin may be used to restart.
The latency pin outputs the instantaneous latency.
Maintainers note: hardcoded for MAXBINNUMBER==1000
latencybins.N
latencybins.N.maxbinnumber
s32 in (default: 1000)
latencybins.N.index s32 in
latencybins.N.reset bit in
latencybins.N.nsbinsize s32 in
latencybins.N.check s32 out
latencybins.N.latency s32 out
latencybins.N.latency-max s32 out
latencybins.N.latency-min s32 out
latencybins.N.pbinvalue s32 out
latencybins.N.nbinvalue s32 out
latencybins.N.pextra s32 out
latencybins.N.nextra s32 out
latencybins.N.variance s32 out
latencybins.N.availablebins s32 out
(default: 1000)
Dewey Garrett
GPL