Oh, I just realized these frame usage OIDs are being returned as Counter32 instead of Integer, UInteger32 or Guage32. This is a very bad decision. Example:

CAMBIUM-PMP80211-MIB::ulWLanTotalAvailableFrameTimePerSecond.0 = Counter32: 234200
CAMBIUM-PMP80211-MIB::ulWLanTotalUsedFrameTimePerSecond.0 = Counter32: 456
CAMBIUM-PMP80211-MIB::dlWLanTotalAvailableFrameTimePerSecond.0 = Counter32: 734199
CAMBIUM-PMP80211-MIB::dlWLanTotalUsedFrameTimePerSecond.0 = Counter32: 13072

Correct implementation in GPS satellites OIDs:
CAMBIUM-PMP80211-MIB::cambiumGPSNumVisibleSat.0 = INTEGER: 14
CAMBIUM-PMP80211-MIB::cambiumGPSNumTrackedSat.0 = INTEGER: 9

Counters go up over time and never go down, so any rrd-backed application (and likely others) is going to assume that any time a sample is smaller than the prior sample, that the "counter" rolled over (resulting in huge spikes) and will spoil the visualization of the data.

Hello Dan Parrish,


It shouldn't use Integer for read-only parameters. In this implementation Counter32 is Integer with read-only mask. Counter32 can go up and down over time.


Thank you.