WildFly JBossWeb Tomcat Connector Internal ThreadPool Statistics
Internal
Relevance
- EAP 6.4.10
Overview
Tomcat connector internal thread pool JMX statistics are not exposed by default. In order to expose them, the JBoss instance must start with "org.apache.tomcat.util.ENABLE_MODELER" system property set to "true". This can be done in the .conf file corresponding to the mode JBoss is run in (standalone.conf or in domain.conf):
JAVA_OPTS="${JAVA_OPTS} -Dorg.apache.tomcat.util.ENABLE_MODELER=true"
Alternatively, it can be specified in the <system-properties> section of the configuration file:
<system-properties> ... <property name="org.apache.tomcat.util.ENABLE_MODELER" value="true"/> ... </system-properties>
The system property will determine the Tomcat Http11Protocol or class AjpProtocol to expose the corresponding JIoEndpoit in JMX as
jboss.web:name=<protocol>-<bind-address>-<port>,type=ThreadPool
Example:
jboss.web:name=ajp-127.0.0.1-8009,type=ThreadPool
JMX Metrics
maxThreads
The thread count upper limit. No more than 'maxThreads' Tomcat connector threads can be created, meaning that no more than 'maxThreads' requests can be handled in parallel.
currentThreadCount
The number of connector threads in existence at a certain moment in time. Includes threads actively doing work (see 'currentThreadsBusy' below) and idle threads. It is the value of the 'curThreads' internal variable.
currentThreadsBusy
The number of AJP threads doing work at a certain moment in time. It is calculated based on formula:
curThreads - workers.size()