Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
The only way currently of knowing if the configured number of endpoints is sufficient to cover the incoming requests, is to see if a BackpressureException occurs. It would be good to give some more transparency on how full the ring buffer is, ideally split up by query/kv etc. Perhaps in the form of periodic dumping to log, or an API. Would be good to give an idea of latency too, e.g. what's the oldest query in the ring buffer.
Taking this on. Going to see what we can do about tracking requests vs responses in-mem, grouping them by their service, and giving some mechanism to access that. Could add them to the BackpressureException as a useful starting point, so you know which service has mostly filled the ring buffer.