Alex had the idea of detecting Fiber deadlock. In general I think that's difficult, but we could simply log a warning if a Fiber is ever blocking. Every Fiber deadlock is also a Fiber block. And there's no reason a Fiber should ever need to block anyway.
In the simplest form, this could just mean adding a new kind of jetlang BatchExecutor (perhaps a decorator for BatchExecutors, or perhaps just change ExceptionHandlingBatchExecutor) that times its Runnables and logs a warning if their running time ever exceeds a certain cutoff.
Alex had the idea of detecting Fiber deadlock. In general I think that's difficult, but we could simply log a warning if a Fiber is ever blocking. Every Fiber deadlock is also a Fiber block. And there's no reason a Fiber should ever need to block anyway.
In the simplest form, this could just mean adding a new kind of jetlang BatchExecutor (perhaps a decorator for BatchExecutors, or perhaps just change ExceptionHandlingBatchExecutor) that times its Runnables and logs a warning if their running time ever exceeds a certain cutoff.