Hibernate ofrece un número de métricas desde información muy básica hasta la más especializada sólamente sobresaliente en ciertos escenarios. Todos los contadores disponibles se detallan en la API de la interfaz Statistics en tres categorías

Métricas vinculadas al uso común de Session usage tales como número de sesiones abiertas conexiones JDBC recuperadas etc
Métricas vinculadas con las entidades colecciones consultas y cachés como un todo (también conocidas como métricas globales).
Métricas detalladas vinculadas con una entidad colección consulta o región de caché en propia.
Por ejemplo puede comprobar el entrada pérdida y radio de colecciones de entidades y consultas en el caché y el tiempo promedio que requiere una consulta. Tenga en cuenta que el número de milisegundos está sujeto a una aproximación en Java. Hibernate está asociado a la precisión de la MVJ en determinadas plataformas esto podría tener inclusive una precisión de 10 segundos.

Se usan getters simples para alcanzar a la métrica global (por ejemplo no relacionadas en propia a una entidad colección región de caché etc). Puede alcanzar a las métricas de una entidad colección región de caché en propia a través de su nombre y a través de su representación HQL o SQL para las consultas. Por favor refiérase al Javadoc de la API de Statistics EntityStatistics CollectionStatistics SecondLevelCacheStatistics y QueryStatistics para conseguir más información. El próximo código es un ejemplo fácil

Statistics stats = HibernateUtil.sessionFactory.getStatistics()

double queryCacheHitCount = stats.getQueryCacheHitCount()
double queryCacheMissCount = stats.getQueryCacheMissCount()
double queryCacheHitRatio =
queryCacheHitCount / (queryCacheHitCount + queryCacheMissCount)

log.info(Query Hit ratio + queryCacheHitRatio)

EntityStatistics entityStats =
stats.getEntityStatistics( Cat.class.getName() )
long changes =
entityStats.getInsertCount()
+ entityStats.getUpdateCount()
+ entityStats.getDeleteCount()
log.info(Cat.class.getName() + changed + changes + times )
Para laborar sobre todas las entidades colecciones consultas y regiones de cachés recuperando la lista de nombres de entidades colecciones consultas y regiones de cachés con los próximos métodos getQueries() getEntityNames() getCollectionRoleNames() y getSecondLevelCacheRegionNames().