@Override public Object invoke(Object... args) { org.hibernate.stat.QueryStatistics statistics = getStatistics( getEntityManagerFactory( args ), getQueryName( args ) ); return Long.valueOf( statistics != null ? statistics.getExecutionCount() : 0 ); } };
@Override public Object invoke(Object... args) { org.hibernate.stat.QueryStatistics statistics = getStatistics( getEntityManagerFactory( args ), getQueryName( args ) ); return Long.valueOf( statistics != null ? statistics.getCacheHitCount() : 0 ); } };
@Override public Object invoke(Object... args) { org.hibernate.stat.QueryStatistics statistics = getStatistics( getEntityManagerFactory( args ), getQueryName( args ) ); return Long.valueOf( statistics != null ? statistics.getCacheMissCount() : 0 ); } };
public QueryStats(String name, QueryStatistics src) { this(name); this.cacheHitCount = src.getCacheHitCount(); this.cacheMissCount = src.getCacheMissCount(); this.cachePutCount = src.getCachePutCount(); this.executionCount = src.getExecutionCount(); this.executionRowCount = src.getExecutionRowCount(); this.executionAvgTime = src.getExecutionAvgTime(); this.executionMaxTime = src.getExecutionMaxTime(); this.executionMinTime = src.getExecutionMinTime(); }
/** * Convenience method to print out the hibernate cache usage stats to the log */ private void showUsageStatistics() { if (sessionFactory.getStatistics().isStatisticsEnabled()) { log.debug("Getting query statistics: "); Statistics stats = sessionFactory.getStatistics(); for (String query : stats.getQueries()) { log.info("QUERY: " + query); QueryStatistics qstats = stats.getQueryStatistics(query); log.info("Cache Hit Count : " + qstats.getCacheHitCount()); log.info("Cache Miss Count: " + qstats.getCacheMissCount()); log.info("Cache Put Count : " + qstats.getCachePutCount()); log.info("Execution Count : " + qstats.getExecutionCount()); log.info("Average time : " + qstats.getExecutionAvgTime()); log.info("Row Count : " + qstats.getExecutionRowCount()); } } }
assertThat( "Cache Miss Count", queryStats.getCacheMissCount(), equalTo( 1L ) ); assertThat( "Cache Hit Count", queryStats.getCacheHitCount(), equalTo( 0L ) ); assertThat( "Cache Put Count", queryStats.getCachePutCount(), equalTo( 1L ) );
QueryStatistics continentStats = sf.getStatistics().getQueryStatistics( continents ); assertNotNull( "stats were null", continentStats ); assertEquals( "unexpected execution count", 1, continentStats.getExecutionCount() ); assertEquals( "unexpected row count", results, continentStats.getExecutionRowCount() ); long maxTime = continentStats.getExecutionMaxTime(); assertEquals( maxTime, sf.getStatistics().getQueryExecutionMaxTime() ); assertEquals( "unexpected execution count", 2, continentStats.getExecutionCount() ); assertEquals( "unexpected row count", results, continentStats.getExecutionRowCount() ); Hibernate.close( itr ); assertEquals( "unexpected execution count", 3, continentStats.getExecutionCount() ); assertEquals( "unexpected row count", results, continentStats.getExecutionRowCount() ); assertNotNull( "stats were null", localityStats ); assertEquals( "unexpected execution count", 2, localityStats.getExecutionCount() ); assertEquals( "unexpected row count", results, localityStats.getExecutionRowCount() ); maxTime = localityStats.getExecutionMaxTime(); assertEquals( maxTime, sf.getStatistics().getQueryExecutionMaxTime() ); QueryStatistics sqlStats = sf.getStatistics().getQueryStatistics( sql ); assertNotNull( "sql stats were null", sqlStats ); assertEquals( "unexpected execution count", 1, sqlStats.getExecutionCount() ); assertEquals( "unexpected row count", results, sqlStats.getExecutionRowCount() ); maxTime = sqlStats.getExecutionMaxTime(); assertEquals( maxTime, sf.getStatistics().getQueryExecutionMaxTime() );
@Override public Object invoke(Object... args) { org.hibernate.stat.QueryStatistics statistics = getStatistics( getEntityManagerFactory( args ), getQueryName( args ) ); return Long.valueOf( statistics != null ? statistics.getExecutionRowCount() : 0 ); } };
@Override public Object invoke(Object... args) { org.hibernate.stat.QueryStatistics statistics = getStatistics( getEntityManagerFactory( args ), getQueryName( args ) ); return Long.valueOf( statistics != null ? statistics.getExecutionMaxTime() : 0 ); } };
@Override public Object invoke(Object... args) { org.hibernate.stat.QueryStatistics statistics = getStatistics( getEntityManagerFactory( args ), getQueryName( args ) ); return Long.valueOf( statistics != null ? statistics.getCachePutCount() : 0 ); } };
@Override public Object invoke(Object... args) { org.hibernate.stat.QueryStatistics statistics = getStatistics( getEntityManagerFactory( args ), getQueryName( args ) ); return Long.valueOf( statistics != null ? statistics.getExecutionAvgTime() : 0 ); } };
@Override public Object invoke(Object... args) { org.hibernate.stat.QueryStatistics statistics = getStatistics( getEntityManagerFactory( args ), getQueryName( args ) ); return Long.valueOf( statistics != null ? statistics.getExecutionMinTime() : 0 ); } };
protected void logQueries(StringBuilder builder, String lineSep, Statistics stats) { builder.append("Important queries statistics: ").append(lineSep).append(lineSep); for (String query : stats.getQueries()) { QueryStatistics queryStats = stats.getQueryStatistics(query); if (queryStats.getExecutionCount() > LIMIT || (queryStats.getExecutionCount() * queryStats.getExecutionAvgTime() > LIMIT)) { builder.append(query).append(lineSep) .append("executionCount=").append(queryStats.getExecutionCount()).append(lineSep) .append("executionAvgTime=").append(queryStats.getExecutionAvgTime()).append(" ms").append(lineSep) .append(lineSep) .append(lineSep); } } }
private void dumpStatistics() { if (logger.isDebugEnabled() && factory instanceof EntityManagerFactoryImpl) { HibernateEntityManagerFactory hibernateFactory = (HibernateEntityManagerFactory)factory; Statistics stats = hibernateFactory.getSessionFactory().getStatistics(); for (String query : stats.getQueries()) { QueryStatistics stat = stats.getQueryStatistics(query); StringBuilder sb = new StringBuilder(); sb.append(stats.getQueryExecutionMaxTime()); sb.append("ms, count="); sb.append(stat.getExecutionCount()); sb.append(", sql="); sb.append(stat.getCategoryName()); logger.debug(sb.toString()); } stats.clear(); } }
public QueryStats(String name, QueryStatistics src) { this(name); this.cacheHitCount = src.getCacheHitCount(); this.cacheMissCount = src.getCacheMissCount(); this.cachePutCount = src.getCachePutCount(); this.executionCount = src.getExecutionCount(); this.executionRowCount = src.getExecutionRowCount(); this.executionAvgTime = src.getExecutionAvgTime(); this.executionMaxTime = src.getExecutionMaxTime(); this.executionMinTime = src.getExecutionMinTime(); }
assertEquals( 0, getQueryStatistics( queryString ).getCacheHitCount() ); assertEquals( 1, getQueryStatistics( queryString ).getCacheMissCount() ); assertEquals( 1, getQueryStatistics( queryString ).getCachePutCount() ); assertEquals( 1, getQueryStatistics( queryString ).getCacheHitCount() ); assertEquals( 0, getQueryStatistics( queryString ).getCacheMissCount() ); assertEquals( 0, getQueryStatistics( queryString ).getCachePutCount() );
@Override public Object invoke(Object... args) { org.hibernate.stat.QueryStatistics statistics = getStatistics(getEntityManagerFactory(args), getQueryName(args)); return Long.valueOf(statistics != null ? statistics.getExecutionRowCount() : 0); } };
@Override public Object invoke(Object... args) { org.hibernate.stat.QueryStatistics statistics = getStatistics(getEntityManagerFactory(args), getQueryName(args)); return Long.valueOf(statistics != null ? statistics.getExecutionMaxTime() : 0); } };
@Override public Object invoke(Object... args) { org.hibernate.stat.QueryStatistics statistics = getStatistics(getEntityManagerFactory(args), getQueryName(args)); return Long.valueOf(statistics != null ? statistics.getCachePutCount() : 0); } };
@Override public Object invoke(Object... args) { org.hibernate.stat.QueryStatistics statistics = getStatistics(getEntityManagerFactory(args), getQueryName(args)); return Long.valueOf(statistics != null ? statistics.getExecutionAvgTime() : 0); } };