List of usage examples for org.hibernate.stat Statistics getSessionCloseCount
long getSessionCloseCount();
From source file:com.abiquo.server.core.common.persistence.HibernateSessionAllocationChecker.java
License:Open Source License
public HibernateSessionAllocationChecker(EntityManagerFactory factory) { assert factory != null; this.factory = factory; EntityManager em = factory.createEntityManager(); try {/* w ww.j a v a 2 s .c om*/ Session session = (Session) em.getDelegate(); Statistics statistics = session.getSessionFactory().getStatistics(); this.statisticsEnabledOnEntry = statistics.isStatisticsEnabled(); statistics.setStatisticsEnabled(true); this.outstandingSessionsOnEntry = statistics.getSessionOpenCount() - statistics.getSessionCloseCount(); try { this.openMySqlConnectionsOnEntry = getMySqlConnectionCount(session.connection()); } catch (SQLException e) { throw new RuntimeException(e); } } finally { em.close(); } }
From source file:com.abiquo.server.core.common.persistence.HibernateSessionAllocationChecker.java
License:Open Source License
private void ensureResultObtained() { if (!resultObtained) { EntityManager em = factory.createEntityManager(); try {//from w w w .j a va 2s.c om Session session = (Session) em.getDelegate(); Statistics statistics = session.getSessionFactory().getStatistics(); assert statistics .isStatisticsEnabled() : "Somebody else disabled the statistics: DON'T do, or do not use this component"; long outstandingSessionsOnExit = statistics.getSessionOpenCount() - statistics.getSessionCloseCount(); this.sessionsNotReleasedAfterCreation = outstandingSessionsOnExit - this.outstandingSessionsOnEntry; assert sessionsNotReleasedAfterCreation >= 0 : "Somebody else played with the statistics (maybe cleared/disabled them?): DON'T do, or do not use this component"; // System.err.println( "OUTSTANDING SESSIONS: " + // sessionsNotReleasedAfterCreation); try { this.mySqlConnectionsNoReleasedAfterCreation = getMySqlConnectionCount(session.connection()) - this.openMySqlConnectionsOnEntry; } catch (SQLException e) { throw new RuntimeException(e); } // Reset statistics to the state they were before we started to // be interested in open/closed session count statistics.setStatisticsEnabled(this.statisticsEnabledOnEntry); } finally { em.close(); } resultObtained = true; } }
From source file:com.francetelecom.clara.cloud.scalability.helper.StatisticsHelper.java
License:Apache License
/** * Log the current statistics/*from ww w .java 2 s.c om*/ * * @param stats hibernate statistics */ public static void logStats(Statistics stats) { logger.info("Database statistics"); logger.info(" Number of connection requests : " + stats.getConnectCount()); logger.info(" Session flushes : " + stats.getFlushCount()); logger.info(" Transactions : " + stats.getTransactionCount()); logger.info(" Successful transactions : " + stats.getSuccessfulTransactionCount()); logger.info(" Sessions opened : " + stats.getSessionOpenCount()); logger.info(" Sessions closed : " + stats.getSessionCloseCount()); logger.info(" Queries executed : " + stats.getQueryExecutionCount()); logger.info(" Max query time : " + stats.getQueryExecutionMaxTime()); logger.info(" Max time query : " + stats.getQueryExecutionMaxTimeQueryString()); logger.info("Collection statistics"); logger.info(" Collections fetched : " + stats.getCollectionFetchCount()); logger.info(" Collections loaded : " + stats.getCollectionLoadCount()); logger.info(" Collections rebuilt : " + stats.getCollectionRecreateCount()); logger.info(" Collections batch deleted : " + stats.getCollectionRemoveCount()); logger.info(" Collections batch updated : " + stats.getCollectionUpdateCount()); logger.info("Object statistics"); logger.info(" Objects fetched : " + stats.getEntityFetchCount()); logger.info(" Objects loaded : " + stats.getEntityLoadCount()); logger.info(" Objects inserted : " + stats.getEntityInsertCount()); logger.info(" Objects deleted : " + stats.getEntityDeleteCount()); logger.info(" Objects updated : " + stats.getEntityUpdateCount()); logger.info("Cache statistics"); double chit = stats.getQueryCacheHitCount(); double cmiss = stats.getQueryCacheMissCount(); logger.info(" Cache hit count : " + chit); logger.info(" Cache miss count : " + cmiss); logger.info(" Cache hit ratio : " + (chit / (chit + cmiss))); String[] entityNames = stats.getEntityNames(); Arrays.sort(entityNames); for (String entityName : entityNames) { Class<?> entityClass = null; try { entityClass = Class.forName(entityName); } catch (ClassNotFoundException e) { logger.error("Unable to load class for " + entityName, e); } entityStats(stats, entityClass); } //Uncomment these lines to trace every query (can generate a lot of logs) String[] qs = stats.getQueries(); for (String q : qs) { queryStats(stats, q); } String[] slcrn = stats.getSecondLevelCacheRegionNames(); for (String s : slcrn) { secondLevelStats(stats, s); } }
From source file:com.medigy.persist.util.HibernateUtil.java
License:Open Source License
public static void logStatistics() { Statistics stats = HibernateUtil.sessionFactory.getStatistics(); if (!stats.isStatisticsEnabled()) { log.warn("Statistics are not enabled."); return;//from w w w. ja v a 2 s .c o m } log.info("Connection count: " + stats.getConnectCount()); log.info("Session open count: " + stats.getSessionOpenCount()); log.info("Session close count: " + stats.getSessionCloseCount()); log.info("Entities insert count: " + stats.getEntityInsertCount()); log.info("Entities update count: " + stats.getEntityUpdateCount()); log.info("Entities fetch count: " + stats.getEntityFetchCount()); log.info("Collection fetch count: " + stats.getCollectionFetchCount()); log.info("Collection load count: " + stats.getCollectionLoadCount()); double queryCacheHitCount = stats.getQueryCacheHitCount(); double queryCacheMissCount = stats.getQueryCacheMissCount(); double queryCacheHitRatio = queryCacheHitCount / (queryCacheHitCount + queryCacheMissCount); log.info("Query Hit ratio:" + queryCacheHitRatio); }
From source file:com.openkm.servlet.admin.HibernateStatsServlet.java
License:Open Source License
/** * Refresh stats//from w w w . j a v a 2 s . c o m */ private synchronized void refresh() { Statistics statistics = HibernateUtil.getSessionFactory().getStatistics(); generalStatistics.set(0, statistics.getConnectCount()); generalStatistics.set(1, statistics.getFlushCount()); generalStatistics.set(2, statistics.getPrepareStatementCount()); generalStatistics.set(3, statistics.getCloseStatementCount()); generalStatistics.set(4, statistics.getSessionCloseCount()); generalStatistics.set(5, statistics.getSessionOpenCount()); generalStatistics.set(6, statistics.getTransactionCount()); generalStatistics.set(7, statistics.getSuccessfulTransactionCount()); generalStatistics.set(8, statistics.getOptimisticFailureCount()); queryStatistics.clear(); String[] names = statistics.getQueries(); if (names != null && names.length > 0) { for (int i = 0; i < names.length; i++) { queryStatistics.put(names[i], statistics.getQueryStatistics(names[i])); } } entityStatistics.clear(); names = statistics.getEntityNames(); if (names != null && names.length > 0) { for (int i = 0; i < names.length; i++) { entityStatistics.put(names[i], statistics.getEntityStatistics(names[i])); } } collectionStatistics.clear(); names = statistics.getCollectionRoleNames(); if (names != null && names.length > 0) { for (int i = 0; i < names.length; i++) { collectionStatistics.put(names[i], statistics.getCollectionStatistics(names[i])); } } secondLevelCacheStatistics.clear(); names = statistics.getSecondLevelCacheRegionNames(); if (names != null && names.length > 0) { for (int i = 0; i < names.length; i++) { secondLevelCacheStatistics.put(names[i], statistics.getSecondLevelCacheStatistics(names[i])); } } }
From source file:com.thoughtworks.go.server.service.support.HibernateInformationProvider.java
License:Apache License
@Override public Map<String, Object> asJson() { LinkedHashMap<String, Object> json = new LinkedHashMap<>(); Statistics statistics = sessionFactory.getStatistics(); if (!statistics.isStatisticsEnabled()) { return json; }/*ww w. j a va 2s . c om*/ json.put("EntityDeleteCount", statistics.getEntityDeleteCount()); json.put("EntityInsertCount", statistics.getEntityInsertCount()); json.put("EntityLoadCount", statistics.getEntityLoadCount()); json.put("EntityFetchCount", statistics.getEntityFetchCount()); json.put("EntityUpdateCount", statistics.getEntityUpdateCount()); json.put("QueryExecutionCount", statistics.getQueryExecutionCount()); json.put("QueryExecutionMaxTime", statistics.getQueryExecutionMaxTime()); json.put("QueryExecutionMaxTimeQueryString", statistics.getQueryExecutionMaxTimeQueryString()); json.put("QueryCacheHitCount", statistics.getQueryCacheHitCount()); json.put("QueryCacheMissCount", statistics.getQueryCacheMissCount()); json.put("QueryCachePutCount", statistics.getQueryCachePutCount()); json.put("FlushCount", statistics.getFlushCount()); json.put("ConnectCount", statistics.getConnectCount()); json.put("SecondLevelCacheHitCount", statistics.getSecondLevelCacheHitCount()); json.put("SecondLevelCacheMissCount", statistics.getSecondLevelCacheMissCount()); json.put("SecondLevelCachePutCount", statistics.getSecondLevelCachePutCount()); json.put("SessionCloseCount", statistics.getSessionCloseCount()); json.put("SessionOpenCount", statistics.getSessionOpenCount()); json.put("CollectionLoadCount", statistics.getCollectionLoadCount()); json.put("CollectionFetchCount", statistics.getCollectionFetchCount()); json.put("CollectionUpdateCount", statistics.getCollectionUpdateCount()); json.put("CollectionRemoveCount", statistics.getCollectionRemoveCount()); json.put("CollectionRecreateCount", statistics.getCollectionRecreateCount()); json.put("StartTime", statistics.getStartTime()); json.put("SecondLevelCacheRegionNames", statistics.getSecondLevelCacheRegionNames()); json.put("SuccessfulTransactionCount", statistics.getSuccessfulTransactionCount()); json.put("TransactionCount", statistics.getTransactionCount()); json.put("PrepareStatementCount", statistics.getPrepareStatementCount()); json.put("CloseStatementCount", statistics.getCloseStatementCount()); json.put("OptimisticFailureCount", statistics.getOptimisticFailureCount()); LinkedHashMap<String, Object> queryStats = new LinkedHashMap<>(); json.put("Queries", queryStats); String[] queries = statistics.getQueries(); for (String query : queries) { queryStats.put(query, statistics.getQueryStatistics(query)); } LinkedHashMap<String, Object> entityStatistics = new LinkedHashMap<>(); json.put("EntityStatistics", entityStatistics); String[] entityNames = statistics.getEntityNames(); for (String entityName : entityNames) { entityStatistics.put(entityName, statistics.getEntityStatistics(entityName)); } LinkedHashMap<String, Object> roleStatistics = new LinkedHashMap<>(); json.put("RoleStatistics", roleStatistics); String[] roleNames = statistics.getCollectionRoleNames(); for (String roleName : roleNames) { roleStatistics.put(roleName, statistics.getCollectionStatistics(roleName)); } return json; }
From source file:dao.proyectoHelper.java
public static void reportConeciones() { Statistics stats = HibernateUtil.getSessionFactory().getStatistics(); stats.setStatisticsEnabled(true);//from www. jav a 2 s . co m System.out.println("recuento de conexin: " + stats.getConnectCount()); //Numero de transacciones completadas (falladas y satisfactorias) System.out.println("recuento Trx: " + stats.getTransactionCount()); //Numero de transacciones completadas (solo satisfactorias) System.out.println("Succ trx count: " + stats.getSuccessfulTransactionCount()); // Numero de sesiones que el codigo ha abierto System.out.println("sesiones abiertas: " + stats.getSessionOpenCount()); // Numero de sesiones que el codigo ha cerrado System.out.println("sesiones cerradas: " + stats.getSessionCloseCount()); // Numero total de queries ejecutados System.out.println("No. queries: " + stats.getQueryExecutionCount()); // esta(); }
From source file:de.iew.framework.hibernate.statistics.StatisticsLogger.java
License:Apache License
public void logStatistics() { Statistics statistics = this.sessionFactory.getStatistics(); statistics.setStatisticsEnabled(true); StringBuilder sb = new StringBuilder("\nStatistics"); sb.append("\nCloseStatementCount: ").append(statistics.getCloseStatementCount()); sb.append("\nEntityDeleteCount: ").append(statistics.getEntityDeleteCount()); sb.append("\nEntityInsertCount: ").append(statistics.getEntityInsertCount()); sb.append("\nEntityLoadCount: ").append(statistics.getEntityLoadCount()); sb.append("\nEntityFetchCount: ").append(statistics.getEntityFetchCount()); sb.append("\nEntityUpdateCount: ").append(statistics.getEntityUpdateCount()); sb.append("\nQueryExecutionCount: ").append(statistics.getQueryExecutionCount()); sb.append("\nQueryExecutionMaxTime: ").append(statistics.getQueryExecutionMaxTime()); sb.append("\nQueryExecutionMaxTimeQueryString: ").append(statistics.getQueryExecutionMaxTimeQueryString()); sb.append("\nQueryCacheHitCount: ").append(statistics.getQueryCacheHitCount()); sb.append("\nQueryCacheMissCount: ").append(statistics.getQueryCacheMissCount()); sb.append("\nQueryCachePutCount: ").append(statistics.getQueryCachePutCount()); sb.append("\nNaturalIdQueryExecutionCount: ").append(statistics.getNaturalIdQueryExecutionCount()); sb.append("\nNaturalIdQueryExecutionMaxTime: ").append(statistics.getNaturalIdQueryExecutionMaxTime()); sb.append("\nNaturalIdQueryExecutionMaxTimeRegion: ") .append(statistics.getNaturalIdQueryExecutionMaxTimeRegion()); sb.append("\nNaturalIdCacheHitCount: ").append(statistics.getNaturalIdCacheHitCount()); sb.append("\nNaturalIdCacheMissCount: ").append(statistics.getNaturalIdCacheMissCount()); sb.append("\nNaturalIdCachePutCount: ").append(statistics.getNaturalIdCachePutCount()); sb.append("\nUpdateTimestampsCacheHitCount: ").append(statistics.getUpdateTimestampsCacheHitCount()); sb.append("\nUpdateTimestampsCacheMissCount: ").append(statistics.getUpdateTimestampsCacheMissCount()); sb.append("\nUpdateTimestampsCachePutCount: ").append(statistics.getUpdateTimestampsCachePutCount()); sb.append("\nFlushCount: ").append(statistics.getFlushCount()); sb.append("\nConnectCount: ").append(statistics.getConnectCount()); sb.append("\nSecondLevelCacheHitCount: ").append(statistics.getSecondLevelCacheHitCount()); sb.append("\nSecondLevelCacheMissCount: ").append(statistics.getSecondLevelCacheMissCount()); sb.append("\nSecondLevelCachePutCount: ").append(statistics.getSecondLevelCachePutCount()); sb.append("\nSessionCloseCount: ").append(statistics.getSessionCloseCount()); sb.append("\nSessionOpenCount: ").append(statistics.getSessionOpenCount()); sb.append("\nCollectionLoadCount: ").append(statistics.getCollectionLoadCount()); sb.append("\nCollectionFetchCount: ").append(statistics.getCollectionFetchCount()); sb.append("\nCollectionUpdateCount: ").append(statistics.getCollectionUpdateCount()); sb.append("\nCollectionRemoveCount: ").append(statistics.getCollectionRemoveCount()); sb.append("\nCollectionRecreateCount: ").append(statistics.getCollectionRecreateCount()); sb.append("\nStartTime: ").append(statistics.getStartTime()); sb.append("\nQueries: ").append(statistics.getQueries()); sb.append("\nEntityNames: ").append(statistics.getEntityNames()); sb.append("\nCollectionRoleNames: ").append(statistics.getCollectionRoleNames()); sb.append("\nSecondLevelCacheRegionNames: ").append(statistics.getSecondLevelCacheRegionNames()); sb.append("\nSuccessfulTransactionCount: ").append(statistics.getSuccessfulTransactionCount()); sb.append("\nTransactionCount: ").append(statistics.getTransactionCount()); sb.append("\nPrepareStatementCount: ").append(statistics.getPrepareStatementCount()); sb.append("\nCloseStatementCount: ").append(statistics.getCloseStatementCount()); sb.append("\nOptimisticFailureCount: ").append(statistics.getOptimisticFailureCount()); if (log.isDebugEnabled()) { log.debug(sb);/* ww w.ja va 2 s . co m*/ } }
From source file:es.ua.datos.cad.CAD.java
public void writeStatisticsLog(Statistics stats) { // Number of connection requests. Note that this number represents // the number of times Hibernate asked for a connection, and // NOT the number of connections (which is determined by your // pooling mechanism). Date date = new Date(); System.out.println("HORA: " + date); System.out.println("getConnectCount(): " + stats.getConnectCount()); // Number of flushes done on the session (either by client code or // by hibernate). System.out.println("getFlushCount(): " + stats.getFlushCount()); // The number of completed transactions (failed and successful). System.out.println("getTransactionCount(): " + stats.getTransactionCount()); // The number of transactions completed without failure System.out.println("getSuccessfulTransactionCount(): " + stats.getSuccessfulTransactionCount()); // The number of sessions your code has opened. System.out.println("getSessionOpenCount(): " + stats.getSessionOpenCount()); // The number of sessions your code has closed. System.out.println("getSessionCloseCount(): " + stats.getSessionCloseCount()); // All of the queries that have executed. System.out.println("getQueries(): " + stats.getQueries()); // Total number of queries executed. System.out.println("getQueryExecutionCount(): " + stats.getQueryExecutionCount()); // Time of the slowest query executed. System.out.println("getQueryExecutionMaxTime(): " + stats.getQueryExecutionMaxTime()); }
From source file:models.papmon.HibernateStat.java
License:Open Source License
public HibernateStat(Date refDate) { created = refDate;/* w w w. j ava2s .c o m*/ Session session = (Session) JPA.em().getDelegate(); Statistics stats = session.getSessionFactory().getStatistics(); queryExecutionCount = stats.getQueryExecutionCount(); queryExecutionMaxTime = stats.getQueryExecutionMaxTime(); sessionOpenCount = stats.getSessionOpenCount(); sessionCloseCount = stats.getSessionCloseCount(); entityLoadCount = stats.getEntityLoadCount(); entityInsertCount = stats.getEntityInsertCount(); entityUpdateCount = stats.getEntityUpdateCount(); entityDeleteCount = stats.getEntityDeleteCount(); entityFetchCount = stats.getEntityFetchCount(); queryCacheHitCount = stats.getQueryCacheHitCount(); queryCacheMissCount = stats.getQueryCacheMissCount(); queryCachePutCount = stats.getQueryCachePutCount(); secondLevelCacheHitCount = stats.getSecondLevelCacheHitCount(); secondLevelCacheMissCount = stats.getSecondLevelCacheMissCount(); secondLevelCachePutCount = stats.getSecondLevelCachePutCount(); stats.clear(); }