protected CacheStatistics createStatistics() { return new CacheStatistics(this); }
@Test public void test_statistics() throws InterruptedException { Cache<String, String> cache = new Cache<String, String>(1, new Computable<String, String>() { @Override public String compute(String s) { return s.toUpperCase(); } }); cache.get("foo"); CacheStatistics statistics = cache.getStatistics(); Assert.assertEquals(1, statistics.getSize()); Assert.assertEquals(1, statistics.getGetCount()); Assert.assertEquals(1, statistics.getPutCount()); Assert.assertEquals(1, statistics.getComputeCount()); Assert.assertEquals(0, statistics.getRemoveCount()); Assert.assertTrue(statistics.getGetLatency() > 0); Assert.assertTrue(statistics.getPutCount() > 0); Assert.assertTrue(statistics.getComputeLatency() > 0); Assert.assertTrue(statistics.getRemoveLatency() == 0); Thread.sleep(1020); Assert.assertEquals(0, statistics.getSize()); Assert.assertEquals(1, statistics.getGetCount()); Assert.assertEquals(1, statistics.getPutCount()); Assert.assertEquals(1, statistics.getComputeCount()); Assert.assertEquals(1, statistics.getRemoveCount()); Assert.assertTrue(statistics.getGetLatency() > 0); Assert.assertTrue(statistics.getPutCount() > 0); Assert.assertTrue(statistics.getComputeLatency() > 0); Assert.assertTrue(statistics.getRemoveLatency() > 0); }
Assert.assertEquals(1, statistics.getSize()); Assert.assertEquals(1, statistics.getGetCount()); Assert.assertEquals(1, statistics.getPutCount()); Assert.assertEquals(1, statistics.getComputeCount()); Assert.assertEquals(0, statistics.getRemoveCount()); Assert.assertTrue(statistics.getGetLatency() > 10 * 1000 * 1000l); Assert.assertTrue(statistics.getGetLatency() < 15 * 1000 * 1000l); Assert.assertTrue(statistics.getPutLatency() > 10 * 1000 * 1000l); Assert.assertTrue(statistics.getPutLatency() < 15 * 1000 * 1000l); Assert.assertTrue(statistics.getComputeLatency() > 10 * 1000 * 1000l); Assert.assertTrue(statistics.getComputeLatency() < 15 * 1000 * 1000l); Assert.assertTrue(statistics.getRemoveLatency() == 0); long compute = statistics.computeLatency.get(); cache.get("foo"); Assert.assertEquals(1, statistics.getSize()); Assert.assertEquals(2, statistics.getGetCount()); Assert.assertEquals(1, statistics.getPutCount()); Assert.assertEquals(1, statistics.getComputeCount()); Assert.assertEquals(put, statistics.getPutLatency()); Assert.assertEquals(compute, statistics.getComputeLatency()); Assert.assertTrue(statistics.getGetLatency() > get);
Assert.assertEquals(1, statistics.getSize()); Assert.assertEquals(1, statistics.getGetCount()); Assert.assertEquals(1, statistics.getPutCount()); Assert.assertEquals(1, statistics.getComputeCount()); Assert.assertEquals(0, statistics.getRemoveCount()); Assert.assertTrue(statistics.getGetLatency() < 9 * 1000 * 1000l); Assert.assertTrue(statistics.getPutLatency() < 9 * 1000 * 1000l); Assert.assertTrue(statistics.getComputeLatency() < 100 * 1000l); Assert.assertTrue(statistics.getRemoveLatency() == 0); long remove = statistics.removeLatency.get(); cache.put("foo", "bar"); Assert.assertEquals(1, statistics.getSize()); Assert.assertEquals(1, statistics.getGetCount()); Assert.assertEquals(2, statistics.getPutCount()); Assert.assertEquals(1, statistics.getComputeCount()); Assert.assertEquals(1, statistics.getRemoveCount()); Assert.assertEquals(get, statistics.getGetLatency()); Assert.assertEquals(compute, statistics.getComputeLatency()); Assert.assertTrue(statistics.getRemoveLatency() > remove); Assert.assertTrue(statistics.getPutLatency() > put);
protected CacheStatistics createStatistics() { return new CacheStatistics(this); }
Assert.assertEquals(1, statistics.getSize()); Assert.assertEquals(1, statistics.getGetCount()); Assert.assertEquals(1, statistics.getPutCount()); Assert.assertEquals(1, statistics.getComputeCount()); Assert.assertEquals(0, statistics.getRemoveCount()); Assert.assertTrue(statistics.getGetLatency() > 10 * 1000 * 1000l); Assert.assertTrue(statistics.getGetLatency() < 15 * 1000 * 1000l); Assert.assertTrue(statistics.getPutLatency() > 10 * 1000 * 1000l); Assert.assertTrue(statistics.getPutLatency() < 15 * 1000 * 1000l); Assert.assertTrue(statistics.getComputeLatency() < 100 * 1000l); Assert.assertTrue(statistics.getRemoveLatency() == 0); Assert.assertEquals(1, statistics.getSize()); Assert.assertEquals(1, statistics.getGetCount()); Assert.assertEquals(1, statistics.getPutCount()); Assert.assertEquals(1, statistics.getComputeCount()); Assert.assertEquals(0, statistics.getRemoveCount()); long remove = statistics.removeLatency.get(); cache.putIfAbsent("bar", "bar"); Assert.assertEquals(2, statistics.getSize()); Assert.assertEquals(1, statistics.getGetCount()); Assert.assertEquals(2, statistics.getPutCount()); Assert.assertEquals(1, statistics.getComputeCount()); Assert.assertEquals(0, statistics.getRemoveCount()); Assert.assertEquals(get, statistics.getGetLatency()); Assert.assertEquals(remove, statistics.getRemoveLatency()); Assert.assertEquals(compute, statistics.getComputeLatency()); Assert.assertTrue(statistics.getPutLatency() > put);
Assert.assertEquals(1, statistics.getSize()); Assert.assertEquals(1, statistics.getGetCount()); Assert.assertEquals(1, statistics.getPutCount()); Assert.assertEquals(1, statistics.getComputeCount()); Assert.assertEquals(0, statistics.getRemoveCount()); Assert.assertTrue(statistics.getGetLatency() > 10 * 1000 * 1000l); Assert.assertTrue(statistics.getGetLatency() < 15 * 1000 * 1000l); Assert.assertTrue(statistics.getPutLatency() > 10 * 1000 * 1000l); Assert.assertTrue(statistics.getPutLatency() < 15 * 1000 * 1000l); Assert.assertTrue(statistics.getComputeLatency() < 100 * 1000l); Assert.assertTrue(statistics.getRemoveLatency() == 0); long compute = statistics.computeLatency.get(); cache.get("foo"); Assert.assertEquals(1, statistics.getSize()); Assert.assertEquals(2, statistics.getGetCount()); Assert.assertEquals(1, statistics.getPutCount()); Assert.assertEquals(1, statistics.getComputeCount()); Assert.assertEquals(put, statistics.getPutLatency()); Assert.assertEquals(compute, statistics.getComputeLatency()); Assert.assertTrue(statistics.getGetLatency() > get);