Class IndexMonitorEntry

  • All Implemented Interfaces:
    java.io.Serializable

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class IndexMonitorEntry
    extends MonitorEntry
    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).
    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 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 Detail

      • IndexMonitorEntry

        public IndexMonitorEntry​(@NotNull
                                 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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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.
      • getUniqueKeysNearEntryLimitAccessedBySearchSinceComingOnline

        @Nullable
        public java.lang.Long getUniqueKeysNearEntryLimitAccessedBySearchSinceComingOnline()
        Retrieves the number of unique index keys near (typically, within 80% of) the index entry limit that have been accessed by search operations since the index was brought online.
        Returns:
        The number of unique index keys near the index entry limit that have been accessed by search operations since the index was brought online, or null if it was not included in the entry.
      • getUniqueKeysOverEntryLimitAccessedBySearchSinceComingOnline

        @Nullable
        public java.lang.Long getUniqueKeysOverEntryLimitAccessedBySearchSinceComingOnline()
        Retrieves the number of unique index keys over the index entry limit that have been accessed by search operations since the index was brought online.
        Returns:
        The number of unique index keys over the index entry limit that have been accessed by search operations since the index was brought online, or null if it was not included in the entry.
      • getUniqueKeysNearEntryLimitAccessedByWriteSinceComingOnline

        @Nullable
        public java.lang.Long getUniqueKeysNearEntryLimitAccessedByWriteSinceComingOnline()
        Retrieves the number of unique index keys near (typically, within 80% of) the index entry limit that have been accessed by add, delete, modify, or modify DN operations since the index was brought online.
        Returns:
        The number of unique index keys near the index entry limit that have been accessed by write operations since the index was brought online, or null if it was not included in the entry.
      • getUniqueKeysOverEntryLimitAccessedByWriteSinceComingOnline

        @Nullable
        public java.lang.Long getUniqueKeysOverEntryLimitAccessedByWriteSinceComingOnline()
        Retrieves the number of unique index keys over the index entry limit that have been accessed by add, delete, modify, or modify DN operations since the index was brought online.
        Returns:
        The number of unique index keys over the index entry limit that have been accessed by write operations since the index was brought online, or null if it was not included in the entry.
      • maintainCountForExceededKeys

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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.
      • getMonitorAttributes

        @NotNull
        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.