@Override public Number getValue() { if (getCache() == null) return Long.valueOf(0); return Double.valueOf(getStats().totalLoadTime()/1000000); }
@Override public Long getValue() { return cache.stats().totalLoadTime(); } })
@com.netflix.servo.annotations.Monitor(name = "totalLoadTime", type = COUNTER) long totalLoadTime() { return memoStats.get().totalLoadTime(); } }
/** Increments all counters by the values in {@code other}. */ public void incrementBy(StatsCounter other) { CacheStats otherStats = other.snapshot(); hitCount.add(otherStats.hitCount()); missCount.add(otherStats.missCount()); loadSuccessCount.add(otherStats.loadSuccessCount()); loadExceptionCount.add(otherStats.loadExceptionCount()); totalLoadTime.add(otherStats.totalLoadTime()); evictionCount.add(otherStats.evictionCount()); } }
/** Increments all counters by the values in {@code other}. */ public void incrementBy(StatsCounter other) { CacheStats otherStats = other.snapshot(); hitCount.add(otherStats.hitCount()); missCount.add(otherStats.missCount()); loadSuccessCount.add(otherStats.loadSuccessCount()); loadExceptionCount.add(otherStats.loadExceptionCount()); totalLoadTime.add(otherStats.totalLoadTime()); evictionCount.add(otherStats.evictionCount()); } }
/** Increments all counters by the values in {@code other}. */ public void incrementBy(StatsCounter other) { CacheStats otherStats = other.snapshot(); hitCount.add(otherStats.hitCount()); missCount.add(otherStats.missCount()); loadSuccessCount.add(otherStats.loadSuccessCount()); loadExceptionCount.add(otherStats.loadExceptionCount()); totalLoadTime.add(otherStats.totalLoadTime()); evictionCount.add(otherStats.evictionCount()); } }
@Override public CacheStats stats() { com.google.common.cache.CacheStats stats = statsCounter.snapshot().plus(cache.stats()); return new CacheStats(stats.hitCount(), stats.missCount(), stats.loadSuccessCount(), stats.loadExceptionCount(), stats.totalLoadTime(), stats.evictionCount(), 0L); }
assertEquals(1.0, stats.missRate()); assertEquals(1, stats.loadCount()); long totalLoadTime = stats.totalLoadTime(); assertTrue(totalLoadTime >= 0); assertTrue(stats.averageLoadPenalty() >= 0.0); assertEquals(2.0 / 3, stats.missRate()); assertEquals(2, stats.loadCount()); assertTrue(stats.totalLoadTime() >= totalLoadTime); totalLoadTime = stats.totalLoadTime(); assertTrue(stats.averageLoadPenalty() >= 0.0); assertEquals(0, stats.evictionCount()); assertEquals(3.0 / 4, stats.missRate()); assertEquals(3, stats.loadCount()); assertTrue(stats.totalLoadTime() >= totalLoadTime); totalLoadTime = stats.totalLoadTime(); assertTrue(stats.averageLoadPenalty() >= 0.0); assertEquals(1, stats.evictionCount());
assertEquals(1.0, stats.missRate()); assertEquals(1, stats.loadCount()); long totalLoadTime = stats.totalLoadTime(); assertTrue(totalLoadTime >= 0); assertTrue(stats.averageLoadPenalty() >= 0.0); assertEquals(2.0/3, stats.missRate()); assertEquals(2, stats.loadCount()); assertTrue(stats.totalLoadTime() >= totalLoadTime); totalLoadTime = stats.totalLoadTime(); assertTrue(stats.averageLoadPenalty() >= 0.0); assertEquals(0, stats.evictionCount()); assertEquals(3.0/4, stats.missRate()); assertEquals(3, stats.loadCount()); assertTrue(stats.totalLoadTime() >= totalLoadTime); totalLoadTime = stats.totalLoadTime(); assertTrue(stats.averageLoadPenalty() >= 0.0); assertEquals(1, stats.evictionCount());
public void testEmptySimpleStats() { StatsCounter counter = new SimpleStatsCounter(); CacheStats stats = counter.snapshot(); assertEquals(0, stats.requestCount()); assertEquals(0, stats.hitCount()); assertEquals(1.0, stats.hitRate()); assertEquals(0, stats.missCount()); assertEquals(0.0, stats.missRate()); assertEquals(0, stats.loadSuccessCount()); assertEquals(0, stats.loadExceptionCount()); assertEquals(0, stats.loadCount()); assertEquals(0, stats.totalLoadTime()); assertEquals(0.0, stats.averageLoadPenalty()); assertEquals(0, stats.evictionCount()); }
public void testEmpty() { CacheStats stats = new CacheStats(0, 0, 0, 0, 0, 0); assertEquals(0, stats.requestCount()); assertEquals(0, stats.hitCount()); assertEquals(1.0, stats.hitRate()); assertEquals(0, stats.missCount()); assertEquals(0.0, stats.missRate()); assertEquals(0, stats.loadSuccessCount()); assertEquals(0, stats.loadExceptionCount()); assertEquals(0.0, stats.loadExceptionRate()); assertEquals(0, stats.loadCount()); assertEquals(0, stats.totalLoadTime()); assertEquals(0.0, stats.averageLoadPenalty()); assertEquals(0, stats.evictionCount()); }
public void testSingle() { CacheStats stats = new CacheStats(11, 13, 17, 19, 23, 27); assertEquals(24, stats.requestCount()); assertEquals(11, stats.hitCount()); assertEquals(11.0 / 24, stats.hitRate()); assertEquals(13, stats.missCount()); assertEquals(13.0 / 24, stats.missRate()); assertEquals(17, stats.loadSuccessCount()); assertEquals(19, stats.loadExceptionCount()); assertEquals(19.0 / 36, stats.loadExceptionRate()); assertEquals(17 + 19, stats.loadCount()); assertEquals(23, stats.totalLoadTime()); assertEquals(23.0 / (17 + 19), stats.averageLoadPenalty()); assertEquals(27, stats.evictionCount()); }
public void testPlus() { CacheStats one = new CacheStats(11, 13, 15, 13, 11, 9); CacheStats two = new CacheStats(53, 47, 41, 39, 37, 35); CacheStats sum = two.plus(one); assertEquals(124, sum.requestCount()); assertEquals(64, sum.hitCount()); assertEquals(64.0 / 124, sum.hitRate()); assertEquals(60, sum.missCount()); assertEquals(60.0 / 124, sum.missRate()); assertEquals(56, sum.loadSuccessCount()); assertEquals(52, sum.loadExceptionCount()); assertEquals(52.0 / 108, sum.loadExceptionRate()); assertEquals(56 + 52, sum.loadCount()); assertEquals(48, sum.totalLoadTime()); assertEquals(48.0 / (56 + 52), sum.averageLoadPenalty()); assertEquals(44, sum.evictionCount()); assertEquals(sum, one.plus(two)); } }
public void testMinus() { CacheStats one = new CacheStats(11, 13, 17, 19, 23, 27); CacheStats two = new CacheStats(53, 47, 43, 41, 37, 31); CacheStats diff = two.minus(one); assertEquals(76, diff.requestCount()); assertEquals(42, diff.hitCount()); assertEquals(42.0 / 76, diff.hitRate()); assertEquals(34, diff.missCount()); assertEquals(34.0 / 76, diff.missRate()); assertEquals(26, diff.loadSuccessCount()); assertEquals(22, diff.loadExceptionCount()); assertEquals(22.0 / 48, diff.loadExceptionRate()); assertEquals(26 + 22, diff.loadCount()); assertEquals(14, diff.totalLoadTime()); assertEquals(14.0 / (26 + 22), diff.averageLoadPenalty()); assertEquals(4, diff.evictionCount()); assertEquals(new CacheStats(0, 0, 0, 0, 0, 0), one.minus(two)); }
assertEquals(17, stats.loadExceptionCount()); assertEquals(13 + 17, stats.loadCount()); assertEquals(214, stats.totalLoadTime()); assertEquals(214.0 / (13 + 17), stats.averageLoadPenalty()); assertEquals(27, stats.evictionCount());
cacheStatistics.put("missCount", cacheStats.missCount()); cacheStatistics.put("missRate", cacheStats.missRate()); cacheStatistics.put("totalLoadTime", cacheStats.totalLoadTime()); return Collections.unmodifiableMap(cacheStatistics);
LOGGER.fine("Tag values stats:\n" + OSMUtils.logValueTypeCount()); LOGGER.info("JTS Geometry cache hit rate: " + stats.hitRate()); LOGGER.info("JTS Geometry total load time: " + stats.totalLoadTime() / 1000);
cacheLoadTotal.addMetric(cacheName, stats.loadCount()); cacheLoadSummary.addMetric(cacheName, stats.loadCount(), stats.totalLoadTime() / Collector.NANOSECONDS_PER_SECOND);
@Override protected long get(Cache cache) { return MILLISECONDS.convert(cache.stats().totalLoadTime(), NANOSECONDS); } }
@Test public void testStoredProcExecutorJdbcCallOperationsCache() throws Exception { final DataSource datasource = mock(DataSource.class); final StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource); final ExpressionFactoryBean efb = new ExpressionFactoryBean("headers['stored_procedure_name']"); efb.afterPropertiesSet(); final Expression expression = efb.getObject(); storedProcExecutor.setStoredProcedureNameExpression(expression); storedProcExecutor.setBeanFactory(mock(BeanFactory.class)); storedProcExecutor.afterPropertiesSet(); this.mockTheOperationsCache(storedProcExecutor); for (int i = 1; i <= 3; i++) { storedProcExecutor.executeStoredProcedure( MessageBuilder.withPayload("test") .setHeader("stored_procedure_name", "123") .build()); } final CacheStats stats = (CacheStats) storedProcExecutor.getJdbcCallOperationsCacheStatistics(); LOGGER.info(stats); LOGGER.info(stats.totalLoadTime() / 1000 / 1000); assertEquals(stats.hitCount(), 2); assertEquals(stats.missCount(), 1); assertEquals(stats.loadCount(), 1); }