When hunting for hanging references, sleeping procs pose a very frustrating challenge.
There's no way to look at them programmatically. We can't manually scan them, which I can live with, but we also have no idea what even is sleeping at any one time if we're looking at logs.
There ARE ways to dump a list of sleeping procs, byond://?debug=status in particular comes to mind, but that only really works if there's a user on the other end to read the output.
It would be very nice to have a global proc that just dumps a list of all sleeping procs by name. Extra details like read only scoped vars (or seeing the whole slept stack) and such would be amazing, but I realize the likelyhood of that is very low.
This would not only aid massively in hard delete debugging, it would also allow us to track the volume of sleeping procs over time.
Controlling the amount of sleeping procs is important for managing cpu usage, especially for /tg/ codebases that rely on a handrolled scheduler.
We can't really do it on a metric level right now like we do for things like overrun or maptick, and I'd like to change that, or at least try to.
ID:2884204
Aug 11 2023, 4:31 pm
|
|||||||
| |||||||
Aug 14 2023, 1:25 am
|
|
We need this this is a great idea!!!!!!
|
In the meantime we have been forced to use the following hax in order to get byond://?debug=status input from DM: https://gist.github.com/Mothblocks/ 06b415afd75672fb03637804435350d2
|
+1, this would be really handy to automatically export when the server is having issues
|