Thursday, April 24, 2014

BPEL and BPM's performance monitoring using DMS

What is DMS ?

The Dynamic Monitoring Service (DMS) API allows you to add performance instrumentation to Weblogic Server and Fusion Middleware (BPM, BPEL, Rules, OSB, Human Tasks, B2B...). During runtime DMS collects performance information, called DMS metrics that developers, system administrators, and support analysts use to help analyse system performance or monitor system status.

These performance metrics captured by DMS
are available via the Spy Servlet and via MBeans.  

 

BPEL/BPM Threading Model's Review :


Dispatcher system Threads : allocated to process system dispatcher messages.
Dispatcher invoke Threads :
(synchronous invoke) allocated to process synchonous requests, For each payload received, the thread will instantiate a new instance invocations.
Dispatcher Engine Threads :
(asynchronous activities : receive in mid-process, on Alarm, onMessage, wait) accolated to process asynchronous messages (durable process). 

We can tune these values through OEM :



We can see below the number of threads allocated for each dispatcher :



 If you want to get all of these metrics through a monitoring tool, see below the ObjectName of the MBean :

Mbean : MetricMBean
ClassName : oracle.dms.jmx.MetricMBean
System Threads's ObjectName : 
oracle.dms:type=soainfra_bpmn_requests,name=/soainfra/engines/bpmn/requests/system
Invoke Threads's ObjectName : 
oracle.dms:type=soainfra_bpmn_requests,name=/soainfra/engines/bpmn/requests/invoke
Engine Threads's ObjectName : 
oracle.dms:type=soainfra_bpmn_requests,name=/soainfra/engines/bpmn/requests/engine 

The DMS Spy Servlet can be used to view the metrics captured by DMS : 

Accessing metrics via the DMS Spy Servlet :


Accessing metrics via JConsole :


./jconsole -J-Djava.class.path=/weblogic/1036/jrockit-jdk1.6.0_45-R28.2.7-4.1.0/lib/jconsole.jar:/.../lib/wlfullclient.jar -J-Djmx.remote.protocol.provider.pkgs=weblogic.management.remote 

Remote Process : service:jmx:iiop://127.0.0.1:7001/jndi/weblogic.management.mbeanservers.domainruntime

Under oracle.dms we can see all the metrics retrieve by the DMS framework.


 Under soainfra_bpel_requests and soainfra_bpmn_requests we can see all the runtime metrics related to the BPEL and BPM engine.



The DMS configuration is located on the file :
 $MIDDLEWARE_HOME/oracle_common/modules/oracle.dms_11.1.1/server_config/dms_config.xml

No comments:

Post a Comment


View Sylvain Grosjean's profile on  LinkedIn