Skip to content
  • Marcin Harasimczuk's avatar
    feature: Probe buffering of 10-second probes in szbase (pre sz4) format. · a940f7d8
    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