-
Marcin Harasimczuk authored
Activate using "probes_buffer_size=60" in "szarp.cfg" to activate this feature so that 10 second probes will be transfered to disk every 10 minutes. WARNING: You will need to use pserver-lite (instead of probes_server) to see current porbes (probes_server will only show data from disk). This feature is a necessity when SZARP is working on vulnerable flash memory types (ex. some types of SD-cards). Format of szbase is extremely disk intensive (multiple 2-byte writes to same descriptor). prober: + Connect to buffered probes segment. + Create snapshot of segment for *drift correction issues. + Correct +1/-1 *drifts. *drifts: Drifts are caused inherently by parcook-prober communication design which assumes that prober will reach for current probe within 10-second window. This is not always true on embedded systems suffering from heavy load. This issue is challenged by this commit by means of optimisation of prober database writes as well as buffering and active wait on prober side. Drift fixing is of course a method of additional buffering that allows to reach for past probes as wall as wait for probes that are not yet here. Currently only +1/-1 cycle (10-seconds) drifts are fixed but much greater drifts are actually fixable by buffered snapshots (not yet implemented). pserver-lite: + Check shared memory for probes that are not on disk but are expected. + Allow access to full range of probes (disk + shared memory). meaner: + Optimise database writes (write probes in chunks - open file once).
a940f7d8