Due to a restrain on the C++ gRPC API, we are not able to send or receive more than one message at a time on a given stream. This can lead to contention if we are to use the same stream for multiple threads like the original implementation suggested. Alternative implementations and workarounds have been propose here: https://docs.google.com/document/d/1Q_R-PmAum3dc6kuiOZZzAvsqjYXtaoNicF-bMaQJGNU/edit?tab=t.0#heading=h.ra6c2phd2frs
This ticket tracks the implementation of the third option, splitting the rpc method in the collector service.