archiver-appliance / epicsarchiverap

This is an implementation of an archiver for EPICS control systems that aims to archive millions of PVs.
Other
40 stars 39 forks source link

Monitor PV unexpected behavior - drops many samples #90

Closed cogansco closed 4 years ago

cogansco commented 4 years ago

We have many PVs which update @ 5 Hz rate. To save space when archiving, we want to immediately decimate by saving 1 Hz instead of 5 Hz. "Scan 1 Hz" schedule works fine, however "Monitor 1 Hz" has unexpected behavior -- there is no data rate limit, only buffer size limit. So "Monitor 1 Hz" quickly fills up the small memory buffer, then drops all subsequent data. Preferred behavior is to drop intermediate samples to achieve rate limit of 1 Hz.

Current behavior (samples vs. time): ..... ..... ..... ..... Desired behavior: . . . . . . . . . . . . . . . . . . . . . . .

To implement, PV monitor could check time difference between the last 2 or 3 samples, and drop samples if over that rate.

Using "Scan 1 Hz" is also a workaround, but there is a concern about extra network traffic and CPU load for scheduling many caget continuously instead of camonitor.

slacmshankar commented 4 years ago

Both Scan and Monitor use camonitors. Please see question 4 in the FAQ - http://slacmshankar.github.io/epicsarchiver_docs/faq.html