After a Websphere upgrade, most agent instances no longer report Frontend or Servlet metrics.

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

 After upgrading Websphere from release 7 to 8.5.5, some of the instances on one Server stopped reporting Frontend or Servlet metrics.

 The following is the same on both systems:

  • Agent configuration on each system was not changed during the upgrade. 
  • The Websphere configuration on each system 
  • Each WAS instance serves the same application via a load balancer. It has also been verified that the application is working correctly on all WAS instances.
Environment:
All Supported APM Releases.
Cause:

Inspection of the Autoprobe logs showed that a difference in HTTPServletTracer class insertion. This is the tracer responsible for marking the Frontend and Servlet metrics in this application. HTTPServletTracer was inserted into the following classes in the working environments:

com/ibm/ws/webcontainer/servlet/DefaultErrorReporter
org/apache/axis/transport/http/AxisServletBase

In the non-working environments, the tracer was inserted in just the following class where the Frontends were not being reported:

org/apache/axis/transport/http/AxisServletBase

As each application executes correctly in the various environments, it is implied that the classes are not seen by the Agent. One reason for this could be that the classes had been cached. If this is the case, then clearing the cache resolves the problem

Websphere can use a class caching feature. If needed, clearing the cache by simply restarting the JVM will not remove cached classes. This can apply after an upgrade. Follow the procedure in this URL:

 

http://www-01.ibm.com/support/docview.wss?uid=swg21607887

Resolution:

The server must be stopped before clearing the caches and the process must be performed by the user which starts Websphere:

1. To clear the OSGi class cache:

For UNIX platforms, run the following script in each profile:

<WebSphere_HOME>/profiles/profile_name/bin/osgiCfgInit.sh

 

For Windows platforms, run the following script in each profile:

<WebSphere_HOME>\profiles\profile_name\bin\osgiCfgInit.bat

 

2. To clear the JVM's class cache (Windows, Linux and AIX only) :

For UNIX platforms, run the following script:

<WebSphere_HOME>/bin/clearClassCache.sh

 

For Windows platforms, run the following script:

<WebSphere_HOME>\bin\clearClassCache.bat

 

And also clear the following directory contents:

<WinUsers_home>\Local Settings\ApplicationData\javasharedresources\