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());
@Test public void testLegacyStatsApi() { // these references need to be the prefixed name final String regionName = cachePrefix + '.' + localName; final Statistics stats = sessionFactory().getStatistics(); assertEquals( 2, stats.getSecondLevelCacheRegionNames().length ); final SecondLevelCacheStatistics secondLevelCacheStatistics = stats.getSecondLevelCacheStatistics( regionName ); assert secondLevelCacheStatistics != null; final NaturalIdCacheStatistics naturalIdCacheStatistics = stats.getNaturalIdCacheStatistics( regionName ); assert naturalIdCacheStatistics != null; final SecondLevelCacheStatistics dne = stats.getSecondLevelCacheStatistics( cachePrefix + ".does.not.exist" ); assert dne != null; }
/** * {@inheritDoc} */ public TabularData getCacheRegionStats() { List<CompositeData> list = new ArrayList<CompositeData>(); Statistics statistics = getStatistics(); for (String region : statistics.getSecondLevelCacheRegionNames()) { CacheRegionStats l2CacheStats = new CacheRegionStats(region, statistics.getSecondLevelCacheStatistics(region)); list.add(l2CacheStats.toCompositeData()); } TabularData td = CacheRegionStats.newTabularDataInstance(); td.putAll(list.toArray(new CompositeData[list.size()])); return td; }
public String[] getSecondLevelCacheRegionNames() { return stats.getSecondLevelCacheRegionNames(); }
public String[] getSecondLevelCacheRegionNames() { return stats.getSecondLevelCacheRegionNames(); }
public String[] getSecondLevelCacheRegionNames() { return stats.getSecondLevelCacheRegionNames(); }
public String[] getSecondLevelCacheRegionNames() { return stats.getSecondLevelCacheRegionNames(); }
public static String[] getCacheStatistics(final IHibernateConfig hconfig) { if (isNull(hconfig)) throw new NullPointerException("Parameter hconfig is null"); SessionFactory sf = HibernateService.getInstance().getSessionFactory(hconfig); if (isNull(sf)) throw new NullPointerException("Could not obtain SessionFactory for Config: " + hconfig); final Statistics stats = sf.getStatistics(); String[] header = new String[] { JVMInfoUtil.getInstance().printSection("Cache for: " + hconfig.toString()) }; return Arrays.stream(stats.getSecondLevelCacheRegionNames()).reduce(header, (a, s) -> ArrayUtils.addAll(a, getCacheStatistics(sf, s)), ArrayUtils::addAll); }
public Map<String, int[]> getRegionCacheSamples() { Map<String, int[]> result = new HashMap<String, int[]>(); if (statistics instanceof SampledStatistics) { for (String name : statistics.getSecondLevelCacheRegionNames()) { SecondLevelCacheStatistics secondLevelCacheStatistics = statistics.getSecondLevelCacheStatistics(name); if (secondLevelCacheStatistics instanceof SampledSecondLevelCacheStatistics) { SampledSecondLevelCacheStatistics sampled = (SampledSecondLevelCacheStatistics) secondLevelCacheStatistics; result.put(name, new int[] { (int) sampled.getCacheHitMostRecentSample(), (int) sampled.getCacheMissMostRecentSample(), (int) sampled.getCachePutMostRecentSample() }); } } } return result; }
/** * {@inheritDoc} */ public TabularData getCacheRegionStats() { List<CompositeData> list = new ArrayList<CompositeData>(); Statistics statistics = getStatistics(); for (String region : statistics.getSecondLevelCacheRegionNames()) { CacheRegionStats l2CacheStats = new CacheRegionStats(region, statistics.getSecondLevelCacheStatistics(region)); list.add(l2CacheStats.toCompositeData()); } TabularData td = CacheRegionStats.newTabularDataInstance(); td.putAll(list.toArray(new CompositeData[list.size()])); return td; }
/** * {@inheritDoc} */ public TabularData getCacheRegionStats() { List<CompositeData> list = new ArrayList<CompositeData>(); Statistics statistics = getStatistics(); for (String region : statistics.getSecondLevelCacheRegionNames()) { CacheRegionStats l2CacheStats = new CacheRegionStats(region, statistics.getSecondLevelCacheStatistics(region)); list.add(l2CacheStats.toCompositeData()); } TabularData td = CacheRegionStats.newTabularDataInstance(); td.putAll(list.toArray(new CompositeData[list.size()])); return td; }
/** * {@inheritDoc} */ public TabularData getCacheRegionStats() { List<CompositeData> list = new ArrayList<CompositeData>(); Statistics statistics = getStatistics(); for (String region : statistics.getSecondLevelCacheRegionNames()) { CacheRegionStats l2CacheStats = new CacheRegionStats(region, statistics.getSecondLevelCacheStatistics(region)); list.add(l2CacheStats.toCompositeData()); } TabularData td = CacheRegionStats.newTabularDataInstance(); td.putAll(list.toArray(new CompositeData[list.size()])); return td; }
public int getChildCount(Object parent) { if(parent==stats) { return 4; } else if(parent==entities) { return stats.getEntityNames().length; } else if(parent==collections) { return stats.getCollectionRoleNames().length; } else if(parent==queries) { return stats.getQueries().length; } else if(parent==secondlevelcache) { return stats.getSecondLevelCacheRegionNames().length; } else if(parent instanceof CacheRegionStatistics) { return 0; } return 0; }
public int getChildCount(Object parent) { if(parent==stats) { return 4; } else if(parent==entities) { return stats.getEntityNames().length; } else if(parent==collections) { return stats.getCollectionRoleNames().length; } else if(parent==queries) { return stats.getQueries().length; } else if(parent==secondlevelcache) { return stats.getSecondLevelCacheRegionNames().length; } else if(parent instanceof SecondLevelCacheStatistics) { /*SecondLevelCacheStatistics stats = (SecondLevelCacheStatistics) parent; return stats.getEntries().size();*/ } return 0; }
public TabularData getCacheRegionStats() { List<CompositeData> result = new ArrayList<CompositeData>(); for (String region : statistics.getSecondLevelCacheRegionNames()) { CacheRegionStats l2CacheStats; if (statistics instanceof TerracottaStatistics) { l2CacheStats = new CacheRegionStats(region, statistics.getSecondLevelCacheStatistics(region), ((TerracottaStatistics) statistics).getLatencyStatistics(region)); } else { l2CacheStats = new CacheRegionStats(region, statistics.getSecondLevelCacheStatistics(region)); } result.add(l2CacheStats.toCompositeData()); } TabularData td = CacheRegionStats.newTabularDataInstance(); td.putAll(result.toArray(new CompositeData[result.size()])); return td; }
public void flushRegionCaches() { for (String region : statistics.getSecondLevelCacheRegionNames()) { lookupTerracottaHibernateCache(region).clear(); } logger.info("All cache regions are evicted"); sendNotification(CACHE_FLUSHED); }
public static String[] getCacheStatistics(final SessionFactory sessionFactory, final String cacheRegion) { if (isNull(sessionFactory)) throw new NullPointerException("Parameter sessionFactory is null"); if (isNull(cacheRegion)) throw new NullPointerException("Parameter cacheRegion is null"); if (cacheRegion.isEmpty()) throw new IllegalArgumentException("Parameter cacheRegion is a empty String"); final Statistics sfstats = sessionFactory.getStatistics(); if (!ArrayUtils.contains(sfstats.getSecondLevelCacheRegionNames(), cacheRegion)) throw new IllegalArgumentException("Cache Region" + cacheRegion + " is not managed by given SessionFactory"); final SecondLevelCacheStatistics stats = sfstats.getSecondLevelCacheStatistics(cacheRegion); final NaturalIdCacheStatistics idstats = sfstats.getNaturalIdCacheStatistics(cacheRegion); return new String[] { "+ 2nd Level Cache Statistics: " + cacheRegion, "+", "+ # Puts: " + stats.getPutCount(), "+ # Hits: " + stats.getHitCount(), "+ # Misses: " + stats.getMissCount(), "+ Hit Ratio: " + ((double) stats.getHitCount()) / (stats.getHitCount() + stats.getMissCount()), "+ Size in Memory: " + stats.getSizeInMemory(), "+ Elements in Memory: " + stats.getElementCountInMemory(), "+ Elements on Disk: " + stats.getElementCountOnDisk(), "+", "+ ID # Puts: " + idstats.getPutCount(), "+ ID # Hits: " + idstats.getHitCount(), "+ ID # Misses: " + idstats.getMissCount(), "+ ID Hit Ratio: " + ((double) idstats.getHitCount()) / (idstats.getHitCount() + idstats.getMissCount()), "+ ID Size in Memory: " + idstats.getSizeInMemory(), "+ ID Elements in Memory: " + idstats.getElementCountInMemory(), "+ ID Execution Count: " + idstats.getExecutionCount(), "+ ID Avg Execution Time: " + idstats.getExecutionAvgTime() + "ms", "+ ID Max Execution Time: " + idstats.getExecutionMaxTime() + "ms", "+ ID Min Execution Time: " + idstats.getExecutionMinTime() + "ms", "+", "+" }; }
public Object getChild(Object parent, int index) { if(parent==stats) { switch(index) { case 0: return entities; case 1: return collections; case 2: return queries; case 3: return secondlevelcache; } } else if(parent==entities) { return stats.getEntityStatistics(stats.getEntityNames()[index]); } else if(parent==collections) { return stats.getCollectionStatistics(stats.getCollectionRoleNames()[index]); } else if(parent==queries) { return stats.getQueryStatistics(stats.getQueries()[index]); } else if(parent==secondlevelcache) { return stats.getSecondLevelCacheStatistics( stats.getSecondLevelCacheRegionNames()[index]); } else if(parent instanceof SecondLevelCacheStatistics) { SecondLevelCacheStatistics slcs = (SecondLevelCacheStatistics) parent; return slcs.getEntries(); } return null; }
private void addSecondLevelCacheStats(List<ApplicationStat> res, Statistics stats) { addCacheStat(res, "2Cache/total/", stats.getSecondLevelCacheHitCount(), stats.getSecondLevelCacheMissCount(), stats.getSecondLevelCachePutCount()); for (String cacheRegion : stats.getSecondLevelCacheRegionNames()) { SecondLevelCacheStatistics cStats = stats.getSecondLevelCacheStatistics(cacheRegion); addCacheStat(res, "2Cache/" + cacheRegion + "/", cStats.getHitCount(), cStats.getMissCount(), cStats.getPutCount()); addStat(res, "2Cache/" + cacheRegion + "/size", cStats.getElementCountInMemory(), "onDisk=" + cStats.getElementCountOnDisk() + ", memSize=" + cStats.getSizeInMemory()); } }
@Override protected List<? extends StatsItem> getStats() { ArrayList<CacheRegionStatsItem> stats = Generics.newArrayList(); String[] regions = sessionFactory.getStatistics().getSecondLevelCacheRegionNames(); for (String region : regions) { CacheRegionStatsItem item = new CacheRegionStatsItem(region); SecondLevelCacheStatistics sl = sessionFactory.getStatistics().getSecondLevelCacheStatistics(region); item.setElementsInMemory(sl.getElementCountInMemory()); item.setElementsOnDisk(sl.getElementCountOnDisk()); item.setHitCount(sl.getHitCount()); item.setMissCount(sl.getMissCount()); item.setPutCount(sl.getPutCount()); item.setKbInMemory(sl.getSizeInMemory() / 1024); stats.add(item); } return stats; }