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

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

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class UnboundIDWorkQueueMonitorEntry
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 state of the UnboundID work queue. This has replaced the traditional work queue as the default work queue implementation used by the UnboundID Directory Server, and the monitor information that it may make available includes: 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 Summary
UnboundIDWorkQueueMonitorEntry(Entry entry)
          Creates a new UnboundID work queue monitor entry from the provided entry.
 
Method Summary
 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.
 java.lang.Long getAverageSize()
          Retrieves the average number of operations observed in the work queue.
 java.lang.Long getAverageWorkerThreadPercentBusy()
          Retrieves the average percentage of the time since startup that worker threads have spent busy processing operations.
 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.
 java.lang.Long getCurrentSize()
          Retrieves the number of operations that are currently in the work queue waiting to be processed.
 java.lang.Long getCurrentWorkerThreadPercentBusy()
          Retrieves the percentage of worker threads that are currently busy processing an operation.
 java.lang.Long getMaxAdministrativeSessionQueueSize()
          Retrieves the maximum number of operations observed in the dedicated administrative session queue at any given time.
 java.lang.Long getMaxSize()
          Retrieves the maximum number of operations observed in the work queue at any given time.
 java.lang.Long getMaxWorkerThreadPercentBusy()
          Retrieves the maximum percentage of the time over any interval that worker threads have spent busy processing operations.
 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 getNumAdministrativeSessionWorkerThreads()
          Retrieves the number of worker threads that have been reserved for processing operations that are part of an administrative session.
 java.lang.Long getNumBusyAdministrativeSessionWorkerThreads()
          Retrieves the number of worker threads that are currently busy processing an operation which is part of an administrative session.
 java.lang.Long getNumBusyWorkerThreads()
          Retrieves the number of worker threads that are currently busy processing an operation.
 java.lang.Long getNumWorkerThreads()
          Retrieves the number of worker threads configured for the work queue.
 java.lang.Long getRecentAverageSize()
          Retrieves the average number of operations observed in the work queue over a recent interval.
 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.
 java.lang.Long getRecentWorkerThreadPercentBusy()
          Retrieves the percentage of the time over a recent interval that worker threads have spent busy processing operations.
 java.lang.Long getRequestsRejectedDueToQueueFull()
          Retrieves the total number of operation requests that were rejected because the work queue was at its maximum capacity.
 
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

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.

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.

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.