IBM Tivoli Composite Application Manager for Application Diagnostics, Version 7.1.0.1

Disable various types of Byte Code Instrumentation for J2EE APIs

In Byte Code Instrumentation (BCI), the data collector intercepts method entry and exit calls for various types of Java APIs in order to create an execution flow of each application request. Some resources are used for the monitoring. You can tune the data collector so that some of the APIs are not monitored, reducing resource use. For some APIs, you can also disable collection of BCI information for MOD L1, reducing resource use for this level (typically enabled most of the time on production systems).

To disable BCI monitoring for J2EE APIs, set (or uncomment) the following properties in the toolkit custom properties file (see The Toolkit properties file). These properties are set to true by default. After changing the file, restart the application server instance.


Adding lines to toolkit_custom.properties

Type of J2EE API Line to add to toolkit_custom.properties file
Enterprise JavaBeans (EJB)
com.ibm.tivoli.itcam.toolkit.ai.enableejb=false
Java Connector Architecture (JCA)
com.ibm.tivoli.itcam.toolkit.ai.enablejca=false
Java Database Connectivity (JDBC)
com.ibm.tivoli.itcam.toolkit.ai.enablejdbc=false
Java Naming and Directory Interface (JNDI)
com.ibm.tivoli.itcam.toolkit.ai.enablejndi=false
Java Message Service (JMS)
com.ibm.tivoli.itcam.toolkit.ai.enablejms=false
Web containers for Servlets/JavaServer Pages (JSP)
com.ibm.tivoli.itcam.dc.was.webcontainer=false
HTTP session count tracking
com.ibm.tivoli.itcam.toolkit.ai.enablesessioncount=false
CICS Transaction Gateway (CTG)
com.ibm.tivoli.itcam.dc.ctg.enablectg=false
IMS™
com.ibm.tivoli.itcam.dc.mqi.enableims=false
Java Data Objects (JDO)
com.ibm.tivoli.itcam.dc.mqi.enablejdo=false
Message Queue Interface (MQI)
com.ibm.tivoli.itcam.dc.mqi.enablemqi=false
Axis web service
com.ibm.tivoli.itcam.toolkit.ai.axis.enablewebservice=false
Remote Method Invocation (RMI)
am.ejb.rmilistener.enable=false
WAS EJB container
com.ibm.tivoli.itcam.dc.was.enableEJBContainer=false
WebSphere Portal Server 5.1
com.ibm.tivoli.itcam.dc.was.wps51.enable.CaptureWPSServlet=false
com.ibm.tivoli.itcam.dc.was.wps51.enable.CaptureAuthorization=false
com.ibm.tivoli.itcam.dc.was.wps51.enable.WPSDistributedMapCache=false
com.ibm.tivoli.itcam.dc.was.wps51.enable.CaptureGatewayServlet=false
com.ibm.tivoli.itcam.dc.was.wps51.enable.CaptureLogin=false
com.ibm.tivoli.itcam.dc.was.wps51.enable.CaptureModelBuilding=false
com.ibm.tivoli.itcam.dc.was.wps51.enable.CapturePageLoading=false
com.ibm.tivoli.itcam.dc.was.wps51.enable.CapturePageRendering=false
com.ibm.tivoli.itcam.dc.was.wps51.enable.CapturePortal=false
com.ibm.tivoli.itcam.dc.was.wps51.enable.CapturePortalActionLegacy=false
com.ibm.tivoli.itcam.dc.was.wps51.enable.CapturePortalActionStd=false
WebSphere Portal Server 6
com.ibm.tivoli.itcam.dc.was.wps6.enable.CaptureWPSServlet=false
com.ibm.tivoli.itcam.dc.was.wps6.enable.CaptureAuthorization=false
com.ibm.tivoli.itcam.dc.was.wps6.enable.WPSDistributedMapCache=false
com.ibm.tivoli.itcam.dc.was.wps6.enable.CaptureGatewayServlet=false
com.ibm.tivoli.itcam.dc.was.wps6.enable.CaptureLogin=false
com.ibm.tivoli.itcam.dc.was.wps6.enable.CaptureModelBuilding=false
com.ibm.tivoli.itcam.dc.was.wps6.enable.CapturePageLoading=false
com.ibm.tivoli.itcam.dc.was.wps6.enable.CapturePageRendering=false
com.ibm.tivoli.itcam.dc.was.wps6.enable.CapturePortal=false
com.ibm.tivoli.itcam.dc.was.wps6.enable.CapturePortalActionLegacy=false
com.ibm.tivoli.itcam.dc.was.wps6.enable.CapturePortalActionStd=false
com.ibm.tivoli.itcam.dc.was.wps6.enable.CaptureStandardPortal=false

For most API types, BCI information is only collected for MOD levels L2 and L3. If the MOD Level is set to L1, BCI data is not sent to IBM Tivoli Monitoring or the Managing Server, although the method entry and exit is still intercepted. (The MOD Level set for IBM Tivoli Monitoring does not affect the data sent to the Managing Server, and vice versa).

For the following API types, BCI information (if it is not disabled completely, as shown above) is also collected at MOD L1. For performance reasons, you can also disable it only for L1 monitoring, while keeping it enabled for L2 and L3. To do this, add (or uncomment) the following lines in the toolkit custom properties file (see The Toolkit properties file):


Modifying lines in toolkit_custom.properties

Type of J2EE API Line to add to toolkit_custom.properties file
JCA
com.ibm.tivoli.itcam.toolkit.ai.jca.callback.unconditional=false
JDBC
com.ibm.tivoli.itcam.toolkit.ai.jdbc.callback.unconditional=false
JNDI
com.ibm.tivoli.itcam.toolkit.ai.jndi.callback.unconditional=false
JMS
com.ibm.tivoli.itcam.toolkit.ai.jms.callback.unconditional=false

Setting any of these properties to false may result in some missing data when MOD Level is switched from L1 to L2. For example, the data collector may not be able to determine the Data Source names for JDBC requests.


Parent topic:

Tune data collector performance and monitoring scope