I have a (multi-process) daemon, written in C.
I would like it to make its internal counters available to observing processes on the same machine.
It is critical that this daemon is never stopped or significantly slower by an observer. If an observer is unable to keep up, it should just lose updates, not slow the daemon.
I've considered shared memory and unix domain sockets.
Are there better approaches?