jugru JUG.ru Meetup #46 (14.05.2015 — 14.05.2015)

JVM diagnostic interfaces, or How to make a profiler with your own hands

img

В Java экосистеме, мы имеем богатейший арсенал профайлеров. Коммерческие и бесплатные, различные продукты соревнуются, чтобы завоевать расположение Java разработчиков.

Большинство этих профайлеров, тем не менее, используют одни и те же диагностические интерфейсы предоставляемые JVM. И эти интерфейсы доступны для всех.

Зачем разработчику приложения может понадобиться доступ к диагностическим интерфейсам JVM?

Причины могут быть разные:

  • добавить элементы самодиагностики в приложение;

  • автоматизировать сбор диагностической информации;

  • сделать свой профайлер заточенный под приложение.

В докладе, будут освещены основные диагностические интерфейсы JVM, доступные Java разработчику (Attach API, инструментация, хип дампы, JMX и т.п.) и несколько простых инструментов построемых с их помощью.