com.unboundid.ldap.sdk.unboundidds.monitors
Class FIFOEntryCacheMonitorEntry

java.lang.Object
  extended by com.unboundid.ldap.sdk.unboundidds.monitors.MonitorEntry
      extended by com.unboundid.ldap.sdk.unboundidds.monitors.FIFOEntryCacheMonitorEntry
All Implemented Interfaces:
java.io.Serializable

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class FIFOEntryCacheMonitorEntry
extends MonitorEntry

NOTE: This class is part of the Commercial Edition of the UnboundID LDAP SDK for Java. It is not available for use in applications that include only the Standard Edition of the LDAP SDK, and is not supported for use in conjunction with non-UnboundID products.
This class defines a monitor entry that provides information about the sate of a FIFO entry cache in the Directory Server. The information that may be available about the entry cache includes: 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 Summary
FIFOEntryCacheMonitorEntry(Entry entry)
          Creates a new FIFO entry cache monitor entry from the provided entry.
 
Method Summary
 java.lang.String getCacheName()
          Retrieves the name of the associated FIFO entry cache.
 java.lang.String getCapacityDetails()
          Retrieves a human-readable message about the capacity and utilization of the entry cache.
 java.lang.Long getCurrentEntryCacheCount()
          Retrieves the number of entries currently held in the entry cache.
 java.lang.Long getEntriesAddedOrUpdated()
          Retrieves the total number of entries that have been added to or updated in the cache since it was enabled.
 java.lang.Long getEntriesNotAddedAlreadyPresent()
          Retrieves the number of times that an entry was not added to the cache because it was already present.
 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.
 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.
 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.
 java.lang.Long getEntryCacheHitRatio()
          Retrieves the percentage of the time that a requested entry was successfully retrieved from the cache.
 java.lang.Long getEntryCacheHits()
          Retrieves the number of times that a requested entry was successfully found in the cache.
 java.lang.Long getEntryCacheTries()
          Retrieves the number of times that an attempt was made to retrieve an entry from the cache.
 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.
 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.
 java.lang.Long getJVMMemoryBelowMaxMemoryPercent()
          Retrieves the difference between the JVM max memory percent threshold and the JVM memory current percent full.
 java.lang.Long getJVMMemoryCurrentPercentFull()
          Retrieves the percentage of JVM memory that is currently being consumed.
 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.
 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.
 java.lang.Long getMaxEntryCacheCount()
          Retrieves the maximum number of entries that may be held in the entry cache.
 java.lang.Long getMaxEntryCacheSizeBytes()
          Retrieves the maximum amount of memory (in bytes) that the entry cache may consume.
 java.util.Map<java.lang.String,MonitorAttribute> getMonitorAttributes()
          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.
 java.lang.String getMonitorDescription()
          Retrieves a human-readable description name for this monitor entry.
 java.lang.String getMonitorDisplayName()
          Retrieves a human-readable display name for this monitor entry.
 java.lang.Long getPercentFullMaxEntries()
          Retrieves the percentage of the maximum allowed number of entries that are currently held in the cache.
 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.
 
Methods inherited from class com.unboundid.ldap.sdk.unboundidds.monitors.MonitorEntry
addMonitorAttribute, addMonitorAttribute, addMonitorAttribute, addMonitorAttribute, addMonitorAttribute, addMonitorAttribute, addMonitorAttribute, decode, getBoolean, getDate, getDN, getDouble, getEntry, getInteger, getLong, getMonitorClass, getMonitorName, getString, getStrings, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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.

getMonitorDisplayName

public java.lang.String getMonitorDisplayName()
Retrieves a human-readable display name for this monitor entry.

Overrides:
getMonitorDisplayName in class MonitorEntry
Returns:
A human-readable display name for this monitor entry.

getMonitorDescription

public java.lang.String getMonitorDescription()
Retrieves a human-readable description name for this monitor entry.

Overrides:
getMonitorDescription in class MonitorEntry
Returns:
A human-readable description name for this monitor entry.

getMonitorAttributes

public java.util.Map<java.lang.String,MonitorAttribute> getMonitorAttributes()
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.