Как проверить виртуальные потоки на работающей JVM?

Я использовал Project Loom для возрождения игрового сервера — это очень старый код, который был написан еще в те времена, когда еще были зеленые потоки, поэтому написание сервера по модели «один поток на соединение» не было необоснованным — и он работает довольно хорошо, особенно учитывая, что это функция предварительного просмотра.

(Я знаю, это предварительная версия функции, но это личный проект, и я буду рад внести изменения, если API изменятся в будущем — лучше, чем переписывать проверенный в боях код, который уже хорошо выполняет свою работу)

В традиционном приложении на основе потоков я бы использовал VisualVM для проверки запущенных потоков, но виртуальные потоки на самом деле являются рабочей нагрузкой, и они там не отображаются (я вижу только пул потоков, который они разделяют). Интересно, придумал ли кто-нибудь уже инструмент, позволяющий проверять виртуальные потоки (например, чтобы точно знать, где они заблокированы или запущены, сколько их вокруг и т. д.); это очень помогло бы мне с отладкой мелких вещей.

Любой совет?

0 ответов

Другие вопросы по тегам