В этой статье мы продолжаем обсуждать инструменты в GigaIDE. Напомню, что ранее мы уже рассказывали про наши инструменты для работы с Docker/Podman, файловым SFTP-источником в этой статье, а также с клиентом БД — в этой. Сегодня мы сосредоточимся на инструментах для Java-разработки. Первый плагин в обзоре — Profiler, задача которого состоит в том, чтобы автоматизировать профилирование и визуализацию отчётов, и WildFly, задача которого выполнять подготовку, развёртывание и запуск, и решать другие задачи в отношении серверов приложений WildFly.
Профилирование Java-приложений
В принципе, инструменты для профилирования Java-приложений общедоступны и входят даже в JDK. Однако их интеграция в IDE даёт ряд дополнительных преимуществ, таких как:
быстрый запуск приложения в режиме профилирования вместо раздельного запуска и последующего подключения профилировщика к JVM;
визуализация данных отчёта в IDE с возможностью навигации от элементов отчета к связанному коду.
Помимо этого, плагин Profiler для GigaIDE PRO позволяет:
работать с рекордерами JFR и Async-Profiler, визуализируя отчёты в соответствии с возможностями этих инструментов (Async-Profiler недоступен под Windows);
визуализировать несколько отчётов для сравнения поведения приложения в разных режимах до и после определённых модификаций кода.

После установки плагина Profiler, конфигурирования рекордера и создания Run-конфигурации появляется возможность запуска Java-приложения в режиме профилирования.
Конфигурирование и работа с профилировщиком
Перед первым запуском необходимо настроить работу с рекордером:
Откройте File → Settings → Build, Execution, Deployment → Java Profiler.
Создайте настройки для одно из двух рекордеров JFR и Async-Profiler.
Предложенные настройки можно не менять.

Быстрый запуск в режиме профилирования и работа с отчётом:
Запустите приложение через маркер запуска напротив стартового типа или метода (функции), выбрав в контекстном меню Start with JFR Profiler (либо можно настроить соответствующую вкладку для Run Configuration).
По окончании выполнения приложения в корневой папке проекта появится файл формата profiler[xxxxxx].jfr.
Откройте окно Profiler (View → Tool Window → Profiler), где в списке будут все доступные отчёты с результатами профилирования.
Выберите необходимые отчёты и нажмите кнопку 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;
развёртывание собранного приложения на локальном сервере;
отладка приложения через стандартную функциональность.

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

Создание конфигурации 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.