В этой статье мы продолжаем обсуждать инструменты в GigaIDE. Напомню, что ранее мы уже рассказывали про наши инструменты для работы с Docker/Podman, файловым SFTP-источником в этой статье, а также с клиентом БД — в этой. Сегодня мы сосредоточимся на инструментах для Java-разработки. Первый плагин в обзоре — Profiler, задача которого состоит в том, чтобы автоматизировать профилирование и визуализацию отчётов, и WildFly, задача которого выполнять подготовку, развёртывание и запуск, и решать другие задачи в отношении серверов приложений WildFly.

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

В принципе, инструменты для профилирования Java-приложений общедоступны и входят даже в JDK. Однако их интеграция в IDE даёт ряд дополнительных преимуществ, таких как:

  • быстрый запуск приложения в режиме профилирования вместо раздельного запуска и последующего подключения профилировщика к JVM;

  • визуализация данных отчёта в IDE с возможностью навигации от элементов отчета к связанному коду.

Помимо этого, плагин Profiler для GigaIDE PRO позволяет:

  • работать с рекордерами JFR и Async-Profiler, визуализируя отчёты в соответствии с возможностями этих инструментов (Async-Profiler недоступен под Windows);

  • визуализировать несколько отчётов для сравнения поведения приложения в разных режимах до и после определённых модификаций кода.

Скриншот GigaIDE с результатами работы профилировщика
Скриншот GigaIDE с результатами работы профилировщика

После установки плагина Profiler, конфигурирования рекордера и создания Run-конфигурации появляется возможность запуска Java-приложения в режиме профилирования.

Конфигурирование и работа с профилировщиком

Перед первым запуском необходимо настроить работу с рекордером:

  1. Откройте File → Settings → Build, Execution, Deployment → Java Profiler.

  2. Создайте настройки для одно из двух рекордеров JFR и Async-Profiler.

  3. Предложенные настройки можно не менять.

Выбор и настройка рекордера
Выбор и настройка рекордера

Быстрый запуск в режиме профилирования и работа с отчётом:

  1. Запустите приложение через маркер запуска напротив стартового типа или метода (функции), выбрав в контекстном меню Start with JFR Profiler (либо можно настроить соответствующую вкладку для Run Configuration).

  2. По окончании выполнения приложения в корневой папке проекта появится файл формата profiler[xxxxxx].jfr.

  3. Откройте окно Profiler (View → Tool Window → Profiler), где в списке будут все доступные отчёты с результатами профилирования.

  4. Выберите необходимые отчёты и нажмите кнопку Show. В дереве окна Solutions появится раздел Metrics, который будет отражать данные для отчётов.

Основные разделы отчёта:

  • Classes — список всех загруженных классов и количество созданных экземпляров;

  • Methods — список вызываемых методов и трейсы цепочек вызовов;

  • Events — список событий и их характеристики;

  • Flame Graph — flame-диаграмма для визуализации времени выполнения методов с учётом последовательности вызовов.

Для Async-Profiler алгоритм подготовки отчёта будет схожим, однако содержимое разделов отчёта будет несколько отличаться. А Flame Graph будет содержать также вызовы системных (нативных) методов.

Видеообзор функциональности плагина Profiler:

Если рекордер JFR является крайне популярным инструментом ввиду того, что включён прямо в JDK, то с возможностями Async‑Profiler могут быть знакомы не все читатели. Для тех, кому эта тема интересна, рекомендуем обзор «сценарий за сценарием» в этой статье.

Интеграция с WildFly-серверами приложений

История JBoss-серверов приложений получила новую главу в рамках проекта WildFly. Если живы COBOL-динозавры, то, видимо, JBoss-стек и подавно рано хоронить. Он также оказался востребованным и в РФ, поэтому мы реализовали поддержку стека WildFly в следующем объёме:

  • cоздание Run-конфигураций для локальных серверов;

  • генерация структуры артефактов в Project Structure;

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

  • отладка приложения через стандартную функциональность.

Пример интерфейса GigaIDE в режиме отладки WildFly-приложения
Пример интерфейса GigaIDE в режиме отладки WildFly-приложения
Конфигурирование и запуск Wildfly-сервера

При импорте проекта автоматически будут сгенерированы артефакты, необходимые для запуска проекта.

Проверить их наличие можно так: File → Project Structure, раздел Project Settings, подраздел Artifacts. При их отсутствии необходимо повторно запустить импорт maven-проекта (окно Maven, действие Reload maven project).

Пример окна Project Structure cо сгенерированными артефактами
Пример окна Project Structure cо сгенерированными артефактами

Создание конфигурации Run/debug:

  • Открыть Run → Edit Configurations → Add → WildFly Server.

  • Настроить конфигурацию, учтя обязательность заполнения следующих параметров:

    • Before launch. Задачи перед запуском конфигурации (добавляется через Modify options → Add before launch task, добавить задачу Build и Build Artifacts выбранных артефактов для сборки артефактов перед развёртыванием).

    • Application server. Путь до директории с сервером WildFly.

    • Operation mode. Тип запуска сервера.

    • Deployed artifacts. Окно с выбором артефактов, для которых будет выполнено развёртывание после запуска WildFly.

Видеообзор функциональности плагина WildFly:

Подробнее про технологический стек Wildfly можно узнать на официальной странице проекта.

Для тех, кто давно «перебрался» на стек Docker, рекомендуем обзор функциональности по работе с Docker в GigaIDE PRO в этой статье. Если вы для выполнения приложений используете технологию Tomcat, то можете установить OS-плагин SmartTomcat из нашего маркетплейса.

Обзор других «доисторических» Java-фреймворков, которые, однако, ещё часто встречаются в корпоративной разработке ПО и поэтому поддерживаются на стороне GigaIDE PRO, можно найти здесь.


Как развивается функциональность GigaIDE, можно узнать из наших ежемесячных обзоров. Обзор за март доступен по этой ссылке.

Если у вас есть вопросы или предложения по функциональности, пишите в поддержку: https://gitverse.ru/support

Автор: Андрей Слекеничс, PO GigaIDE.

Комментарии (0)