/** * Returns the ratio of cache requests which were hits. This is defined as {@code hitCount / * requestCount}, or {@code 1.0} when {@code requestCount == 0}. Note that {@code hitRate + * missRate =~ 1.0}. */ public double hitRate() { long requestCount = requestCount(); return (requestCount == 0) ? 1.0 : (double) hitCount / requestCount; }
/** * Returns the ratio of cache requests which were misses. This is defined as {@code missCount / * requestCount}, or {@code 0.0} when {@code requestCount == 0}. Note that {@code hitRate + * missRate =~ 1.0}. Cache misses include all requests which weren't cache hits, including * requests which resulted in either successful or failed loading attempts, and requests which * waited for other threads to finish loading. It is thus the case that {@code missCount >= * loadSuccessCount + loadExceptionCount}. Multiple concurrent misses for the same key will result * in a single load operation. */ public double missRate() { long requestCount = requestCount(); return (requestCount == 0) ? 0.0 : (double) missCount / requestCount; }
/** * Returns the ratio of cache requests which were hits. This is defined as {@code hitCount / * requestCount}, or {@code 1.0} when {@code requestCount == 0}. Note that {@code hitRate + * missRate =~ 1.0}. */ public double hitRate() { long requestCount = requestCount(); return (requestCount == 0) ? 1.0 : (double) hitCount / requestCount; }
/** * Returns the ratio of cache requests which were misses. This is defined as {@code missCount / * requestCount}, or {@code 0.0} when {@code requestCount == 0}. Note that {@code hitRate + * missRate =~ 1.0}. Cache misses include all requests which weren't cache hits, including * requests which resulted in either successful or failed loading attempts, and requests which * waited for other threads to finish loading. It is thus the case that {@code missCount >= * loadSuccessCount + loadExceptionCount}. Multiple concurrent misses for the same key will result * in a single load operation. */ public double missRate() { long requestCount = requestCount(); return (requestCount == 0) ? 0.0 : (double) missCount / requestCount; }
/** * Returns the ratio of cache requests which were hits. This is defined as {@code hitCount / * requestCount}, or {@code 1.0} when {@code requestCount == 0}. Note that {@code hitRate + * missRate =~ 1.0}. */ public double hitRate() { long requestCount = requestCount(); return (requestCount == 0) ? 1.0 : (double) hitCount / requestCount; }
/** * Returns the ratio of cache requests which were misses. This is defined as {@code missCount / * requestCount}, or {@code 0.0} when {@code requestCount == 0}. Note that {@code hitRate + * missRate =~ 1.0}. Cache misses include all requests which weren't cache hits, including * requests which resulted in either successful or failed loading attempts, and requests which * waited for other threads to finish loading. It is thus the case that {@code missCount >= * loadSuccessCount + loadExceptionCount}. Multiple concurrent misses for the same key will result * in a single load operation. */ public double missRate() { long requestCount = requestCount(); return (requestCount == 0) ? 0.0 : (double) missCount / requestCount; }
@Override public Number getValue() { if (getCache() == null) return Long.valueOf(0); return Long.valueOf(getStats().requestCount()); }
public double requestCount() { return matchesCache.stats().requestCount() + sentenceCache.stats().requestCount(); }
@Managed public long getRequestCount() { return loadingCache.stats().requestCount(); } }
@com.netflix.servo.annotations.Monitor(name = "requestCount", type = COUNTER) long requestCount() { return memoStats.get().requestCount(); }
cache.getUnchecked(one); CacheStats stats = cache.stats(); assertEquals(1, stats.requestCount()); assertEquals(0, stats.hitCount()); assertEquals(0.0, stats.hitRate()); assertEquals(2, stats.requestCount()); assertEquals(1, stats.hitCount()); assertEquals(1.0 / 2, stats.hitRate()); cache.getUnchecked(two); stats = cache.stats(); assertEquals(3, stats.requestCount()); assertEquals(1, stats.hitCount()); assertEquals(1.0 / 3, stats.hitRate()); cache.getUnchecked(three); stats = cache.stats(); assertEquals(4, stats.requestCount()); assertEquals(1, stats.hitCount()); assertEquals(1.0 / 4, stats.hitRate());
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()); }
cache.getUnchecked(one); CacheStats stats = cache.stats(); assertEquals(1, stats.requestCount()); assertEquals(0, stats.hitCount()); assertEquals(0.0, stats.hitRate()); assertEquals(2, stats.requestCount()); assertEquals(1, stats.hitCount()); assertEquals(1.0/2, stats.hitRate()); cache.getUnchecked(two); stats = cache.stats(); assertEquals(3, stats.requestCount()); assertEquals(1, stats.hitCount()); assertEquals(1.0/3, stats.hitRate()); cache.getUnchecked(three); stats = cache.stats(); assertEquals(4, stats.requestCount()); assertEquals(1, stats.hitCount()); assertEquals(1.0/4, stats.hitRate());
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(requestCount, stats.requestCount()); assertEquals(11, stats.hitCount()); assertEquals(11.0 / requestCount, stats.hitRate());
cacheRequestsTotal.addMetric(cacheName, stats.requestCount()); cacheEvictionTotal.addMetric(cacheName, stats.evictionCount()); cacheSize.addMetric(cacheName, c.getValue().size());
/** * Returns the ratio of cache requests which were hits. This is defined as * {@code hitCount / requestCount}, or {@code 1.0} when {@code requestCount == 0}. * Note that {@code hitRate + missRate =~ 1.0}. */ public double hitRate() { long requestCount = requestCount(); return (requestCount == 0) ? 1.0 : (double) hitCount / requestCount; }