Example usage for org.hibernate.stat Statistics getSessionCloseCount

List of usage examples for org.hibernate.stat Statistics getSessionCloseCount

Introduction

In this page you can find the example usage for org.hibernate.stat Statistics getSessionCloseCount.

Prototype

long getSessionCloseCount();

Source Link

Document

Global number of sessions closed

Usage

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();
}