Как получить доступ к Hibernate Статистика - PullRequest
19 голосов
/ 13 марта 2009

Так в моем persistence.xml я включил hibernate.generate_statistics.

<property name="hibernate.generate_statistics">true</property>

Мой вопрос: как мне получить к ним доступ? Куда идет статистика?

Ответы [ 5 ]

20 голосов
/ 13 марта 2009

В вашем сервисе дао вы можете перейти:

Session session = this.sessionFactory.getCurrentSession();
SessionStatistics sessionStats = session.getStatistics();
Statistics stats = this.sessionFactory.getStatistics(); 
12 голосов
/ 13 марта 2009

Я бы предпочел использовать Статистика Hibernate, опубликованная через JMX . Если вы используете Spring, вы можете упростить его с помощью MBean Статистика Hibernate с Spring

2 голосов
/ 19 мая 2017

Вы также можете добавить регистратор для него. Увидеть; http://www.thoughts -on-java.org / как к Activate-зимуют-статистики к анализу-производительность вопросы /

<!--Hibernate Statistics-->
            <logger category="org.hibernate.stat" use-parent-handlers="true">
                <level name="DEBUG"/>
            </logger>
2 голосов
/ 01 декабря 2011

В нашем приложении мы опубликовали его через JMX и, чтобы завершить его, мы должны вручную добавить данные запроса критериев, используя аспекты

1 голос
/ 07 мая 2019

Существует несколько способов доступа к статистике гибернации:

Programatically

Если вы хотите получить объект Statistics в своем приложении, вы можете сделать это следующим образом:

Session session = entityManager.unwrap(Session.class);

Statistics statistics = session.getSessionFactory().getStatistics();

Регистрация

Если вы хотите зарегистрировать отчет Statistics, вам необходимо добавить следующую запись конфигурации журнала:

<logger name="org.hibernate.engine.internal.StatisticalLoggingSessionEventListener" level="info"/>

JMX

Вы также можете открыть объект Statistics через JMX, как описано в этой статье .

Для этого вам нужно установить следующее свойство конфигурации:

<property name="hibernate.jmx.enabled" value="true"/>

И найдите пакет org.hibernate.core MBean в клиентском приложении JMX.

Если вы хотите получить лучшее представление о том, какие метрики поддерживает Hibernate, ознакомьтесь с этой статьей .

...