Class UnboundIDWorkQueueMonitorEntry
- java.lang.Object
-
- com.unboundid.ldap.sdk.unboundidds.monitors.MonitorEntry
-
- com.unboundid.ldap.sdk.unboundidds.monitors.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.
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., thegetCurrentSize()
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 theMonitorManager
class documentation for an example that demonstrates the use of the generic API for accessing monitor data.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description UnboundIDWorkQueueMonitorEntry(Entry entry)
Creates a new UnboundID work queue monitor entry from the provided entry.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.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.-
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
-
-
-
-
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 benull
.
-
-
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.
-
getMonitorDisplayName
public java.lang.String getMonitorDisplayName()
Retrieves a human-readable display name for this monitor entry.- Overrides:
getMonitorDisplayName
in classMonitorEntry
- 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 classMonitorEntry
- 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 classMonitorEntry
- Returns:
- The set of parsed monitor attributes for this monitor entry.
-
-