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

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

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class IndexMonitorEntry
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 general information about the state of an index in a Directory Server backend. Note that the term "index" may refer to a number of different things, including attribute indexes (in which each individual index type will be considered a separate index, so if "cn" has equality and substring index types then that will be considered two separate indexes), VLV indexes, and system indexes (for databases that are maintained internally, like id2entry, dn2id, id2children, and id2subtree).

The set of index monitor entries published by the directory server can be obtained using the MonitorManager.getIndexMonitorEntries(com.unboundid.ldap.sdk.LDAPConnection) method. Specific methods are available for accessing the associated monitor data (e.g., getBackendID() to retrieve the backend ID), and there are also methods for accessing this information in a generic manner (e.g., getMonitorAttributes() to retrieve all of the monitor attributes). 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
IndexMonitorEntry(Entry entry)
          Creates a new index monitor entry from the provided entry.
 
Method Summary
 java.lang.Boolean fullyPrimedWhenBroughtOnline()
          Indicates whether this index was fully primed when it was brought online.
 java.lang.String getAttributeIndexType()
          Retrieves the name of the attribute index type.
 java.lang.String getAttributeType()
          Retrieves the name of the attribute type with which the index is associated.
 java.lang.String getBackendID()
          Retrieves the backend ID for the associated backend.
 java.lang.String getBaseDN()
          Retrieves the base DN for the data with which the index is associated.
 java.lang.Long getCursorsCreatedSinceComingOnline()
          Retrieves the number of cursors created in the index for reading ranges of keys.
 java.lang.Long getEntryLimitExceededCountSinceComingOnline()
          Retrieves the number of index keys which have stopped being maintained because the number of matching entries has exceeded the entry limit since the index was brought online.
 java.lang.Long getFilterInitiatedReadsSinceComingOnline()
          Retrieves the number of index reads that have been initiated because the associated attribute type was included in the filter for a search operation with a non-base scope since the index was brought online.
 java.lang.Long getIndexEntryLimit()
          Retrieves the index entry limit, which is the maximum number of entries that will be allowed to match a key before the ID list for that key will stop being maintained.
 java.lang.String getIndexFilter()
          Retrieves the filter used for the index.
 java.lang.String getIndexName()
          Retrieves the name of the index database.
 java.lang.Long getKeysDeletedSinceComingOnline()
          Retrieves the number of index keys that have been deleted since the index was brought online.
 java.lang.Long getKeysPrimedWhenBroughtOnline()
          Retrieves the number of index keys that were primed when the index was brought online.
 java.lang.Long getKeysReadSinceComingOnline()
          Retrieves the number of index keys that have been read since the index was brought online.
 java.lang.Long getKeysWrittenSinceComingOnline()
          Retrieves the number of index keys that have been inserted or replaced since the index was brought online.
 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.String getPrimeException()
          Retrieves information about any exception caught during prime processing.
 java.lang.String getPrimeIncompleteReason()
          Retrieves information about the reason that the index was not fully primed when the backend was brought online (e.g., the database cache became full, the prime took too long to complete, or an exception was caught during processing).
 java.lang.Boolean isIndexTrusted()
          Indicates whether the index may be considered trusted.
 java.lang.Boolean maintainCountForExceededKeys()
          Indicates whether the count of matching entries will be maintained for index keys that have exceeded the entry limit.
 
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

IndexMonitorEntry

public IndexMonitorEntry(Entry entry)
Creates a new index monitor entry from the provided entry.

Parameters:
entry - The entry to be parsed as an index monitor entry. It must not be null.
Method Detail

getIndexName

public java.lang.String getIndexName()
Retrieves the name of the index database.

Returns:
The name of the index database, or null if it was not included in the monitor entry.

getBackendID

public java.lang.String getBackendID()
Retrieves the backend ID for the associated backend.

Returns:
The backend ID for the associated backend, or null if it was not included in the monitor entry.

getBaseDN

public java.lang.String getBaseDN()
Retrieves the base DN for the data with which the index is associated.

Returns:
The base DN for the data with which the index is associated, or null if it was not included in the monitor entry.

getAttributeType

public java.lang.String getAttributeType()
Retrieves the name of the attribute type with which the index is associated. It will only be available for attribute indexes.

Returns:
The name of the attribute type with which the index is associated, or null if it was not included in the monitor entry.

getAttributeIndexType

public java.lang.String getAttributeIndexType()
Retrieves the name of the attribute index type. It will only be available for attribute indexes.

Returns:
The name of the attribute index type, or null if it was not included in the monitor entry.

getIndexFilter

public java.lang.String getIndexFilter()
Retrieves the filter used for the index. It will only be available for filter indexes.

Returns:
The filter used for the index, or null if it was not included in the monitor entry.

isIndexTrusted

public java.lang.Boolean isIndexTrusted()
Indicates whether the index may be considered trusted. It will only be available for attribute indexes.

Returns:
true if the index may be considered trusted, false if it is not trusted, or null if it was not included in the monitor entry.

getIndexEntryLimit

public java.lang.Long getIndexEntryLimit()
Retrieves the index entry limit, which is the maximum number of entries that will be allowed to match a key before the ID list for that key will stop being maintained.

Returns:
The index entry limit, or null if was not included in the monitor entry.

getEntryLimitExceededCountSinceComingOnline

public java.lang.Long getEntryLimitExceededCountSinceComingOnline()
Retrieves the number of index keys which have stopped being maintained because the number of matching entries has exceeded the entry limit since the index was brought online.

Returns:
The number of index keys which have exceeded the entry limit since the index was brought online, or null if it was not included in the monitor entry.

maintainCountForExceededKeys

public java.lang.Boolean maintainCountForExceededKeys()
Indicates whether the count of matching entries will be maintained for index keys that have exceeded the entry limit. In that case, the entry IDs for the matching entries will not be available, but the number of matching entries will be.

Returns:
true if the count of matching entries will be maintained for index keys that have exceeded the entry limit, false if not, or null if it was not included in the monitor entry.

fullyPrimedWhenBroughtOnline

public java.lang.Boolean fullyPrimedWhenBroughtOnline()
Indicates whether this index was fully primed when it was brought online.

Returns:
true if the index was fully primed when it was brought online, false if not, or null if it was not included in the monitor entry.

getPrimeIncompleteReason

public java.lang.String getPrimeIncompleteReason()
Retrieves information about the reason that the index was not fully primed when the backend was brought online (e.g., the database cache became full, the prime took too long to complete, or an exception was caught during processing).

Returns:
Information about the reason that the index was not fully primed when the backend was brought online, or null if it was not included in the monitor entry.

getPrimeException

public java.lang.String getPrimeException()
Retrieves information about any exception caught during prime processing.

Returns:
Information about any exception caught during prime processing, or null if it was not included in the monitor entry.

getKeysPrimedWhenBroughtOnline

public java.lang.Long getKeysPrimedWhenBroughtOnline()
Retrieves the number of index keys that were primed when the index was brought online.

Returns:
The number of index keys that were primed when the backend was brought online, or null if it was not included in the monitor entry.

getKeysWrittenSinceComingOnline

public java.lang.Long getKeysWrittenSinceComingOnline()
Retrieves the number of index keys that have been inserted or replaced since the index was brought online.

Returns:
The number of index keys that have been inserted or replaced since the index was brought online, or null if it was not included in the monitor entry.

getKeysDeletedSinceComingOnline

public java.lang.Long getKeysDeletedSinceComingOnline()
Retrieves the number of index keys that have been deleted since the index was brought online.

Returns:
The number of index keys that have been deleted since the index was brought online, or null if it was not included in the monitor entry.

getKeysReadSinceComingOnline

public java.lang.Long getKeysReadSinceComingOnline()
Retrieves the number of index keys that have been read since the index was brought online.

Returns:
The number of index keys that have been read since the index was brought online, or null if it was not included in the monitor entry.

getFilterInitiatedReadsSinceComingOnline

public java.lang.Long getFilterInitiatedReadsSinceComingOnline()
Retrieves the number of index reads that have been initiated because the associated attribute type was included in the filter for a search operation with a non-base scope since the index was brought online.

Returns:
The number of index reads that have been initiated as a result of filter processing, or null if it was not included in the monitor entry.

getCursorsCreatedSinceComingOnline

public java.lang.Long getCursorsCreatedSinceComingOnline()
Retrieves the number of cursors created in the index for reading ranges of keys. Cursors may be used for processing in a variety of contexts, including processing for substring or range searches, subtree deletes, stream values operations, etc.

Returns:
The number of cursors created in the index for reading ranges of keys, or null if it 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.