The core of JRDS is a probe. An object whose purpose is to collect data, store them and provide graphs associated.
Each probe is described in a Probe description, usually a small xml file. This file provides the list of data sources used to store values, a list of graph used to display collected values. Each probe description must be associated to a java class that does the collect, implementing the protocol used to connect.
Probes are instantiated within a host, usually a network object that is monitored using different protocols like SNMP or WMI.
Values of the kind COUNTER are supposed to increase permanently as the accumulate event count. But sometime the reset to zero. There is two different possible source for that.
- A counter overflow, especially for 32 bits counter.
- the node restarted and so reset the counter.
JRDS needs a way to discriminate those two events. For that it use the uptime of the node or of the probe. If it's low, it discard values, introducing a hole in the count. In the contrary case, it's supposed to be an overflow, and then RRD4J manage that.