nNodesScanned = new LongStat(stats, EVICTOR_NODES_SCANNED);
nNodesEvicted = new LongStat(stats, EVICTOR_NODES_EVICTED);
nRootNodesEvicted = new LongStat(stats, EVICTOR_ROOT_NODES_EVICTED);
nBINsStripped = new LongStat(stats, EVICTOR_BINS_STRIPPED);
nLNFetch = new AtomicLongStat(stats, LN_FETCH);
nBINFetch = new AtomicLongStat(stats, BIN_FETCH);
nUpperINFetch = new AtomicLongStat(stats, UPPER_IN_FETCH);
nLNFetchMiss = new AtomicLongStat(stats, LN_FETCH_MISS);
nBINFetchMiss = new AtomicLongStat(stats, BIN_FETCH_MISS);
nUpperINFetchMiss = new AtomicLongStat(stats, UPPER_IN_FETCH_MISS);
nThreadUnavailable = new AtomicLongStat(stats, THREAD_UNAVAILABLE);
nINSparseTarget = new AtomicLong(0);
nINNoTarget = new AtomicLong(0);
nINCompactKey = new AtomicLong(0);
EnumSet<EvictionSource> allSources =
EnumSet.allOf(EvictionSource.class);
int numSources = allSources.size();
binEvictSources = new AtomicLongStat[numSources];
inEvictSources = new AtomicLongStat[numSources];
numBatches = new AtomicLong[numSources];
numBatchTargets = new AtomicLong[numSources];
batchesPerSource = new LongStat[numSources];
avgBatchPerSource = new LongStat[numSources];
for (EvictionSource source : allSources) {
int index = source.ordinal();
binEvictSources[index] =
new AtomicLongStat(stats, source.getBINStatDef());
inEvictSources[index] =
new AtomicLongStat(stats, source.getUpperINStatDef());
numBatches[index] = new AtomicLong();
numBatchTargets[index] = new AtomicLong();
batchesPerSource[index] =
new LongStat(stats, source.getNumBatchesStatDef());
avgBatchPerSource[index] =