private <T extends Serializable> void registerStatistic(String name, StatisticType type, Set<String> tags, Function<EhcacheOffHeapBackingMap<K, OffHeapValueHolder<V>>, T> fn) { registerStatistic(name, type, tags, () -> { EhcacheOffHeapBackingMap<K, OffHeapValueHolder<V>> map = backingMap(); // Returning null means not available. // Do not return -1 because a stat can be negative and it's hard to tell the difference // between -1 meaning unavailable for a stat and for the other one -1 being a right value; return map == null ? null : fn.apply(map); }); }
registerStatistic("allocatedMemory", GAUGE, tags, EhcacheOffHeapBackingMap::allocatedMemory); registerStatistic("occupiedMemory", GAUGE, tags, EhcacheOffHeapBackingMap::occupiedMemory); registerStatistic("dataAllocatedMemory", GAUGE, tags, EhcacheOffHeapBackingMap::dataAllocatedMemory); registerStatistic("dataOccupiedMemory", GAUGE, tags, EhcacheOffHeapBackingMap::dataOccupiedMemory); registerStatistic("dataSize", GAUGE, tags, EhcacheOffHeapBackingMap::dataSize); registerStatistic("dataVitalMemory", GAUGE, tags, EhcacheOffHeapBackingMap::dataVitalMemory); registerStatistic("mappings", GAUGE, tags, EhcacheOffHeapBackingMap::longSize); registerStatistic("vitalMemory", GAUGE, tags, EhcacheOffHeapBackingMap::vitalMemory); registerStatistic("removedSlotCount", GAUGE, tags, EhcacheOffHeapBackingMap::removedSlotCount); registerStatistic("usedSlotCount", GAUGE, tags, EhcacheOffHeapBackingMap::usedSlotCount); registerStatistic("tableCapacity", GAUGE, tags, EhcacheOffHeapBackingMap::tableCapacity);
private <T extends Serializable> void registerStatistic(String name, StatisticType type, Set<String> tags, Function<EhcacheOffHeapBackingMap<K, OffHeapValueHolder<V>>, T> fn) { registerStatistic(name, type, tags, () -> { EhcacheOffHeapBackingMap<K, OffHeapValueHolder<V>> map = backingMap(); // Returning null means not available. // Do not return -1 because a stat can be negative and it's hard to tell the difference // between -1 meaning unavailable for a stat and for the other one -1 being a right value; return map == null ? null : fn.apply(map); }); }
registerStatistic("allocatedMemory", GAUGE, tags, EhcacheOffHeapBackingMap::allocatedMemory); registerStatistic("occupiedMemory", GAUGE, tags, EhcacheOffHeapBackingMap::occupiedMemory); registerStatistic("dataAllocatedMemory", GAUGE, tags, EhcacheOffHeapBackingMap::dataAllocatedMemory); registerStatistic("dataOccupiedMemory", GAUGE, tags, EhcacheOffHeapBackingMap::dataOccupiedMemory); registerStatistic("dataSize", GAUGE, tags, EhcacheOffHeapBackingMap::dataSize); registerStatistic("dataVitalMemory", GAUGE, tags, EhcacheOffHeapBackingMap::dataVitalMemory); registerStatistic("mappings", GAUGE, tags, EhcacheOffHeapBackingMap::longSize); registerStatistic("vitalMemory", GAUGE, tags, EhcacheOffHeapBackingMap::vitalMemory); registerStatistic("removedSlotCount", GAUGE, tags, EhcacheOffHeapBackingMap::removedSlotCount); registerStatistic("usedSlotCount", GAUGE, tags, EhcacheOffHeapBackingMap::usedSlotCount); registerStatistic("tableCapacity", GAUGE, tags, EhcacheOffHeapBackingMap::tableCapacity);