Backend metric leak when monitoring IBM RTC JAZZ Server produces multiple Backend entries in Introscope jdbc%rds%

Document ID : KB000019021
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

It has been noted that when monitoring the Tomcat server that runs the RTC Jazz application, there is a possibility of a metric leak in Backends.

You will see a lot of entries similar to this one:

jdbc%rds%///rtc_01/tc-rtc/prd1/server/tomcat/temp/com.ibm.team.build.xdc13

The value at the end of the string will change randomly, leading to a metric leak.

Figure 1

Solution:

To determine the class and method causing the problem, examine a transaction trace for one of the metrics in Trace View.

The Properties section will contain the class and method. In this example:

  • Class: com.ibm.rational.drivers.jdbc.xml.RDSStatement
  • Method: executeQuery

Figure 2

In the AutoProbe log, we see that it is being detected as a JDBC driver:

Processing class com/ibm/rational/drivers/jdbc/xml/RDSStatement

execute:0 inserted method tracer object allocation: com/wily/introscope/agent/trace/hc2/BackendTracer

execute:0 inserted method tracer object allocation: com/wily/introscope/appmap/agent/trace/hc2/AppMapMarkerTracer

execute:0 inserted method tracer object allocation: com/wily/introscope/agent/trace/hc2/MethodThrewErrorReportingTracer

execute:0 inserted method tracer object allocation: com/wily/introscope/agent/sqlagent/hc2/SQLStatementBlamePointTracer

It is however not a supported driver so we have to suggest to skip that class.

  • SkipClass: com.ibm.rational.drivers.jdbc.xml.RDSStatement

You can add the skip to a custom pbd, or inside sqlagent.pbd, as long as you remember to make the same change to sqlagent.pbd if you upgrade.

In this scenario, there is still a lot of information in the transaction trace provided by the supported Oracle JDBC driver, so this is a beneficial change for performance reasons.

If you have a similar problem with metric leak, you can use the same procedure to determine the method and class that is creating the problem.