this needs testing, and it removes options, but it's a lot more simple conceptually and in the code.
A single thread collects, via a queue, signals coming from the instrumented
application. It then batches signals according to their type, alongside a
batch-level timestamp, and sends the whole batch at once if it became big
enough or old enough. Sending is performed on a pool of background threads that
use ezcurl.
this needs testing, and it removes options, but it's a lot more simple conceptually and in the code.
A single thread collects, via a queue, signals coming from the instrumented application. It then batches signals according to their type, alongside a batch-level timestamp, and sends the whole batch at once if it became big enough or old enough. Sending is performed on a pool of background threads that use ezcurl.