@Override public Long apply(CacheMetrics input) { return input.getCacheGets(); } }, expectNonZero);
/** {@inheritDoc} */ @Override public long getCacheGets() { return cache.clusterMetrics().getCacheGets(); }
/** {@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()) ); } }
IgniteEx ignite = grid(i); long getsCnt = ignite.cache(DEFAULT_CACHE_NAME).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()); }
IgniteEx ignite = grid(i); long getsCnt = ignite.cache(DEFAULT_CACHE_NAME).localMetrics().getCacheGets();
/** * @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); } }
info("Reads: " + cache0.localMetrics().getCacheGets()); info("Affinity nodes: " + U.nodes2names(affinity(cache0).mapKeyToPrimaryAndBackups(i))); info("Reads: " + cache0.localMetrics().getCacheGets()); info("Affinity nodes: " + U.nodes2names(affinity(cache0).mapKeyToPrimaryAndBackups(i))); info("Reads: " + jcache.localMetrics().getCacheGets()); assertEquals(2, jcache.localMetrics().getCacheGets()); assertEquals(0, jcache.localMetrics().getCacheHits()); assertEquals(2, jcache.localMetrics().getCacheMisses()); assertEquals(0, jcache.localMetrics().getCacheGets()); assertEquals(0, jcache.localMetrics().getCacheHits()); assertEquals(0, jcache.localMetrics().getCacheMisses());
info("Reads: " + cache0.localMetrics().getCacheGets()); info("Affinity nodes: " + U.nodes2names(affinity(cache0).mapKeyToPrimaryAndBackups(i))); info("Reads: " + cache0.localMetrics().getCacheGets()); info("Affinity nodes: " + U.nodes2names(affinity(cache0).mapKeyToPrimaryAndBackups(i))); assertEquals(2, jcache.localMetrics().getCacheGets()); assertEquals(0, jcache.localMetrics().getCacheHits()); assertEquals(2, jcache.localMetrics().getCacheMisses()); assertEquals(0, jcache.localMetrics().getCacheGets()); assertEquals(0, jcache.localMetrics().getCacheHits()); assertEquals(0, jcache.localMetrics().getCacheMisses());
info("Reads: " + cache0.localMetrics().getCacheGets()); info("Affinity nodes: " + U.nodes2names(affinity(cache0).mapKeyToPrimaryAndBackups(i))); info("Reads: " + jcache.localMetrics().getCacheGets()); assertEquals(2, jcache.localMetrics().getCacheGets()); assertEquals(1, jcache.localMetrics().getCacheHits()); assertEquals(1, jcache.localMetrics().getCacheMisses()); assertEquals(0, jcache.localMetrics().getCacheGets()); assertEquals(0, jcache.localMetrics().getCacheHits()); assertEquals(0, jcache.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()); } }
info("Reads: " + cache0.localMetrics().getCacheGets()); info("Affinity nodes: " + U.nodes2names(affinity(cache0).mapKeyToPrimaryAndBackups(i))); assertEquals(1, jcache.localMetrics().getCacheGets()); assertEquals(0, jcache.localMetrics().getCacheHits()); assertEquals(1, jcache.localMetrics().getCacheMisses()); assertEquals(0, jcache.localMetrics().getCacheGets()); assertEquals(0, jcache.localMetrics().getCacheHits()); assertEquals(0, jcache.localMetrics().getCacheMisses()); assertEquals(1, jcache.localMetrics().getCacheGets()); assertEquals(1, jcache.localMetrics().getCacheHits()); assertEquals(0, jcache.localMetrics().getCacheMisses());
info("Reads: " + cache0.localMetrics().getCacheGets()); info("Affinity nodes: " + U.nodes2names(affinity(cache0).mapKeyToPrimaryAndBackups(i))); assertEquals(1, jcache.localMetrics().getCacheGets()); assertEquals(0, jcache.localMetrics().getCacheHits()); assertEquals(1, jcache.localMetrics().getCacheMisses()); assertEquals(1, jcache.localMetrics().getCacheGets()); assertEquals(1, jcache.localMetrics().getCacheHits()); assertEquals(0, jcache.localMetrics().getCacheMisses()); assertEquals(0, jcache.localMetrics().getCacheGets()); assertEquals(0, jcache.localMetrics().getCacheHits()); assertEquals(0, jcache.localMetrics().getCacheMisses());
info("Reads: " + cache0.localMetrics().getCacheGets()); info("Hits: " + cache0.localMetrics().getCacheHits()); info("Misses: " + cache0.localMetrics().getCacheMisses()); assertEquals(2, jcache.localMetrics().getCacheGets()); assertEquals(0, jcache.localMetrics().getCacheHits()); assertEquals(2, jcache.localMetrics().getCacheMisses()); assertEquals(0, jcache.localMetrics().getCacheGets()); assertEquals(0, jcache.localMetrics().getCacheHits()); assertEquals(0, jcache.localMetrics().getCacheMisses()); assertEquals(2, jcache.localMetrics().getCacheGets()); assertEquals(0, jcache.localMetrics().getCacheHits()); assertEquals(2, jcache.localMetrics().getCacheMisses());
reads += m.getCacheGets(); hits += m.getCacheHits(); misses += m.getCacheMisses();
assertEquals(1, cache0.localMetrics().getCacheGets());
reads += m.getCacheGets(); hits += m.getCacheHits(); misses += m.getCacheMisses();
reads += m.getCacheGets(); hits += m.getCacheHits(); misses += m.getCacheMisses();
reads = m.getCacheGets(); writes = m.getCachePuts() + m.getCacheRemovals(); hits = m.getCacheHits();
assertEquals(metrics.getCacheGets(), sumGets); assertEquals(cache.mxBean().getCacheGets(), sumGets);