Files
Bubberstation/code/controllers
Kylerace 9fb2a54c30 Adds Subsystem Profile Focusing (#81461)
## About The Pull Request
adds a var to /subsystem that when toggled to true by an admin makes
/subsystem/ignite() start the profiler before calling fire() and then
stop the profiler after, this allows us to audit any individual
subsystems synchronous call chain.
## Why It's Good For The Game

![Screenshot_3275](https://github.com/tgstation/tgstation/assets/15794172/27d5e4b0-ab06-451f-b4b4-97d31fd06385)
when SSInput is focused

![Screenshot_3274](https://github.com/tgstation/tgstation/assets/15794172/55572861-3f71-4b6c-bb63-f1dfbbe2ab26)
when SSair is focused

some subsystems are hard to profile performance issues for because
theres a billion procs downstream of them in the profiler and some of
them arent even unique to them (if a subsystem is spending half of its
time in some procs downstream of /_SendSignal() how could you tell). now
we can just do it. starting (and stopping?) the profiler itself is
expensive and this messes with the full round profiler but this is worth
it.

also this doesnt help with sleeping procs / timers created downstream of
that subsystem.
## Changelog
🆑
admin: admins/maintainers can now make the profiler focus on specific
subsystems by setting the subsystem var profile_focused to TRUE
/🆑
2024-02-15 03:15:55 -08:00
..