@Override public Long apply(CacheMetrics input) { return input.getCachePuts(); } }, expectNonZero);
/** {@inheritDoc} */ @Override public long getCachePuts() { return cache.clusterMetrics().getCachePuts(); }
/** {@inheritDoc} */ @Override public IgniteInternalFuture<?> applyx(IgniteInternalCache<Object, Object> c, GridKernalContext ctx) { CacheMetrics metrics = c.cache().localMetrics(); assert metrics != null; return new GridFinishedFuture<Object>(new GridCacheRestMetrics( (int)metrics.getCacheGets(), (int)(metrics.getCacheRemovals() + metrics.getCachePuts()), (int)metrics.getCacheHits(), (int)metrics.getCacheMisses()) ); } }
/** * @throws Exception If failed. */ @Test public void testPutAllAvgTime() throws Exception { IgniteCache<Integer, Integer> cache = grid(0).cache(DEFAULT_CACHE_NAME); assertEquals(0.0, cache.localMetrics().getAveragePutTime(), 0.0); assertEquals(0, cache.localMetrics().getCachePuts()); Map<Integer, Integer> values = new HashMap<>(); values.put(1, 1); values.put(2, 2); values.put(3, 3); cache.putAll(values); float averagePutTime = cache.localMetrics().getAveragePutTime(); assert averagePutTime >= 0; assertEquals(values.size(), cache.localMetrics().getCachePuts()); }
/** * @throws Exception If failed. */ @Test public void testPutAvgTime() throws Exception { final IgniteCache<Integer, Integer> cache = grid(0).cache(DEFAULT_CACHE_NAME); assertEquals(0.0, cache.localMetrics().getAveragePutTime(), 0.0); assertEquals(0, cache.localMetrics().getCachePuts()); for (int i = 0; i < KEY_CNT; i++) cache.put(i, i); assert cache.localMetrics().getAveragePutTime() > 0; assertEquals(KEY_CNT, cache.localMetrics().getCachePuts()); }
/** * @throws Exception If failed. */ @Test public void testPutAsyncAvgTime() throws Exception { IgniteCache<Object, Object> cache = grid(0).cache(DEFAULT_CACHE_NAME); assertEquals(0.0, cache.localMetrics().getAveragePutTime(), 0.0); assertEquals(0, cache.localMetrics().getCachePuts()); cache.putAsync(1, 1).get(); TimeUnit.MILLISECONDS.sleep(100L); assert cache.localMetrics().getAveragePutTime() > 0; }
/** */ @Test public void testDeactivate() throws Exception { try { Ignite ignite = startGridsMultiThreaded(GRIDS_CNT); ignite.cache("test0").put(0, 0); int id = 0; for (Ignite ig : G.allGrids()) { IgniteAtomicSequence seq = ig.atomicSequence("testSeq", 0, true); long id0 = seq.getAndIncrement(); assertEquals(id0, id); id += SEQ_RESERVE; } doSleep(1000); long puts = ignite.cache("test0").metrics().getCachePuts(); assertEquals(1, puts); grid(GRIDS_CNT - 1).cluster().active(false); ignite.cluster().active(true); long putsAfter = ignite.cache("test0").metrics().getCachePuts(); assertEquals(0, putsAfter); } finally { stopAllGrids(); } }
/** * @throws Exception If failed. */ @Test public void testMissHitPercentage() throws Exception { IgniteCache<Integer, Integer> cache0 = grid(0).cache(DEFAULT_CACHE_NAME); final int keyCnt = keyCount(); // Put and get a few keys. for (int i = 0; i < keyCnt; i++) { cache0.getAndPut(i, i); // +1 read info("Puts: " + cache0.localMetrics().getCachePuts()); for (int j = 0; j < gridCount(); j++) { IgniteCache<Integer, Integer> cache = grid(j).cache(DEFAULT_CACHE_NAME); long cacheWrites = cache.localMetrics().getCachePuts(); assertEquals("Wrong cache metrics [i=" + i + ", grid=" + j + ']', i + 1, cacheWrites); } assertEquals("Wrong value for key: " + i, Integer.valueOf(i), cache0.get(i)); // +1 read } // Check metrics for the whole cache. for (int i = 0; i < gridCount(); i++) { CacheMetrics m = grid(i).cache(DEFAULT_CACHE_NAME).localMetrics(); assertEquals(m.getCacheHits() * 100f / m.getCacheGets(), m.getCacheHitPercentage(), 0.1f); assertEquals(m.getCacheMisses() * 100f / m.getCacheGets(), m.getCacheMissPercentage(), 0.1f); } }
expMisses += expectedMissesPerPut(isPrimary); info("Puts: " + cache0.localMetrics().getCachePuts()); int cacheWrites = (int)cache.localMetrics().getCachePuts(); CacheMetrics m = grid(i).cache(DEFAULT_CACHE_NAME).localMetrics(); puts += m.getCachePuts(); reads += m.getCacheGets(); hits += m.getCacheHits();
assertEquals(putCount, cache.localMetrics().getCachePuts()); assertEquals(putCount, cache.localMetrics().getCachePuts()); assertEquals(missCount, cache.localMetrics().getCacheMisses());
assertEquals(putCount, cache.localMetrics().getCachePuts()); assertEquals(putCount, cache.localMetrics().getCachePuts()); assertEquals(missCount, cache.localMetrics().getCacheMisses());
/** * @throws Exception If failed. */ @Test public void testCacheStatistics() throws Exception { IgniteCache<Integer, Integer> cache = grid(0).cache(DEFAULT_CACHE_NAME); cache.put(1, 10); assertEquals(0, cache.localMetrics().getCacheRemovals()); assertEquals(1, cache.localMetrics().getCachePuts()); cache.remove(1); assertEquals(0, cache.localMetrics().getCacheHits()); assertEquals(1, cache.localMetrics().getCacheRemovals()); assertEquals(1, cache.localMetrics().getCachePuts()); cache.remove(1); assertEquals(0, cache.localMetrics().getCacheHits()); assertEquals(0, cache.localMetrics().getCacheMisses()); assertEquals(1, cache.localMetrics().getCacheRemovals()); assertEquals(1, cache.localMetrics().getCachePuts()); cache.put(1, 10); assertTrue(cache.remove(1, 10)); assertEquals(1, cache.localMetrics().getCacheHits()); assertEquals(0, cache.localMetrics().getCacheMisses()); assertEquals(2, cache.localMetrics().getCacheRemovals()); assertEquals(2, cache.localMetrics().getCachePuts()); assertFalse(cache.remove(1, 10)); assertEquals(1, cache.localMetrics().getCacheHits()); assertEquals(1, cache.localMetrics().getCacheMisses()); assertEquals(2, cache.localMetrics().getCacheRemovals()); assertEquals(2, cache.localMetrics().getCachePuts()); }
/** * @throws Exception If failed. */ @Test public void testCacheStatistics() throws Exception { IgniteCache<Integer, Integer> cache = grid(0).cache(DEFAULT_CACHE_NAME); cache.put(1, 10); assertEquals(0, cache.localMetrics().getCacheRemovals()); assertEquals(1, cache.localMetrics().getCachePuts()); cache.remove(1); assertEquals(0, cache.localMetrics().getCacheHits()); assertEquals(1, cache.localMetrics().getCacheRemovals()); assertEquals(1, cache.localMetrics().getCachePuts()); cache.remove(1); assertEquals(0, cache.localMetrics().getCacheHits()); assertEquals(0, cache.localMetrics().getCacheMisses()); assertEquals(1, cache.localMetrics().getCacheRemovals()); assertEquals(1, cache.localMetrics().getCachePuts()); cache.put(1, 10); assertTrue(cache.remove(1, 10)); assertEquals(1, cache.localMetrics().getCacheHits()); assertEquals(0, cache.localMetrics().getCacheMisses()); assertEquals(2, cache.localMetrics().getCacheRemovals()); assertEquals(2, cache.localMetrics().getCachePuts()); assertFalse(cache.remove(1, 10)); assertEquals(1, cache.localMetrics().getCacheHits()); assertEquals(1, cache.localMetrics().getCacheMisses()); assertEquals(2, cache.localMetrics().getCacheRemovals()); assertEquals(2, cache.localMetrics().getCachePuts()); }
assertEquals(putCount, cache.localMetrics().getCachePuts()); assertEquals(putCount, cache.localMetrics().getCachePuts()); assertEquals(putCount, cache.localMetrics().getCachePuts()); assertEquals(putCount, cache.localMetrics().getCachePuts()); assertEquals(missCount, cache.localMetrics().getCacheMisses());
/** * Asserts that only local metrics are updating. * * @param cacheName Cache name. */ private void assertOnlyLocalMetricsUpdating(String cacheName) { for (int i = 0; i < GRID_CNT; i++) { IgniteCache cache = grid(i).cache(cacheName); CacheMetrics clusterMetrics = cache.metrics(grid(i).cluster().forCacheNodes(cacheName)); CacheMetrics locMetrics = cache.localMetrics(); assertEquals(clusterMetrics.name(), locMetrics.name()); assertEquals(0L, clusterMetrics.getCacheGets()); assertEquals(0L, cache.mxBean().getCacheGets()); assertEquals(locMetrics.getCacheGets(), cache.localMxBean().getCacheGets()); assertEquals(0L, clusterMetrics.getCachePuts()); assertEquals(0L, cache.mxBean().getCachePuts()); assertEquals(locMetrics.getCachePuts(), cache.localMxBean().getCachePuts()); assertEquals(0L, clusterMetrics.getCacheHits()); assertEquals(0L, cache.mxBean().getCacheHits()); assertEquals(locMetrics.getCacheHits(), cache.localMxBean().getCacheHits()); } }
/** * @throws Exception If failed. */ @Test public void testEntryProcessorRemove() throws Exception { IgniteCache<Integer, Integer> cache = grid(0).cache(DEFAULT_CACHE_NAME); cache.put(1, 20); int result = cache.invoke(1, new EntryProcessor<Integer, Integer, Integer>() { @Override public Integer process(MutableEntry<Integer, Integer> entry, Object... arguments) throws EntryProcessorException { Integer result = entry.getValue(); entry.remove(); return result; } }); assertEquals(1L, cache.localMetrics().getCachePuts()); assertEquals(20, result); assertEquals(1L, cache.localMetrics().getCacheHits()); assertEquals(100.0f, cache.localMetrics().getCacheHitPercentage()); assertEquals(0L, cache.localMetrics().getCacheMisses()); assertEquals(0f, cache.localMetrics().getCacheMissPercentage()); assertEquals(1L, cache.localMetrics().getCachePuts()); assertEquals(1L, cache.localMetrics().getCacheRemovals()); assertEquals(0L, cache.localMetrics().getCacheEvictions()); assert cache.localMetrics().getAveragePutTime() >= 0; assert cache.localMetrics().getAverageGetTime() >= 0; assert cache.localMetrics().getAverageRemoveTime() >= 0; }
/** * @throws Exception If failed. */ @Test public void testEntryProcessorRemove() throws Exception { IgniteCache<Integer, Integer> cache = grid(0).cache(DEFAULT_CACHE_NAME); cache.put(1, 20); int result = cache.invoke(1, new EntryProcessor<Integer, Integer, Integer>() { @Override public Integer process(MutableEntry<Integer, Integer> entry, Object... arguments) throws EntryProcessorException { Integer result = entry.getValue(); entry.remove(); return result; } }); assertEquals(1L, cache.localMetrics().getCachePuts()); assertEquals(20, result); assertEquals(1L, cache.localMetrics().getCacheHits()); assertEquals(100.0f, cache.localMetrics().getCacheHitPercentage()); assertEquals(0L, cache.localMetrics().getCacheMisses()); assertEquals(0f, cache.localMetrics().getCacheMissPercentage()); assertEquals(1L, cache.localMetrics().getCachePuts()); assertEquals(1L, cache.localMetrics().getCacheRemovals()); assertEquals(0L, cache.localMetrics().getCacheEvictions()); assert cache.localMetrics().getAveragePutTime() >= 0; assert cache.localMetrics().getAverageGetTime() >= 0; assert cache.localMetrics().getAverageRemoveTime() >= 0; }
CacheMetrics m = grid(i).cache(DEFAULT_CACHE_NAME).localMetrics(); puts += m.getCachePuts(); reads += m.getCacheGets(); hits += m.getCacheHits();
assertEquals(1, cache0.localMetrics().getCachePuts()); assertEquals(1, cache0.localMetrics().getCacheRemovals()); assertEquals(1, cache0.localMetrics().getCacheGets());
/** * @throws Exception If failed. */ @Test public void testMissesOnEmptyCache() throws Exception { IgniteCache<Integer, Integer> cache = grid(0).cache(DEFAULT_CACHE_NAME); assertEquals("Expected 0 read", 0, cache.localMetrics().getCacheGets()); assertEquals("Expected 0 miss", 0, cache.localMetrics().getCacheMisses()); Integer key = null; for (int i = 0; i < 1000; i++) { if (affinity(cache).isPrimary(grid(0).localNode(), i)) { key = i; break; } } assertNotNull(key); cache.get(key); assertEquals("Expected 1 read", 1, cache.localMetrics().getCacheGets()); assertEquals("Expected 1 miss", 1, cache.localMetrics().getCacheMisses()); cache.getAndPut(key, key); // +1 read, +1 miss. assertEquals("Expected 2 reads", 2, cache.localMetrics().getCacheGets()); cache.get(key); assertEquals("Expected 1 write", 1, cache.localMetrics().getCachePuts()); assertEquals("Expected 3 reads", 3, cache.localMetrics().getCacheGets()); assertEquals("Expected 2 misses", 2, cache.localMetrics().getCacheMisses()); assertEquals("Expected 1 hit", 1, cache.localMetrics().getCacheHits()); }