Puede alcanzar a las métricas de SessionFactory de dos maneras. Su primera opción es llamar a sessionFactory.getStatistics() y leer o presentar por pantalla la Statistics por sí mismo.

Hibernate también puede utilizar JMX para publicar las métricas si habilita el MBean StatisticsService. Puede habilitar un sólo MBean para todas sus SessionFactory o una por fábrica. Véa el próximo código para ver ejemplos de configuración minimalistas

// MBean service registration for a specific SessionFactory
Hashtable tb = new Hashtable()
tb.put(type statistics)
tb.put(sessionFactory myFinancialApp)
ObjectName on = new ObjectName(hibernate tb) // MBean object name

StatisticsService stats = new StatisticsService() // MBean implementation
stats.setSessionFactory(sessionFactory) // Bind the stats to a SessionFactory
server.registerMBean(stats on) // Register the Mbean on the server
// MBean service registration for all SessionFactory's
Hashtable tb = new Hashtable()
tb.put(type statistics)
tb.put(sessionFactory all)
ObjectName on = new ObjectName(hibernate tb) // MBean object name

StatisticsService stats = new StatisticsService() // MBean implementation
server.registerMBean(stats on) // Register the MBean on the server
Puede activar y desactivar el monitoreo de una SessionFactory

en tiempo de configuración establezca hibernate.generate_statistics como false
en tiempo de ejecución sf.getStatistics().setStatisticsEnabled(true) o hibernateStatsBean.setStatisticsEnabled(true)
Las estadísticas pueden ser reajustadas programáticamente utilizando el método clear(). Puede enviarse un resumen a un registro (a nivel de información) utilizando el método logSummary().