wt.servlet
Interface ServletRequestMonitorMBean

All Superinterfaces:
DeluxeStatsMonitorMBean, RawStatisticsProviderMBean, SelfEmailingMBean

public interface ServletRequestMonitorMBean
extends DeluxeStatsMonitorMBean, RawStatisticsProviderMBean

Monitors servlet engine requests

Supported API: true

Extendable: true


Field Summary
static String MAX_ACTIVE_REQUESTS_NOTIF_TYPE
          Type of notification produced when MaxAverageActiveRequestsThreshold is exceeded

Supported API: true
 
Method Summary
 long captureActiveRequest(String requestId)
          Creates a set of MBeans containing only the request with the specified id, if it is active, and returns the set's id if no such request is active, -1 is returned

Supported API: true
 long captureActiveRequests()
          Creates a set of MBeans representing all requests currently being processed and returns its id

Supported API: true
 AttributeList[] getActiveRequestAttributes(String[] attributeNames)
          Returns array of AttributeLists, one for each active request.
 int getActiveRequests()
          Number of requests currently being processed

Supported API: true
 int getMaxAverageActiveRequestsThreshold()
          Maximum average request concurrency before log messages become warnings and notifications are sent when this statistic is maintained for a summary interval

Supported API: true
 String getRequestLoggerFormatString()
          Low-level (java.util.Formatter) request log format string; if specified, overrides RequestLoggerUseShortFormat and RequestLoggerSeparatorString

Supported API: true
 String getRequestLoggerLevel()
          Request logging level (not persisted with MBean); valid values are ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF (or blank/unspecified)

Supported API: true
 String getRequestLoggerName()
          Name of request logger

Supported API: true
 String getRequestLoggerOutputAttributes()
          List of RequestMBean attributes to be output to request log

Supported API: true
 String[] getRequestLoggerOutputAttributesSupported()
          List of attributes supported for use in RequestLoggerOutputAttributes

Supported API: true
 String getRequestLoggerSeparatorString()
          Item separator string used in request log format

Supported API: true
 double getRequestTimeWarnThreshold()
          Maximum request duration before related log messages become warnings

Supported API: true
 void interrupt(String requestId)
          If specified request exists and is not completed, interrupts its thread.
 boolean isProcessCpuTimeMonitoringEnabled()
          Whether monitoring of overall process CPU time is enabled for this MBean; if not, then RequestMBean's ElapsedProcessCpuSeconds, ProcessPercentageOfTotalCpuTime, and PercentageOfProcessCpuTime attributes will not have meaningful values, but this monitoring has somewhat substantive overhead

Supported API: true
 boolean isRequestLoggerUseShortFormat()
          Whether short format (which contains only attribute values, not names) is used for request logging

Supported API: true
 boolean isRequestRegistrationEnabled()
          Whether requests are automatically registered and deregistered as JMX MBeans as they are received and completed; enabling this can adversely affect performance

Supported API: true
 void releaseCapturedRequests()
          Releases all RequestSets and the request MBeans they contain

Supported API: true
 void releaseCapturedRequestSet(long captureSetId)
          Releases a set of MBeans previously captured with captureActiveRequests()

Supported API: true
 void setMaxAverageActiveRequestsThreshold(int maxAverageActiveRequestThreshold)
          Maximum average request concurrency before log messages become warnings and notifications are sent when this statistic is maintained for a summary interval

Supported API: true
 void setProcessCpuTimeMonitoringEnabled(boolean processCpuTimeMonitoringEnabled)
          Whether monitoring of overall process CPU time is enabled for this MBean; if not, then RequestMBean's ElapsedProcessCpuSeconds, ProcessPercentageOfTotalCpuTime, and PercentageOfProcessCpuTime attributes will not have meaningful values, but this monitoring has somewhat substantive overhead

Supported API: true
 void setRequestLoggerFormatString(String requestLoggerFormatString)
          Low-level (java.util.Formatter) request log format string; if specified, overrides RequestLoggerUseShortFormat and RequestLoggerSeparatorString

Supported API: true
 void setRequestLoggerLevel(String level)
          Request logging level (not persisted with MBean); valid values are ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF (or blank/unspecified)

Supported API: true
 void setRequestLoggerOutputAttributes(String requestLoggerOutputAttributes)
          List of RequestMBean attributes to be output to request log

Supported API: true
 void setRequestLoggerSeparatorString(String requestLoggerSeparatorString)
          Item separator string used in request log format

Supported API: true
 void setRequestLoggerUseShortFormat(boolean requestLoggerUseShortFormat)
          Whether short format (which contains only attribute values, not names) is used for request logging

Supported API: true
 void setRequestRegistrationEnabled(boolean requestRegistrationEnabled)
          Whether requests are automatically registered and deregistered as JMX MBeans as they are received and completed; enabling this can adversely affect performance

Supported API: true
 void setRequestTimeWarnThreshold(double requestTimeWarnThreshold)
          Maximum request duration before related log messages become warnings

Supported API: true
 
Methods inherited from interface wt.jmx.core.mbeans.DeluxeStatsMonitorMBean
getBaselineStatistics, getBaselineStatisticsLoggerLevel, getBaselineStatisticsLoggerName, getRecentIntervalSeconds, getRecentStatistics, getRecentStatisticsLoggerLevel, getRecentStatisticsLoggerName, getStatisticsLoggerFormatString, getStatisticsLoggerOutputAttributes, getStatisticsLoggerOutputAttributesSupported, getStatisticsLoggerSeparatorString, getSummaryIntervalSeconds, getSummaryStatisticsLoggerLevel, getSummaryStatisticsLoggerName, isStatisticsLoggerUseShortFormat, resetBaselineStatistics, setBaselineStatisticsLoggerLevel, setRecentIntervalSeconds, setRecentStatisticsLoggerLevel, setStatisticsLoggerFormatString, setStatisticsLoggerOutputAttributes, setStatisticsLoggerSeparatorString, setStatisticsLoggerUseShortFormat, setSummaryIntervalSeconds, setSummaryStatisticsLoggerLevel
 
Methods inherited from interface wt.jmx.core.mbeans.SelfEmailingMBean
emailThisMBean
 
Methods inherited from interface wt.jmx.core.mbeans.RawStatisticsProviderMBean
getRawStatistics
 

Field Detail

MAX_ACTIVE_REQUESTS_NOTIF_TYPE

static final String MAX_ACTIVE_REQUESTS_NOTIF_TYPE
Type of notification produced when MaxAverageActiveRequestsThreshold is exceeded

Supported API: true

Method Detail

getActiveRequests

int getActiveRequests()
Number of requests currently being processed

Supported API: true


getMaxAverageActiveRequestsThreshold

int getMaxAverageActiveRequestsThreshold()
Maximum average request concurrency before log messages become warnings and notifications are sent when this statistic is maintained for a summary interval

Supported API: true


setMaxAverageActiveRequestsThreshold

void setMaxAverageActiveRequestsThreshold(int maxAverageActiveRequestThreshold)
Maximum average request concurrency before log messages become warnings and notifications are sent when this statistic is maintained for a summary interval

Supported API: true


getRequestTimeWarnThreshold

double getRequestTimeWarnThreshold()
Maximum request duration before related log messages become warnings

Supported API: true


setRequestTimeWarnThreshold

void setRequestTimeWarnThreshold(double requestTimeWarnThreshold)
Maximum request duration before related log messages become warnings

Supported API: true


getRequestLoggerName

String getRequestLoggerName()
Name of request logger

Supported API: true


getRequestLoggerLevel

String getRequestLoggerLevel()
Request logging level (not persisted with MBean); valid values are ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF (or blank/unspecified)

Supported API: true


setRequestLoggerLevel

void setRequestLoggerLevel(String level)
Request logging level (not persisted with MBean); valid values are ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF (or blank/unspecified)

Supported API: true


getRequestLoggerOutputAttributes

String getRequestLoggerOutputAttributes()
List of RequestMBean attributes to be output to request log

Supported API: true


setRequestLoggerOutputAttributes

void setRequestLoggerOutputAttributes(String requestLoggerOutputAttributes)
List of RequestMBean attributes to be output to request log

Supported API: true


getRequestLoggerOutputAttributesSupported

String[] getRequestLoggerOutputAttributesSupported()
List of attributes supported for use in RequestLoggerOutputAttributes

Supported API: true


isRequestLoggerUseShortFormat

boolean isRequestLoggerUseShortFormat()
Whether short format (which contains only attribute values, not names) is used for request logging

Supported API: true


setRequestLoggerUseShortFormat

void setRequestLoggerUseShortFormat(boolean requestLoggerUseShortFormat)
Whether short format (which contains only attribute values, not names) is used for request logging

Supported API: true


getRequestLoggerSeparatorString

String getRequestLoggerSeparatorString()
Item separator string used in request log format

Supported API: true


setRequestLoggerSeparatorString

void setRequestLoggerSeparatorString(String requestLoggerSeparatorString)
Item separator string used in request log format

Supported API: true


getRequestLoggerFormatString

String getRequestLoggerFormatString()
Low-level (java.util.Formatter) request log format string; if specified, overrides RequestLoggerUseShortFormat and RequestLoggerSeparatorString

Supported API: true


setRequestLoggerFormatString

void setRequestLoggerFormatString(String requestLoggerFormatString)
Low-level (java.util.Formatter) request log format string; if specified, overrides RequestLoggerUseShortFormat and RequestLoggerSeparatorString

Supported API: true


isRequestRegistrationEnabled

boolean isRequestRegistrationEnabled()
Whether requests are automatically registered and deregistered as JMX MBeans as they are received and completed; enabling this can adversely affect performance

Supported API: true


setRequestRegistrationEnabled

void setRequestRegistrationEnabled(boolean requestRegistrationEnabled)
Whether requests are automatically registered and deregistered as JMX MBeans as they are received and completed; enabling this can adversely affect performance

Supported API: true


isProcessCpuTimeMonitoringEnabled

boolean isProcessCpuTimeMonitoringEnabled()
Whether monitoring of overall process CPU time is enabled for this MBean; if not, then RequestMBean's ElapsedProcessCpuSeconds, ProcessPercentageOfTotalCpuTime, and PercentageOfProcessCpuTime attributes will not have meaningful values, but this monitoring has somewhat substantive overhead

Supported API: true


setProcessCpuTimeMonitoringEnabled

void setProcessCpuTimeMonitoringEnabled(boolean processCpuTimeMonitoringEnabled)
Whether monitoring of overall process CPU time is enabled for this MBean; if not, then RequestMBean's ElapsedProcessCpuSeconds, ProcessPercentageOfTotalCpuTime, and PercentageOfProcessCpuTime attributes will not have meaningful values, but this monitoring has somewhat substantive overhead

Supported API: true


interrupt

void interrupt(String requestId)
If specified request exists and is not completed, interrupts its thread. WARNING: This is a somewhat drastic operation which may have side-effects.

Supported API: true

Parameters:
requestId - Id of request to interrupt

captureActiveRequest

long captureActiveRequest(String requestId)
Creates a set of MBeans containing only the request with the specified id, if it is active, and returns the set's id if no such request is active, -1 is returned

Supported API: true

Parameters:
requestId - Id of request to capture

captureActiveRequests

long captureActiveRequests()
Creates a set of MBeans representing all requests currently being processed and returns its id

Supported API: true


releaseCapturedRequests

void releaseCapturedRequests()
Releases all RequestSets and the request MBeans they contain

Supported API: true


releaseCapturedRequestSet

void releaseCapturedRequestSet(long captureSetId)
Releases a set of MBeans previously captured with captureActiveRequests()

Supported API: true

Parameters:
captureSetId - Id of set of requests to release (as returned by captureActiveRequests())

getActiveRequestAttributes

AttributeList[] getActiveRequestAttributes(String[] attributeNames)
Returns array of AttributeLists, one for each active request.

Supported API: true

Parameters:
attributeNames - Names of JMX (not servlet API) attributes (of wt.servlet.RequestMBean) to retrieve; null implies all attributes