Об этом проекте
Arthas — это открытый инструмент диагностики Java от Alibaba. Его заявленная цель — позволить разработчикам устранять проблемы в production-среде приложений на Java без изменения кода или перезапуска серверов. В README указано, что Arthas является наблюдателем, который не приостанавливает существующие потоки, решая распространённую проблему, когда production-окружения недоступны из локальных сред разработки, а удалённая отладка в IDE или добавление логирования медленны или рискованны.
Ключевые возможности, описанные в README: проверка загрузки класса и места его загрузки (полезно при конфликтах jar-файлов); декомпиляция классов; просмотр статистики класслоадеров, включая количество, иерархию и возможные утечки; инспекция деталей вызова методов, включая параметры, возвращаемые значения и выбрасываемые исключения; просмотр трассировок стека для указанного вызова метода; трассировка вызовов методов для поиска медленных подвызовов; мониторинг статистики методов, включая QPS, время ответа и процент успешных вызовов; мониторинг системных метрик, состояний потоков, загрузки CPU и статистики GC; интерактивный режим командной строки с автодополнением; доступ по telnet и websocket для локальной и удалённой диагностики через командную строку или браузер; поддержка профайлера/флейм-диаграмм; получение объектов в heap, являющихся экземплярами указанного класса; поддержка JDK 8+ в версии 4.x, включая JDK 17, 21 и 25, на Linux, Mac и Windows.
Показаны варианты установки: рекомендуемый arthas-boot.jar, запускаемый через java, или однострочный скрипт установки, который загружает as.sh на Linux, Unix и Mac. Ссылки на документацию охватывают руководство пользователя, установку, загрузку, быстрое начало, расширенное использование, команды, веб-консоль, Docker, Spring Boot starter, кейсы использования, FAQ, руководство по участию и примечания к выпускам.
Примеры функций в README демонстрируют dashboard (ранжирование потоков по использованию CPU), jad (декомпиляция), mc (компиляция .java в .class в памяти), retransform (горячая замена загруженных классов), sc (поиск загруженных классов с подробными метаданными), vmtool (получение экземпляров heap для класса), stack (просмотр call stack метода), trace (поиск медленных вызовов методов), watch (наблюдение за параметрами и исключениями при условиях), monitor (периодическая статистика вызовов), tt/time tunnel (запись данных вызовов для последующего осмотра), classloader (список класслоадеров и подсчёт загруженных классов), веб-консоль и профайлер/флейм-диаграммы.
В README также упоминается более 120 зарегистрированных пользователей и перечисляются производные проекты, такие как Bistoury, а также благодарности проектам: bytekit, greys-anatomy, termd, crash, cli, memory compiler, Apache Commons Net и async-profiler.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.