Class UnboundIDWorkQueueMonitorEntry

  • All Implemented Interfaces:
    java.io.Serializable

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class UnboundIDWorkQueueMonitorEntry
    extends MonitorEntry
    This class defines a monitor entry that provides information about the state of the UnboundID work queue. This has replaced the traditional work queue as the default work queue implementation used by 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 monitor information that it may make available includes:
    • The number of requests that were rejected because the work queue was already at its maximum capacity.
    • The number of operations currently held in the work queue waiting to be picked for processing by a worker thread.
    • The average number of operations held in the work queue since startup as observed from periodic polling.
    • The maximum number of operations held in the work queue at any time since startup as observed from periodic polling.
    The server should present at most one UnboundID work queue monitor entry. It can be retrieved using the MonitorManager.getUnboundIDWorkQueueMonitorEntry(com.unboundid.ldap.sdk.LDAPConnection) method. This entry provides specific methods for accessing information about the state of the work queue (e.g., the getCurrentSize() method may be used to retrieve the number of operations currently held in the work queue). 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

      • UnboundIDWorkQueueMonitorEntry

        public UnboundIDWorkQueueMonitorEntry​(Entry entry)
        Creates a new UnboundID work queue monitor entry from the provided entry.
        Parameters:
        entry - The entry to be parsed as a traditional work queue monitor entry. It must not be null.
    • Method Detail

      • getAverageSize

        public java.lang.Long getAverageSize()
        Retrieves the average number of operations observed in the work queue.
        Returns:
        The average number of operations observed in the work queue, or null if that information was not included in the monitor entry.
      • getRecentAverageSize

        public java.lang.Long getRecentAverageSize()
        Retrieves the average number of operations observed in the work queue over a recent interval.
        Returns:
        The average number of operations observed in the work queue over a recent interval, or null if that information was not included in the monitor entry.
      • getCurrentSize

        public java.lang.Long getCurrentSize()
        Retrieves the number of operations that are currently in the work queue waiting to be processed.
        Returns:
        The number of operations that are currently in the work queue waiting to be processed, or null if that information was not included in the monitor entry.
      • getMaxSize

        public java.lang.Long getMaxSize()
        Retrieves the maximum number of operations observed in the work queue at any given time.
        Returns:
        The total number of operations observed in the work queue at any given time, or null if that information was not included in the monitor entry.
      • getRequestsRejectedDueToQueueFull

        public java.lang.Long getRequestsRejectedDueToQueueFull()
        Retrieves the total number of operation requests that were rejected because the work queue was at its maximum capacity.
        Returns:
        The total number of operation requests rejected because the work queue was at its maximum capacity, or null if that information was not included in the monitor entry.
      • getRequestsStolen

        public java.lang.Long getRequestsStolen()
        Retrieves the total number of operation requests that have been stolen from their primary queue by a worker thread associated with a different queue.
        Returns:
        The total number of operation requests that have been stolen from their primary queue by a worker thread associated with a different queue, or null if that information was not included in the monitor entry.
      • getNumWorkerThreads

        public java.lang.Long getNumWorkerThreads()
        Retrieves the number of worker threads configured for the work queue.
        Returns:
        The number of worker threads configured for the work queue, or null if that information was not included in the monitor entry.
      • getNumBusyWorkerThreads

        public java.lang.Long getNumBusyWorkerThreads()
        Retrieves the number of worker threads that are currently busy processing an operation.
        Returns:
        The number of worker threads that are currently busy processing an operation, or null if that information was not included in the monitor entry.
      • getCurrentWorkerThreadPercentBusy

        public java.lang.Long getCurrentWorkerThreadPercentBusy()
        Retrieves the percentage of worker threads that are currently busy processing an operation.
        Returns:
        The percentage of worker threads that are currently busy processing an operation, or null if that information was not included in the monitor entry.
      • getAverageWorkerThreadPercentBusy

        public java.lang.Long getAverageWorkerThreadPercentBusy()
        Retrieves the average percentage of the time since startup that worker threads have spent busy processing operations.
        Returns:
        The average percentage of the time since startup that worker threads have spent busy processing operations, or null if that information was not included in the monitor entry.
      • getRecentWorkerThreadPercentBusy

        public java.lang.Long getRecentWorkerThreadPercentBusy()
        Retrieves the percentage of the time over a recent interval that worker threads have spent busy processing operations.
        Returns:
        The percentage of the time over a recent interval that worker threads have spent busy processing operations, or null if that information was not included in the monitor entry.
      • getMaxWorkerThreadPercentBusy

        public java.lang.Long getMaxWorkerThreadPercentBusy()
        Retrieves the maximum percentage of the time over any interval that worker threads have spent busy processing operations.
        Returns:
        The maximum percentage of the time over any interval that worker threads have spent busy processing operations, or null if that information was not included in the monitor entry.
      • getAverageOperationQueueTimeMillis

        public java.lang.Long getAverageOperationQueueTimeMillis()
        Retrieves the average length of time in milliseconds that operations have been required to wait on the work queue before being picked up by a worker thread.
        Returns:
        The average length of time in milliseconds that operations have been required to wait on the work queue, or null if that information was not included in the monitor entry.
      • getRecentOperationQueueTimeMillis

        public java.lang.Long getRecentOperationQueueTimeMillis()
        Retrieves the average length of time in milliseconds that recently-processed operations have been required to wait on the work queue before being picked up by a worker thread.
        Returns:
        The average length of time in milliseconds that recently-processed operations have been required to wait on the work queue, or null if that information was not included in the monitor entry.
      • getCurrentAdministrativeSessionQueueSize

        public java.lang.Long getCurrentAdministrativeSessionQueueSize()
        Retrieves the number of operations that are currently waiting to be processed in the portion of the work queue reserved for operations that are part of an administrative session.
        Returns:
        The number of operations that are currently waiting to be processed in the portion of the work queue reserved for operations that are part of an administrative session, or null if that information was not included in the monitor entry.
      • getMaxAdministrativeSessionQueueSize

        public java.lang.Long getMaxAdministrativeSessionQueueSize()
        Retrieves the maximum number of operations observed in the dedicated administrative session queue at any given time.
        Returns:
        The total number of operations observed in the dedicated administrative session queue at any given time, or null if that information was not included in the monitor entry.
      • getNumAdministrativeSessionWorkerThreads

        public java.lang.Long getNumAdministrativeSessionWorkerThreads()
        Retrieves the number of worker threads that have been reserved for processing operations that are part of an administrative session.
        Returns:
        The number of worker threads that have been reserved for processing operations that are part of an administrative session, or null if that information was not included in the monitor entry.
      • getNumBusyAdministrativeSessionWorkerThreads

        public java.lang.Long getNumBusyAdministrativeSessionWorkerThreads()
        Retrieves the number of worker threads that are currently busy processing an operation which is part of an administrative session.
        Returns:
        The number of worker threads that are currently busy processing an operation which is part of an administrative session, or null if that information 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.