Время выполнения запроса на спящий режим
Я искал установку hibernate или log4j, чтобы показать мне, как долго выполняются запросы в спящем режиме, которые вызываются hql.
До сих пор я не нашел ничего интересного.
Возможно, некоторые из вас могут помочь мне в этой проблеме?
Ответы
Ответ 1
Существует простой способ (встроенный hibernate
) для его достижения. Он был исправлен HHH-3659 в 3.5.4
и 3.6.0.Beta1
.
Для этого используйте:
- запись в пакет:
org.hibernate.stat
по крайней мере на INFO
и
- установить свойство hibernate:
hibernate.generate_statistics=true
После этого будет записываться все SQL
, включая подсчет строк и время выполнения запроса.
Кроме того, если он заинтересован, он предоставляет статистику по запросам. Чтобы их просмотреть с помощью JMX
и посмотреть их с помощью JConsole
, вы можете использовать Hibernate JConsole plugin
, доступный по адресу: http://hibernate-jcons.sourceforge.net/
Ответ 2
Чтобы регистрировать запросы со своим временем выполнения в файле журнала, вы можете попробовать Craftsman Spy JDBC Driver, которые выполняют точно такие же вещи и имеют простой интеграция с Spring.
Другим способом является использование Spring Insight, в котором отображаются вызовы JDBC/Hibernate и многое другое.
Ссылки по теме:
Ответ 3
Если вы хотите создать собственное решение, вы можете использовать AOP и добавлять вокруг совета по классу сессии hibernate, если вы выполняете собственные запросы.