Class FIFOEntryCacheMonitorEntry

  • All Implemented Interfaces:
    java.io.Serializable

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class FIFOEntryCacheMonitorEntry
    extends MonitorEntry
    This class defines a monitor entry that provides information about the sate of a FIFO entry cache in the Directory Server.
    NOTE: This class, and other classes within the com.unboundid.ldap.sdk.unboundidds package structure, are only supported for use against Ping Identity, UnboundID, and Nokia/Alcatel-Lucent 8661 server products. These classes provide support for proprietary functionality or for external specifications that are not considered stable or mature enough to be guaranteed to work in an interoperable way with other types of LDAP servers.

    The information that may be available about the entry cache includes:
    • The name assigned to the cache.
    • The number of attempts (successful and total) and the hit ratio when trying to retrieve an entry from the cache.
    • The maximum allowed size of the entry cache in entries and bytes.
    • The number of entries currently held in the cache.
    • The number of entries added to or updated in the cache.
    • The number of times an entry was not added to the cache because it was already present.
    • The number of times an entry was not added to the cache because it did not match filter criteria required for inclusion.
    • The number of times an entry was not added to the cache because it was too small to be included.
    • The number of times an entry was evicted because of memory pressure or to make room for new entries.
    • Information about the current memory consumption of the cache and whether the cache is currently full.
    The server will automatically present one monitor entry for every FIFO entry cache defined in the server. It is possible to have multiple caches enabled if desired (e.g., one specifically targeting large static groups, and another small cache to help improve write-after-read performance). FIFO entry cache monitor entries can be retrieved using the MonitorManager.getFIFOEntryCacheMonitorEntries(com.unboundid.ldap.sdk.LDAPConnection) method. These monitor entries provide specific methods for accessing information about the FIFO entry cache. Alternately, this information may be accessed using the generic API. See the MonitorManager class documentation for an example that demonstrates the use of the generic API for accessing monitor data.
    See Also:
    Serialized Form
    • Constructor Detail

      • FIFOEntryCacheMonitorEntry

        public FIFOEntryCacheMonitorEntry​(Entry entry)
        Creates a new FIFO entry cache monitor entry from the provided entry.
        Parameters:
        entry - The entry to be parsed as a FIFO entry cache monitor entry. It must not be null.
    • Method Detail

      • getCacheName

        public java.lang.String getCacheName()
        Retrieves the name of the associated FIFO entry cache.
        Returns:
        The name of the associated FIFO entry cache, or null if this was not included in the monitor entry.
      • getEntryCacheHits

        public java.lang.Long getEntryCacheHits()
        Retrieves the number of times that a requested entry was successfully found in the cache.
        Returns:
        The number of times that a requested entry was successfully found in the cache, or null if this was not included in the monitor entry.
      • getEntryCacheTries

        public java.lang.Long getEntryCacheTries()
        Retrieves the number of times that an attempt was made to retrieve an entry from the cache.
        Returns:
        The number of times that an attempt was made to retrieve an entry from the cache, or null if this was not included in the monitor entry.
      • getEntryCacheHitRatio

        public java.lang.Long getEntryCacheHitRatio()
        Retrieves the percentage of the time that a requested entry was successfully retrieved from the cache.
        Returns:
        The percentage of the time that a requested entry was successfully retrieved from the cache, or null if this was not included in the monitor entry.
      • getMaxEntryCacheSizeBytes

        public java.lang.Long getMaxEntryCacheSizeBytes()
        Retrieves the maximum amount of memory (in bytes) that the entry cache may consume.
        Returns:
        The maximum amount of memory (in bytes) that the entry cache may consume, or null if this was not included in the monitor entry.
      • getCurrentEntryCacheCount

        public java.lang.Long getCurrentEntryCacheCount()
        Retrieves the number of entries currently held in the entry cache.
        Returns:
        The number of entries currently held in the entry cache, or null if this was not included in the monitor entry.
      • getMaxEntryCacheCount

        public java.lang.Long getMaxEntryCacheCount()
        Retrieves the maximum number of entries that may be held in the entry cache.
        Returns:
        The maximum number of entries that may be held in the entry cache, or null if this was not included in the monitor entry.
      • getEntriesAddedOrUpdated

        public java.lang.Long getEntriesAddedOrUpdated()
        Retrieves the total number of entries that have been added to or updated in the cache since it was enabled.
        Returns:
        The total number of entries that have been added to or updated in the cache since it was enabled, or null if this was not included in the monitor entry.
      • getEvictionsDueToMaxMemory

        public java.lang.Long getEvictionsDueToMaxMemory()
        Retrieves the number of times that an entry has been evicted from the cache because the maximum memory consumption had been reached.
        Returns:
        The number of times that an entry has been evicted from the cache because the maximum memory consumption had been reached, or null if this was not included in the monitor entry.
      • getEvictionsDueToMaxEntries

        public java.lang.Long getEvictionsDueToMaxEntries()
        Retrieves the maximum number of times that an entry has been evicted from the cache because it already contained the maximum number of entries.
        Returns:
        The maximum number of times that an entry has been evicted from the cache because it already contained the maximum number of entries, or null if this was not included in the monitor entry.
      • getEntriesNotAddedAlreadyPresent

        public java.lang.Long getEntriesNotAddedAlreadyPresent()
        Retrieves the number of times that an entry was not added to the cache because it was already present.
        Returns:
        The number of times that an entry was not added to the cache because it was already present, or null if this was not included in the monitor entry.
      • getEntriesNotAddedDueToMaxMemory

        public java.lang.Long getEntriesNotAddedDueToMaxMemory()
        Retrieves the number of times that an entry was not added to the cache because it was already at its maximum memory consumption.
        Returns:
        The number of times that an entry was not added to the cache because it was already at its maximum memory consumption, or null if this was not included in the monitor entry.
      • getEntriesNotAddedDueToFilter

        public java.lang.Long getEntriesNotAddedDueToFilter()
        Retrieves the number of times that an entry was not added to the cache because it did not match the filter criteria for including it.
        Returns:
        The number of times that an entry was not added to the cache because it did not match the filter criteria for including it, or null if this was not included in the monitor entry.
      • getEntriesNotAddedDueToEntrySmallness

        public java.lang.Long getEntriesNotAddedDueToEntrySmallness()
        Retrieves the number of times that an entry was not added to the cache because it did not have enough values to be considered for inclusion.
        Returns:
        The number of times that an entry was not added to the cache because it did not have enough values to be considered for inclusion, or null if this was not included in the monitor entry.
      • getLowMemoryOccurrences

        public java.lang.Long getLowMemoryOccurrences()
        Retrieves the number of times that entries had to be evicted from the cache because the available JVM memory became critically low.
        Returns:
        The number of times that entries had to be evicted from the cache because the available JVM memory had become critically low, or null if this was not included in the monitor entry.
      • getPercentFullMaxEntries

        public java.lang.Long getPercentFullMaxEntries()
        Retrieves the percentage of the maximum allowed number of entries that are currently held in the cache.
        Returns:
        The percentage of the maximum allowed number of entries that are currently held in the cache, or null if this was not included in the monitor entry.
      • getJVMMemoryMaxPercentThreshold

        public java.lang.Long getJVMMemoryMaxPercentThreshold()
        Retrieves the maximum percent of JVM memory that may be consumed in order for new entries to be added to the cache.
        Returns:
        The maximum percent of JVM memory that may be consumed in order for new entries to be added to the cache, or null if this was not included in the monitor entry.
      • getJVMMemoryCurrentPercentFull

        public java.lang.Long getJVMMemoryCurrentPercentFull()
        Retrieves the percentage of JVM memory that is currently being consumed.
        Returns:
        The percentage of JVM memory that is currently being consumed, or null if this was not included in the monitor entry.
      • getJVMMemoryBelowMaxMemoryPercent

        public java.lang.Long getJVMMemoryBelowMaxMemoryPercent()
        Retrieves the difference between the JVM max memory percent threshold and the JVM memory current percent full. Note that this value may be negative if the JVM is currently consuming more memory than the maximum threshold.
        Returns:
        The difference between the JVM max memory percent threshold and the JVM memory current percent full, or null if this was not included in the monitor entry.
      • isFull

        public java.lang.Boolean isFull()
        Indicates whether the entry cache is currently full, whether due to the maximum JVM memory consumption or the maximum number of entries allowed in the cache.
        Returns:
        Boolean.TRUE if the entry cache is currently full, Boolean.FALSE if the entry cache is not yet full, or null if this was not included in the monitor entry.
      • getCapacityDetails

        public java.lang.String getCapacityDetails()
        Retrieves a human-readable message about the capacity and utilization of the entry cache.
        Returns:
        A human-readable message about the capacity and utilization of the entry cache, or null if this was not included in the monitor entry.
      • getMonitorAttributes

        public java.util.Map<java.lang.String,​MonitorAttributegetMonitorAttributes()
        Retrieves the set of parsed monitor attributes for this monitor entry, mapped from a unique identifier (in all lowercase characters) to the corresponding monitor attribute.
        Overrides:
        getMonitorAttributes in class MonitorEntry
        Returns:
        The set of parsed monitor attributes for this monitor entry.