На практике, задачи требующие применения профайлера встречаются не часто. По этой причине у разработчиков обычно нет возможности научиться эффективно владеть этим инструментом на собственном опыте.
С другой стороны, эффективное использование профайлера в критической ситуации может драматически сократить время решения проблемы (от недель и месяцев до считанных дней).
Данный учебный курс даёт разработчику ключевые знания и навыки для эффективного применения профайлера в своей работе.
Курс так же может быть полезен для специалистов в области больших данных (Big Data).
Разработчики / архитекторы Java (всех уровней подготовки), Big Data инженеры, SRE (Site Reliability Engineer).
Для работы с упражнениями участникам курса необходим компьютер.
Следующее ПО должно быть установлено у участников тренинга.
Может быть использована любая операционная система.
Алексей Рагозин автор курса и тренер, имеет более 10 лет опыта в области разработки высоко нагруженных распределенных систем в различных индустриях. Алексей активный докладчик на российских и зарубежных конференциях в области ПО и контрибьютор в OpenSource.
Курс организован в виде 8 академических пар (90 минут):
Введение. Подход к анализу проблемы сверху вниз. Классификация типовых проблем и дерево принятия решений. Базовая диагностика проблемного приложения с использованием инструментов JDK.
Поиск "горячего кода" методом сэмплирования дампов потоков. Работа с VisualVM. Визуализация результатов сэмплирования: дерево вызовов, инвертированное дерево вызовов, flame graph.
Сброка мусора и его влияние на производительность. Анализ логов сборки мусора. События сборки мусора в Mission Control / Java Flight Recorder. Критерии нормальной работы сборщика мусора.
Анализ содержимого памяти JVM. Использование гистограмм классов для анализа статической и динамической нагрузки на память. Получение дампа памяти JVM и работа с ним. Использование языка запрос OQL для анализа дампов.
Углублённая работа с Java Flight Recorder. Семплирование аллокаций памяти и другие возможности инструмента.
Закрепление темы сэмплирования дампов потоков. Демонстрация смещения оценки характерной для сэмплирования.
Использование трассировки при поиске узких мест. Трассировка с использование Visual VM. Трассировка с помощью BTrace. Анализ проблем многопоточности. Демонстрация различных вариантов межпоточных блокировок (deadlocks) и методы их обнаружения.
Заключительная лекция. Особенности коммуникации промежуточных результатов анализа для нетехнической аудитории. Комбинирование профилирования и других способов исследования.
Напоминаем, что для того чтобы восстановить билет или сделать возврат организатору можно не писать.
Если вы хотите вернуть билеты, вы можете сделать это по ссылке из письма с билетами или оформить запрос организатору в вашем  личном кабинете.