JetBrains logo

IntelliJ IDEA

Профилирование Java-приложений
без проблем

Отслеживайте и анализируйте производительность приложения прямо в IntelliJ IDEA.

Краткое руководство по профилированию Java

Профилируйте приложение прямо в IDE.

Профилирование Java-приложений

Быстрый старт

Чтобы начать профилирование в IntelliJ IDEA, нажмите на три точки в правом верхнем углу IDE или на значок «Play» рядом со строкой кода и выберите Profile with IntelliJ Profiler.

Визуализация данных о производительности кода в редакторе

Визуализация данных о производительности кода в редакторе

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

Графики загрузки ЦП и памяти в реальном времени для Java-приложения

Графики использования ЦП и памяти в реальном времени

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

Снэпшоты производительности

Просматривайте и анализируйте снэпшоты Java-приложения и навигируйтесь по ним в IDE.

Представление флейм-графов в профилировщике для Java-приложения

Флейм-граф

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

Представление дерева вызовов в профилировщике для Java-приложении

Дерево вызовов

На этой вкладке отображается процент времени процессора, используемого различными методами, путь выполнения метода в приложении, а также общее количество выборок. Дерево вызовов — удобный способ оценить общую активность приложения и найти проблемные пути выполнения.

Представление списка методов в профилировщике для Java-приложения

Список методов

В этом представлении отображается список методов, выполненных во время профилирования данных. Методы сортируются по совокупному времени сэмплирования. Для каждого выбранного метода есть несколько представлений, которые показывают либо вызывающие, либо вызываемые методы исследуемого метода.

Представление хронологии в профилировщике для Java-приложения

Хронология

Это визуальное представление активности потоков с течением времени. Оно помогает выявлять необычную активность сборщика мусора, проблемы с многопоточностью (например, блокировки livelocks) и т. п.

Анализ дампов динамической памяти Java-приложения

Анализ дампов динамической памяти

В IntelliJ IDEA можно проанализировать снэпшоты .hprof, чтобы выявить утечки памяти в коде и найти объекты, потребляющие больше всего памяти.

Анализ дампов потоков Java-приложения

Анализ дампов потоков

Дампы потоков регистрируют состояние Java-приложения в определенный момент времени. Это помогает обнаруживать проблемы с синхронизацией в любых процессах.

Полезные материалы о профилировании Java

Руководства