JMX-Based Monitoring
Java Management Extensions (JMX) is a technology that lets you implement management interfaces for Java applications. A management interface, as defined by JMX, is composed of named objects called MBeans (Management Beans). MBeans are registered with a name (an ObjectName) in an MBeanServer. To manage a resource or many resource in your application, write an MBean that defines its management interface. Then register that MBean in your MBeanServer. The content of the MBeanServer can then be exposed through various protocols, implemented by protocol connectors, or protocol adaptors.
JMX is enabled in WSO2 Carbon by default. Therefore, the WSO2 Machine Learner facilitates JMX-based monitoring. Some of the monitoring and management capabilities available in the ML Management Console are also exposed via JMX.
You can change the JMX configuration by editing the jmx.xml
file in the <ML_HOME>/repository/conf/etc
 directory. You can configure JMX ports, RMIRegistryPort
and RMIServerPort
from the Ports
section of the  <ML_HOME>/repository/conf/carbon.xml
file.
MBeans exposed in WSO2 ML
A few MBeans are exposed in WSO2 ML, to monitor key statistics such as dataset summary generation times, model building times, prediction times, thread pool params etc as described below.
MBean name | Description | Attributes |
---|---|---|
org.wso2.carbon.ml.thread-pool-active-count | Active threads in the WSO2 ML thread pool | value |
org.wso2.carbon.ml.thread-pool-queue-size | Size of the queue used by the WSO2 ML thread pool | value |
org.wso2.carbon.ml.dataset-summary-generation-time | Descriptive statistics on the time spent on generating summary statistics of datasets uploaded to WSO2 ML (in milliseconds). | count, min, max, mean, standard deviation etc. |
org.wso2.carbon.ml.model-building-time.<ALGORITHM_NAME> | Descriptive statistics on the time spent on model generation based on a ML algorithm (in milliseconds). | count, min, max, mean, standard deviation etc. |
org.wso2.carbon.ml.prediction-time.<ALGORITHM_NAME> | Descriptive statistics on the time spent on prediction from a model generated by a ML algorithm. (milliseconds) | count, min, max, mean, standard deviation etc. |
You can view the above MBeans using JConsole or an equivalent tool which is capable of monitoring JMX MBeans as shown in the examples below.Â