Pretty much every WaitConditionLoop caller needs to check the result for CONDITION_TIMED_OUT, and if it is found, log an informative message.
This is an action item from the API cluster overload observed today. The only visibility we had into the cause of the outage was Xenon (which has poor time resolution) and perf (which is tedious). If something on the production cluster is reaching a timeout after several seconds of waiting, we need to know that.
WaitConditionLoop itself is not capable of logging because it is a separate library with no PSR-3 logger passed to its constructor.