use of com.yelp.nrtsearch.server.luceneserver.search.cache.NrtQueryCache in project nrtsearch by Yelp.
the class QueryCacheCollector method collect.
@Override
public List<MetricFamilySamples> collect() {
QueryCache queryCache = IndexSearcher.getDefaultQueryCache();
if (!(queryCache instanceof NrtQueryCache)) {
return Collections.emptyList();
}
NrtQueryCache nrtQueryCache = (NrtQueryCache) queryCache;
List<MetricFamilySamples> mfs = new ArrayList<>();
mfs.add(new GaugeMetricFamily("nrt_query_cache_hits", "Total number of query cache hits.", nrtQueryCache.getHitCount()));
mfs.add(new GaugeMetricFamily("nrt_query_cache_misses", "Total number of query cache misses.", nrtQueryCache.getMissCount()));
mfs.add(new GaugeMetricFamily("nrt_query_cache_size", "Total number of entries in query cache.", nrtQueryCache.getCacheSize()));
mfs.add(new GaugeMetricFamily("nrt_query_cache_size_bytes", "Total memory used by query cache.", nrtQueryCache.ramBytesUsed()));
mfs.add(new GaugeMetricFamily("nrt_query_cache_count", "Total number of entries added to the query cache.", nrtQueryCache.getCacheCount()));
mfs.add(new GaugeMetricFamily("nrt_query_cache_eviction_count", "Total number of query cache evictions.", nrtQueryCache.getEvictionCount()));
long cacheQueryCount = nrtQueryCache.getCacheQueryCount();
long cacheQuerySize = nrtQueryCache.getCacheQuerySize();
mfs.add(new GaugeMetricFamily("nrt_query_cache_query_size", "Total number of queries in query cache.", cacheQuerySize));
mfs.add(new GaugeMetricFamily("nrt_query_cache_query_count", "Total number of queries added to the query cache.", cacheQueryCount));
mfs.add(new GaugeMetricFamily("nrt_query_cache_query_eviction_count", "Total number of query cache query evictions.", (cacheQueryCount - cacheQuerySize)));
return mfs;
}
use of com.yelp.nrtsearch.server.luceneserver.search.cache.NrtQueryCache in project nrtsearch by Yelp.
the class LuceneServerTest method testQueryCache.
@Test
public void testQueryCache() {
QueryCache queryCache = IndexSearcher.getDefaultQueryCache();
assertTrue(queryCache instanceof NrtQueryCache);
String configStr = String.join("\n", "queryCache:", " enabled: false");
LuceneServerConfiguration configuration = new LuceneServerConfiguration(new ByteArrayInputStream(configStr.getBytes()));
LuceneServerImpl.initQueryCache(configuration);
assertNull(IndexSearcher.getDefaultQueryCache());
configStr = String.join("\n", "queryCache:", " enabled: true");
configuration = new LuceneServerConfiguration(new ByteArrayInputStream(configStr.getBytes()));
LuceneServerImpl.initQueryCache(configuration);
queryCache = IndexSearcher.getDefaultQueryCache();
assertTrue(queryCache instanceof NrtQueryCache);
}
Aggregations