После перерыва на летние каникулы возобновились встречи московского сообщества Java-разработчиков jug.msk.ru. 30 августа 2016 года в офисе компании КРОК была возможность послушать доклад Алексея Рагозина «Диагностические интерфейсы JVM или как сделать профайлер своими руками». Далее — подробности встречи.
О докладчике
Алексей — частый и интересный докладчик на конференциях (Java-конференциях и не только). На jug.msk.ru это его уже третье выступление (что на данный момент — больше, чем у кого-либо). О предыдущих двух выступлениях можно прочитать здесь (4 июня 2015 года) и здесь (20 января 2016 года).
В обзоре предыдущего выступления Алексея приведён на тот момент полный список его докладов со ссылками на видео и файлы презентаций. Дополнение к вышеуказанному списку:
- «Распределённое нагрузочное тестирование на Java» (jug.msk.ru-2016: видео часть1 и часть2, презентация)
- «Что должен знать о сетях каждый Java разработчик?» (JUG.EKB-2016: видео)
Файлы презентаций всех докладов (в т.ч. этого) Алексея находятся на SlideShare. Блог с техническими статьями (например, последний пост — июль этого года, про использование Java Native Interface) здесь.
О докладе
Считанные минуты перед докладом. Слева направо на первом снимке — Алексей Рагозин, Андрей Когунь и Кирилл Толкачёв (Кирилл является героем следующей встречи, см. постскриптум внизу).
Первая часть доклада была посвящена обзору диагностических интерфейсов JVM, доступных для использования. Также были перечислены возможные причины для написания собственного профайлера (определённый интересующий набор метрик, автоматизация сбора информации, компактность большого количества собранных данных и т. д.). Достаточно подробно разобраны диагностические интерфейсы с особенностями их использования.
Был представлен самостоятельно написанный набор утилит командной строки Swiss Java Knife (SJK) для использования стандартных диагностических интерфейсов с добавлением некоторых дополнительных полезных возможностей.
Во второй части встречи продолжилась демонстрация возможностей SJK. Например, на первом снимке внизу Алексей рассказывает о команде ttop. Следующий снимок иллюстрирует флейм-графы (flame graphs) — весьма эффектный способ анализа стек-трейс дампов. В данном случае визуализируется частота присутствия классов в стек-трейсах. Получается что-то похожее на это.
Кроме SJK были перечислены и другие подобные инструменты: BTrace, Sigar, Flight Recorder, Honest Profiler, Perf Map Agent.
В перерыве и после окончания встречи была возможность задать вопросы и пообщаться с Алексеем.
Ссылка на презентацию. Видео и фотографии скоро будут доступны здесь и здесь. Имеется возможность подписаться на рассылку с анонсами следующих встреч jug.msk.ru.
P. S. В ближайший четверг 8 сентября 2016 года ожидается доклад Баруха jbaruch Садогурского и Кирилла tolkkv Толкачёва, зарегистрироваться можно здесь.
Автор: dbelob