package org.apereo.cas.monitor; /** * Describes the simplest set of cache statistics that are meaningful for health monitoring. * * @author Marvin S. Addison * @since 3.5.1 */ public interface CacheStatistics { /** * Gets the current size of the cache in a unit specific to the cache being monitored (e.g. bytes, items, etc). * * @return Current cache size. */ long getSize(); /** * Gets the current capacity of the cache in a unit specific to the cache being monitored (e.g. bytes, items, etc). * * @return Current cache capacity. */ long getCapacity(); /** * Gets the number of items evicted from the cache in order to make space for new items. * * @return Eviction count. */ long getEvictions(); /** * Gets the percent free capacity remaining in the cache. * * @return Percent of space/capacity free. */ int getPercentFree(); /** * Gets a descriptive name of the cache instance for which statistics apply. * * @return Name of cache instance/host to which statistics apply. */ String getName(); /** * Writes a string representation of cache statistics to the given string builder. * * @param builder String builder to which string representation is appended. */ void toString(StringBuilder builder); }