private boolean updateCacheStats(boolean force) {
            final Cache<?, ?> cache = get();
            if (cache == null) {
                return true; // GC'd
            }

            final long currentTimeNanos = ticker.read();
            if (!force) {
                if (currentTimeNanos - lastStatsUpdateTime < UPDATE_INTERVAL_NANOS) {
                    return false; // Not GC'd
                }
            }

            cacheStats = cache.stats();
            estimatedSize = cache.estimatedSize();

            // Write the volatile field last so that cacheStats and estimatedSize are visible
            // after reading the volatile field.
            lastStatsUpdateTime = currentTimeNanos;
            return false; // Not GC'd
        }
An array whose each element is the sum of the garbage-collected {@link Cache} stats.
{@link Type#ordinal()} signifies the index of this array.
core/src/main/java/com/linecorp/armeria/internal/common/metric/CaffeineMetricSupport.java