Мониторинг транзакций
На странице Мониторинг транзакций перечислены все @Transactional методы, которые хотя бы раз выполнялись в управляемом сервисе Spring Boot, с таймингами выполнений и SQL-запросами, выполненными внутри каждого вызова. Используйте её, чтобы находить медленные транзакции и изучать запросы, которые они выполнили.
Страница «Мониторинг транзакций» в интерфейсе Axelix
Страница доступна только для чтения всем пользователям, прошедшим аутентификацию: ее могут открыть VIEWER, EDITOR,
ADMIN и SUPER_ADMIN. Полную матрицу ролей и полномочий см. в разделе Роли и
полномочия.
Прокручиваемый список каждой транзакционной точки входа, которую видел сервис, с полем поиска над списком и счётчиком
вида <соответствует> / <всего>. Каждая строка — аккордеон, в её заголовке отображается:
- Класс: полностью квалифицированное имя класса, объявляющего
@Transactionalметод. - Метод: имя
@Transactionalметода.
График выполнений
Раскрытие строки показывает точечный график каждого записанного выполнения этого метода.
Страница подробностей транзакции в интерфейсе Axelix
- Ось X — время начала каждого выполнения.
- Ось Y — продолжительность выполнения в миллисекундах.
- При наведении на точку показываются Временная метка и Продолжительность этого выполнения.
- Клик по точке открывает панель Подробности выполнения для этого запуска.
Под графиком строка Продолжительность обобщает все записанные выполнения этого метода:
- Макс — наибольшая продолжительность выполнения в миллисекундах.
- Среднее — арифметическое среднее в миллисекундах.
- Медиана — медиана в миллисекундах.
Подробности выполнения
Клик по любой точке на графике открывает боковую панель с подробностями выбранного выполнения.
- Количество запросов — число JDBC-запросов, которые сделало это выполнение. Если число равно нулю, показывается иконка предупреждения.
- Время начала — момент входа в
@Transactionalметод и начала транзакции, зафиксированный на мониторируемой JVM с точностью до миллисекунды. - Время окончания — момент выхода из
@Transactionalметода и коммита или отката транзакции, зафиксированный на мониторируемой JVM с точностью до миллисекунды. Разница между Временем окончания и Временем начала равна значению Продолжительности, показанному для этой точки на графике. - Временная шкала запросов — горизонтальная полоса для каждого запроса, расположенная на временной шкале выполнения, чтобы вы могли видеть, какой запрос выполнялся, когда и как долго. При наведении курсора на каждую полосу отображается предварительный просмотр SQL-запроса.
Как эти данные собираются: стартер оборачивает прокси @Transactional мониторинговым перехватчиком, а DataSource
сервиса — прокси, записывающим запросы, поэтому тайминги и SQL фиксируются на JVM во время работы — никакой агент или
APM-инструмент не требуется.
Свойства
Страница не опирается на отдельный actuator-эндпоинт. Axelix Spring Boot Starter агрегирует данные о транзакциях на
JVM и отправляет их в Master как часть регистрационных метаданных инстанса — того же ответа, который отдаёт эндпоинт
axelix-metadata, уже опрашиваемый Master. Пока axelix-metadata открыт (см. Настройка Spring Boot
Starter), страница работает без каких-либо
дополнительных эндпоинтов.
Мониторинг транзакций включён по умолчанию. Чтобы полностью его выключить, установите
axelix.sbs.transaction.monitoring.enabled=false — подробности см. в разделе Мониторинг
транзакций.
См. также
Кэши
На странице Кэши представлены все настроенные кэши управляемого сервиса на Spring Boot. На ней отображается диаграмма соотношения попаданий и общего количества попаданий в каждый кэш, количество попаданий и промахов, примерное количество записей, есть возможность управлять статусом и очищать отдельные кэши или все кэши сразу.
Дамп потоков
На странице Дамп потоков в режиме реального времени отображается состояние каждого потока в управляемом сервисе на Spring Boot. Страница периодически опрашивает сервис, поэтому список, состояния потоков и временная шкала отражают текущее состояние JVM, а не зафиксированное в определённый момент.