- PVSM.RU - https://www.pvsm.ru -

Алексей Рагозин о диагностических интерфейсах JVM на jug.msk.ru

После перерыва на летние каникулы возобновились встречи московского сообщества Java-разработчиков jug.msk.ru [1]. 30 августа 2016 года в офисе компании КРОК была возможность послушать доклад Алексея Рагозина «Диагностические интерфейсы JVM или как сделать профайлер своими руками». Далее — подробности встречи.

Алексей Рагозин о диагностических интерфейсах JVM на jug.msk.ru - 1

О докладчике

Алексей — частый и интересный докладчик на конференциях (Java-конференциях и не только). На jug.msk.ru это его уже третье выступление (что на данный момент — больше, чем у кого-либо). О предыдущих двух выступлениях можно прочитать здесь [2] (4 июня 2015 года) и здесь [3] (20 января 2016 года).

В обзоре предыдущего выступления [3] Алексея приведён на тот момент полный список его докладов со ссылками на видео и файлы презентаций. Дополнение к вышеуказанному списку:

  • «Распределённое нагрузочное тестирование на Java» (jug.msk.ru-2016: видео часть1 [4] и часть2 [5], презентация [6])
  • «Что должен знать о сетях каждый Java разработчик?» (JUG.EKB-2016: видео [7])

Файлы презентаций всех докладов (в т.ч. этого) Алексея находятся на SlideShare [8]. Блог с техническими статьями (например, последний пост — июль этого года, про использование Java Native Interface) здесь [9].

О докладе

Считанные минуты перед докладом. Слева направо на первом снимке — Алексей Рагозин, Андрей Когунь и Кирилл Толкачёв (Кирилл является героем следующей встречи, см. постскриптум внизу).

Алексей Рагозин о диагностических интерфейсах JVM на jug.msk.ru - 2

Первая часть доклада была посвящена обзору диагностических интерфейсов JVM, доступных для использования. Также были перечислены возможные причины для написания собственного профайлера (определённый интересующий набор метрик, автоматизация сбора информации, компактность большого количества собранных данных и т. д.). Достаточно подробно разобраны диагностические интерфейсы с особенностями их использования.

Был представлен самостоятельно написанный набор утилит командной строки Swiss Java Knife [10] (SJK) для использования стандартных диагностических интерфейсов с добавлением некоторых дополнительных полезных возможностей.

Алексей Рагозин о диагностических интерфейсах JVM на jug.msk.ru - 3

Во второй части встречи продолжилась демонстрация возможностей SJK. Например, на первом снимке внизу Алексей рассказывает о команде ttop [11]. Следующий снимок иллюстрирует флейм-графы (flame graphs [12]) — весьма эффектный способ анализа стек-трейс дампов. В данном случае визуализируется частота присутствия классов в стек-трейсах. Получается что-то похожее на это [13].

Кроме SJK были перечислены и другие подобные инструменты: BTrace [14], Sigar [15], Flight Recorder [16], Honest Profiler [17], Perf Map Agent [18].

В перерыве и после окончания встречи была возможность задать вопросы и пообщаться с Алексеем.

Алексей Рагозин о диагностических интерфейсах JVM на jug.msk.ru - 4

Ссылка на презентацию [19]. Видео и фотографии скоро будут доступны здесь [20] и здесь [21]. Имеется возможность подписаться на рассылку [1] с анонсами следующих встреч jug.msk.ru.

P. S. В ближайший четверг 8 сентября 2016 года ожидается доклад Баруха jbaruch [22] Садогурского и Кирилла tolkkv [23] Толкачёва, зарегистрироваться можно здесь [24].

Автор: dbelob

Источник [25]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/java/183379

Ссылки в тексте:

[1] jug.msk.ru: http://jug.msk.ru

[2] здесь: http://dbelob.blogspot.ru/2015/06/java-java-jugmskru.html

[3] здесь: https://habrahabr.ru/post/275883/

[4] часть1: https://www.youtube.com/watch?v=70y83wBGhOU&list=PLojTLDAO4jjIRjDPIQjc4iG7CfR6m8pfc&index=27

[5] часть2: https://www.youtube.com/watch?v=By1reBt7pwg&list=PLojTLDAO4jjIRjDPIQjc4iG7CfR6m8pfc&index=26

[6] презентация: http://www.slideshare.net/aragozin/java-57296922

[7] видео: https://www.youtube.com/watch?v=JIqR7ysbFR8

[8] SlideShare: http://www.slideshare.net/aragozin

[9] здесь: http://blog.ragozin.info

[10] Swiss Java Knife: https://github.com/aragozin/jvm-tools

[11] команде ttop: https://github.com/aragozin/jvm-tools/blob/master/sjk-core/COMMANDS.md#ttop-command

[12] flame graphs: http://www.brendangregg.com/flamegraphs.html

[13] это: http://www.brendangregg.com/FlameGraphs/cpu-mysql-updated.svg

[14] BTrace: https://github.com/jbachorik/btrace2

[15] Sigar: https://github.com/hyperic/sigar

[16] Flight Recorder: https://docs.oracle.com/javacomponents/jmc-5-4/jfr-runtime-guide/about.htm

[17] Honest Profiler: https://github.com/RichardWarburton/honest-profiler

[18] Perf Map Agent: https://github.com/jrudolph/perf-map-agent

[19] Ссылка на презентацию: http://www.slideshare.net/aragozin/java-profiling-diy-jugmskru-2016

[20] здесь: http://vk.com/jugmsk

[21] здесь: https://plus.google.com/communities/115981831554057619568

[22] jbaruch: https://habrahabr.ru/users/jbaruch/

[23] tolkkv: https://habrahabr.ru/users/tolkkv/

[24] здесь: https://jugmsk.timepad.ru/event/368790/

[25] Источник: https://habrahabr.ru/post/309118/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best