List of usage examples for org.hibernate.stat Statistics getQueryStatistics
QueryStatistics getQueryStatistics(String queryString);
From source file:com.francetelecom.clara.cloud.scalability.helper.StatisticsHelper.java
License:Apache License
private static void queryStats(Statistics stats, String q) { logger.info("Query statistics for " + q); QueryStatistics qStats = stats.getQueryStatistics(q); logger.info(" Execution ct : " + qStats.getExecutionCount()); logger.info(" Cache hits : " + qStats.getCacheHitCount()); logger.info(" Cache puts : " + qStats.getCachePutCount()); logger.info(" Cache misses : " + qStats.getCacheMissCount()); logger.info(" Execution row ct : " + qStats.getExecutionRowCount()); logger.info(" Execution avg millis : " + qStats.getExecutionAvgTime()); logger.info(" Execution max millis : " + qStats.getExecutionMaxTime()); logger.info(" Execution min millis : " + qStats.getExecutionMinTime()); }
From source file:com.openkm.servlet.admin.HibernateStatsServlet.java
License:Open Source License
/** * Refresh stats/*from ww w. j av a 2s .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; }/*w w w .j av a 2 s. c o m*/ 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:net.sf.ehcache.hibernate.management.impl.HibernateStatsImpl.java
License:Apache License
/** * {@inheritDoc}//from ww w .j a v a2s . c o m * * @see net.sf.ehcache.hibernate.management.api.HibernateStats#getQueryStats() */ public TabularData getQueryStats() { List<CompositeData> result = new ArrayList<CompositeData>(); Statistics statistics = getStatistics(); for (String query : statistics.getQueries()) { QueryStats queryStats = new QueryStats(query, statistics.getQueryStatistics(query)); result.add(queryStats.toCompositeData()); } TabularData td = QueryStats.newTabularDataInstance(); td.putAll(result.toArray(new CompositeData[result.size()])); return td; }
From source file:org.bedework.calcore.hibernate.DbStatistics.java
License:Apache License
private static void queryStats(Collection<StatsEntry> c, Statistics dbStats, String q) { c.add(new StatsEntry("Query statistics for " + q)); QueryStatistics qStats = dbStats.getQueryStatistics(q); c.add(new StatsEntry("Execution ct", qStats.getExecutionCount())); c.add(new StatsEntry("Cache hits", qStats.getCacheHitCount())); c.add(new StatsEntry("Cache puts", qStats.getCachePutCount())); c.add(new StatsEntry("Cache misses", qStats.getCacheMissCount())); c.add(new StatsEntry("Execution row ct", qStats.getExecutionRowCount())); c.add(new StatsEntry("Execution avg millis", qStats.getExecutionAvgTime())); c.add(new StatsEntry("Execution max millis", qStats.getExecutionMaxTime())); c.add(new StatsEntry("Execution min millis", qStats.getExecutionMinTime())); }
From source file:org.jboss.as.jpa.hibernate4.management.HibernateStatisticsResource.java
License:Open Source License
private boolean hasQuery(PathElement element) { boolean result = false; final PersistenceUnitService puService = persistenceUnitRegistry.getPersistenceUnitService(puName); final Statistics stats = getStatistics(); if (stats != null && puService != null) { final String scopedPUName = puService.getScopedPersistenceUnitName(); final String unqualifiedQueryName = element.getValue(); final String queryName = scopedPUName + "." + unqualifiedQueryName; result = stats.getQueryStatistics(queryName) != null; }// w ww . j a va 2 s .c om return result; }
From source file:org.jboss.as.test.integration.jpa.secondlevelcache.SFSB2LC.java
License:Open Source License
/** * Performs 2 query calls, first call put query in the cache and second should hit the cache * * @param id Employee's id in the query/*from ww w.j ava2s .com*/ */ public String queryCacheCheck(String id) { // the nextTimestamp from infinispan is "return System.currentTimeMillis()" try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); return e.getMessage(); } EntityManager em = emf.createEntityManager(); Statistics stats = em.unwrap(Session.class).getSessionFactory().getStatistics(); stats.clear(); try { String queryString = "from Employee e where e.id > " + id; QueryStatistics queryStats = stats.getQueryStatistics(queryString); Query query = em.createQuery(queryString); query.setHint("org.hibernate.cacheable", true); // query - this call should fill the cache query.getResultList(); assertEquals("Expected 1 miss in cache" + generateQueryCacheStats(queryStats), 1, queryStats.getCacheMissCount()); assertEquals("Expected 1 put in cache" + generateQueryCacheStats(queryStats), 1, queryStats.getCachePutCount()); assertEquals("Expected no hits in cache" + generateQueryCacheStats(queryStats), 0, queryStats.getCacheHitCount()); // query - second call should hit cache query.getResultList(); assertEquals("Expected 1 hit in cache" + generateQueryCacheStats(queryStats), 1, queryStats.getCacheHitCount()); } catch (AssertionError e) { return e.getMessage(); } finally { em.close(); } return "OK"; }
From source file:org.jboss.as.test.integration.jpa.secondlevelcache.SFSB2LC.java
License:Open Source License
/** * Checking if query cache is empty/*from w ww .jav a 2 s.c o m*/ * * @param id Employee's id in the query */ public String queryCacheCheckIfEmpty(String id) { EntityManager em = emf.createEntityManager(); Statistics stats = em.unwrap(Session.class).getSessionFactory().getStatistics(); stats.clear(); try { // the nextTimestamp from infinispan is "return System.currentTimeMillis() / 100;" Thread.sleep(1000); String queryString = "from Employee e where e.id > " + id; QueryStatistics queryStats = stats.getQueryStatistics(queryString); Query query = em.createQuery(queryString); query.setHint("org.hibernate.cacheable", true); // query - this call shouldn't hit the cache -> query cache is empty query.getResultList(); assertEquals("Expected 1 miss in cache" + generateQueryCacheStats(queryStats), 1, queryStats.getCacheMissCount()); assertEquals("Expected 1 put in cache" + generateQueryCacheStats(queryStats), 1, queryStats.getCachePutCount()); assertEquals("Expected no hits in cache" + generateQueryCacheStats(queryStats), 0, queryStats.getCacheHitCount()); } catch (AssertionError e) { return e.getMessage(); } catch (InterruptedException e) { return e.getMessage(); } finally { em.close(); } return "OK"; }
From source file:org.keycloak.connections.jpa.HibernateStatsReporter.java
License:Apache License
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);/*from w ww.ja va 2 s . c o m*/ } } }
From source file:org.openmrs.api.db.hibernate.HibernateContextDAO.java
License:Mozilla Public License
/** * Convenience method to print out the hibernate cache usage stats to the log *//*ww w . j a v a 2s .co m*/ 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()); } } }