Андрей Паньгин — Лучший отладчик — сделанный своими руками

Java разработчики привыкли: утекает память — запускай Eclipse Memory Analyzer, проблемы с производительностью — профилируй с YourKit. Но зачастую стандартных средств не хватает, например, когда ошибка проявляется только в production, куда и дебаггером не подключиться, и 10-гигабайтный heap dump не снять без перебоев в обслуживании.

Сделать собственный инструмент, заточенный под конкретную проблему — легко! Порой даже быстрее, чем найти готовое решение в интернете. JDK включает богатый инструментарий для написания всевозможных средств отладки и мониторинга: JVMTI, Dynamic Attach Mechanism, Serviceability Agent, Instrumentation API и т.п. Мы научимся ими пользоваться, узнаем, как устроены изнутри jstack, jmap и jstat, и даже напишем подобную утилиту сами во время доклада. За основу примеров взяты случаи из практики в «Одноклассниках», а также реальные проблемы разработчиков, обсуждаемые на Stack Overflow.

  1. Андрей Паньгин
    Ведущий инженер проекта «Одноклассники» компании Mail.Ru Group. C 2011 года занимается программной платформой, лежащей в основе сервисов портала. До этого 6 лет работал в Sun Microsystems, разрабатывая виртуальные машины Java от CLDC HI до HotSpot JVM. Интересуется низкоуровневым системным программированием. Увлекается покером. Катается на северных ездовых собаках.