Выборочное профилирование Java методов

Руководитель

Николай Тропин

Продукт

IntelliJ IDEA

Город

Санкт-Петербург

Проект

Существует два основных подхода к профилированию Java приложений:

  • с определенной периодичностью брать стектрейсы и смотреть, в каких методах мы оказываемся чаще всего (sampling);
  • инструментировать методы, добавляя счетчики вызовов и т.п. (tracing).

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

Цель проекта: инструментирующий профайлер, отслеживающий дерево вызовов избранного множества методов, с возможностью сохранения аргументов каждого вызова, а также его интеграция с IntelliJ IDEA и визуализация результатов.

Презентация 26 апреля 2017

Требования

Обязательно

  • Java;
  • знакомство с многопоточным программированием.

Будет плюсом

  • опыт работы с java байткодом;
  • опыт в визуализации данных.
Презентация проекта 31 августа 2017