Профиль сервиса
Профиль сервиса — это раздел Axelix для одного сервиса. Он объединяет все экраны диагностики и проверки одного сервиса Spring Boot за одной боковой панелью, чтобы можно было переключаться между бинами, логгерами, дампами потоков и остальным, не теряя контекста рассматриваемого сервиса.
Чтобы войти в Профиль сервиса, нажмите на карточку сервиса на Панели. Первый экран, на который вы попадаете, — это Детали.
Структура
В Профиле сервиса есть два раздела:
- На левой боковой панели перечислены все страницы возможностей, доступные для сервиса.
- В основной области контента отображается текущая выбранная страница возможности.
Группы боковой панели
Боковая панель разделена на три группы. Каждую группу можно развернуть или свернуть независимо, а текущая открытая страница выделена.
Аналитика
Общая информация о работе сервиса.
- Детали: визитка сервиса. Показывает данные сборки, Git-ревизию, поставщика JDK и метаданные среды выполнения, плюс действие Выгрузить состояние, которое экспортирует ZIP-архив с выбранными диагностическими данными (дамп кучи, дамп потоков, логи, бины, кэши и т. д.) для оффлайн-анализа.
- Метрики: метрики Micrometer в реальном времени, предоставляемые сервисом, автоматически сгруппированные по префиксу в логические категории — JVM, HTTP, JDBC и т.д.. В каждую метрику можно провалиться, чтобы увидеть её текущее значение и параметры тегов.
- Логгеры: список всех настроенных логгеров и групп логгеров в сервисе с указанием
текущего уровня. Уровень можно менять на лету (например, поднять пакет до
DEBUG, пока воспроизводится баг), задать его только до выбранного времени и сбросить обратно к исходному значению, когда закончите. Также доступно как MCP-инструмент. - Анализатор зависимостей: зависимости, которые использует приложение, сгруппированные по экосистемам (персистентность, веб, безопасность и другие), со статусом поддержки каждого проекта и окном OSS-поддержки линейки Spring Boot, на которой работает приложение. Пункт появляется, только если стартер сервиса это поддерживает.
Spring Framework
Интроспекция, специфичная для Spring.
- Окружение: разрешённый Spring
Environmentсервиса. Каждое активное свойство сгруппировано по источнику (системные свойства,application.yaml, аргументы командной строки и так далее), поэтому вы видите не только фактическое значение, но и то, какой источник свойств его предоставил, какие значения перекрыты источником с более высоким приоритетом и какие свойства устарели. Также доступно как MCP-инструмент. - Бины: каждый бин в контексте приложения с его областью видимости (Singleton, Prototype, Request,
Session и другими), зависимостями, псевдонимами, квалификаторами и источником (
@Component,@Bean-метод,FactoryBean, синтетический). Бины, за которыми стоит@ConfigurationProperties, ведут напрямую на соответствующую запись на странице Свойства конфигурации. Также доступно как MCP-инструмент. - Свойства конфигурации: все бины, помеченные
@ConfigurationProperties, и текущее значение каждого их поля. Позволяет увидеть, что в действительности содержится в ваших типизированных объектах конфигурации во время работы, вместо того чтобы выводить это из YAML. Также доступно как MCP-инструмент. - Запланированные задачи: каждая
@Scheduledзадача в сервисе, сгруппированная по типу триггера (cron, фиксированная задержка, фиксированная частота). Задачу можно приостановить или возобновить, отредактировать её расписание и запустить разовый прогон вручную. Также доступно как MCP-инструмент. - Условия: результат вычисления Spring-условий
@Conditionalдля каждого бина-кандидата, разделённый на положительные и отрицательные совпадения. Эта страница — самый быстрый способ выяснить, какое условие помешало автоконфигурации поставить ожидаемый вами бин. Также доступно как MCP-инструмент. - Кэши: Spring-кэши, зарегистрированные в сервисе, сгруппированные по их кэш менеджерам. Показывает частоту попаданий и промахов, примерное количество записей и позволяет очищать отдельные кэши или сразу все. Также доступно как MCP-инструмент.
- Мониторинг транзакций: каждый
@Transactionalметод, который выполнял сервис, с временем выполнения и проблемами, найденными внутри транзакции: блокирующими сетевыми вызовами, запросами N+1 и пагинацией в памяти. Также доступно как MCP-инструмент. - Карта сущностей: проверяет JPA-маппинг каждой сущности и показывает
ассоциации, замапленные так, что это стоит лишних запросов: жадную загрузку,
@ManyToManyна основеList, каскадREMOVEилиALLи однонаправленный@OneToMany. Также доступно как MCP-инструмент.
JVM
Диагностика на уровне JVM.
- Дамп потоков: снимок каждого живого потока JVM с его состоянием, стеком вызовов, счётчиками blocked/waited и информацией о владельце блокировки. На странице также можно переключать мониторинг конкуренции потоков за блокировки на работающей JVM.
- Сборщик мусора: логи сборщика мусора, поступающие из сервиса. Логирование сборщика мусора обычно отключено в продакшен-JVM по умолчанию, поэтому страница выставляет действие Включить логирование сборщика мусора, которое его включает без перезапуска сервиса.
Доступ через MCP
Некоторые из перечисленных выше функций также доступны как инструменты MCP-сервера, встроенного в Axelix Master, так что ИИ-агент, подключённый по MCP, может прочитать те же данные. Полный каталог зарегистрированных инструментов можно посмотреть на экране MCP, а актуальный справочный список с именами, тегами и разграничением доступа по ролям живёт в MCP-инструменты.
См. также
Панель
Панель — лендинг-страница по умолчанию в Axelix.
Пользователи
Экран Пользователи — это место, где видно, кто может войти в Axelix Master, какая роль закреплена за каждым аккаунтом, и — при включённой локальной аутентификации — где эти аккаунты создаются, редактируются и удаляются. Страница доступна по ссылке **Пользователи** в верхней навигационной панели.