Мониторинг транзакций

На странице Мониторинг транзакций перечислены все @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 — подробности см. в разделе Мониторинг транзакций.

См. также

На этой странице