Monitoring eXtreme Scale applications with CA Wily Introscope

CA Wily Introscope is a third-party management product that you can use to detect and diagnose performance problems in enterprise application environments. eXtreme Scale includes details on configuring CA Wily Introscope to introspect select portions of the eXtreme Scale run time to quickly view and validate eXtreme Scale applications. CA Wily Introscope works effectively for both stand-alone and WebSphere® Application Server deployments.

To monitor eXtreme Scale applications with CA Wily Introscope, you must put settings into the ProbeBuilderDirective (PBD) files that give you access to the monitoring information for eXtreme Scale.

Overview

Attention: The instrumentation points for Introscope might change with each fix pack or release. When you install a new fix pack or release, check the documentation for any changes in the instrumentation points.
You can configure CA Wily Introscope ProbeBuilderDirective (PBD) files to monitor your eXtreme Scale applications. CA Wily Introscope is an application management product with which you can proactively detect, triage, and diagnose performance problems in your complex, composite, and web application environments. You can use one or more of the following settings in your PBD file to monitor the catalog service.
Catalog
HAControllerImpl
The HAControllerImpl class handles core group lifecycle and feedback events. You can monitor this class to get an indication of the core group structure and changes.
CatalogServiceImpl
The CatalogServiceImpl class handles the catalog routing events. You can monitor this class to get an indication of route changes and updates.
PlacementServiceImpl
The PlacementServiceImpl class coordinates the containers. You can use the methods on this class to monitor server join and placement events.
BalanceGridEventListener
The BalanceGridEventListener class controls the catalog leadership. You can monitor this class to get an indication of which catalog service is acting as the leader.
Container
ServerAgent
The ServerAgent class is responsible for communicating core group events with the catalog service. You can monitor various heartbeat calls to spot major events.
ShardImpl
The ShardImpl class has the processMessage method. The processMessage method is the method for client requests. With this method, you can get server-side response time and request counts. By watching the counts across all the servers and monitoring heap utilization, you can determine if the grid is balanced.
ObjectGridImpl
The ObjectGridImpl class has the queryRevision and applyRevision methods. The queryRevision method is used by primaries to build an updated revision package to send to its replicas. The applyRevision method is used by the replicas to apply the updated revisions to their ObjectGrid.
BaseMap
The BaseMap class has the evictMapEntries method that is called when the evictor wants to remove entries from the map.
Container
ServerAgent
The ServerAgent class is responsible for communicating core group events with the catalog service. You can monitor various heartbeat calls to spot major events.
ShardImpl
The ShardImpl class has the processMessage method. The processMessage method is the method for client requests. With this method, you can get server-side response time and request counts. By watching the counts across all the servers and monitoring heap utilization, you can determine if the grid is balanced.
ObjectGridImpl
The ObjectGridImpl class has the queryRevision and applyRevision methods. The queryRevision method is used by primaries to build an updated revision package to send to its replicas. The applyRevision method is used by the replicas to apply the updated revisions to their ObjectGrid.
BaseMap
The BaseMap class has the evictMapEntries method that is called when the evictor wants to remove entries from the map.
Client
ORBClientCoreMessageHandler
The ORBClientCoreMessageHandler class is responsible for sending application requests to the containers. You can monitor the sendMessage method for client response time and number of requests.
ClusterStore
The ClusterStore class holds the routing information on the client side.
BaseMap
The BaseMap class has the evictMapEntries method that is called when the evictor wants to remove entries from the map.
SelectionServiceImpl
The SelectionServiceImpl class makes the routing decisions. If the client is making failover decisions, you can use this class to see the actions that are completed from the decisions.
SessionImpl
The SessionImpl class has the getMap method. The getMap method is called by most of client applications and can be monitored for response time and number of requests.
ObjectGridImpl
The ObjectGridImpl class has the getSession method that you can monitor to see the number of requests to this method.
Catalog server classes
TraceOneMethodOfClass: com.ibm.ws.objectgrid.hamanager.HAControllerImpl changeDefinedCompleted BlamePointTracerDifferentMethods "WXS Catalog|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.hamanager.HAControllerImpl viewChangeCompleted BlamePointTracerDifferentMethods "WXS Catalog|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.hamanager.HAControllerImpl viewAboutToChange BlamePointTracerDifferentMethods "WXS Catalog|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.catalog.placement.CatalogServiceImpl heartbeat BlamePointTracerDifferentMethods "WXS Catalog|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.catalog.placement.CatalogServiceImpl classifyServer BlamePointTracerDifferentMethods "WXS Catalog|{classname}
{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.catalog.placement.CatalogServiceImpl importRouteInfo BlamePointTracerDifferentMethods "WXS Catalog|{classname}|
{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.catalog.placement.CatalogServiceImpl getObjectGridRouteInfo BlamePointTracerDifferentMethods "WXS Catalog|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.catalog.placement.CatalogServiceImpl registerContainer BlamePointTracerDifferentMethods "WXS Catalog|{classname}|
{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.catalog.placement.PlacementServiceImpl joinPlacementGroup BlamePointTracerDifferentMethods "WXS Catalog|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.catalog.placement.PlacementServiceImpl place BlamePointTracerDifferentMethods "WXS Catalog|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.catalog.placement.BalanceGridEventListener shardActivated BlamePointTracerDifferentMethods "WXS Catalog|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.catalog.placement.BalanceGridEventListener shardDeactivate BlamePointTracerDifferentMethods "WXS Catalog|{classname}|{method}" 
Container server classes
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.container.ServerAgent membershipChanged BlamePointTracerDifferentMethods "WXS Container|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.container.ServerAgent memberActivated BlamePointTracerDifferentMethods "WXS Container|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.container.ServerAgent memberDeActivated BlamePointTracerDifferentMethods "WXS Container|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.container.ServerAgent batchProcess BlamePointTracerDifferentMethods "WXS Container|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.container.ServerAgent changeDefinedCompleted BlamePointTracerDifferentMethods "WXS Container|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.server.impl.ShardImpl processMessage BlamePointTracerDifferentMethods "WXS Container|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.ObjectGridImpl queryRevision BlamePointTracerDifferentMethods "WXS Container|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.ObjectGridImpl applyRevision BlamePointTracerDifferentMethods "WXS Container|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.map.BaseMap evictMapEntries BlamePointTracerDifferentMethods "WXS Container|{classname}|{method}" 
Client classes (ORB)
TraceOneMethodOfClass: com.ibm.ws.objectgrid.client.ORBClientCoreMessageHandler sendMessage BlamePointTracerDifferentMethods "WXS Client|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.corba.cluster.ClusterStore bootstrap BlamePointTracerDifferentMethods "WXS Client|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.map.BaseMap evictMapEntries BlamePointTracerDifferentMethods "WXS Client|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.cluster.orb.routing.SelectionServiceImpl routeFailed BlamePointTracerDifferentMethods "WXS Client|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.SessionImpl getMap BlamePointTracerDifferentMethods "WXS Client|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.ObjectGridImpl getSession BlamePointTracerDifferentMethods "WXS Client|{classname}|{method}" 
Client classes (XIO)
TraceOneMethodOfClass: com.ibm.ws.objectgrid.client.XIOClientCoreMessageHandler sendMessage BlamePointTracerDifferentMethods "WXS Client|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.corba.cluster.ClusterStore bootstrap BlamePointTracerDifferentMethods "WXS Client|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.map.BaseMap evictMapEntries BlamePointTracerDifferentMethods "WXS Client|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.cluster.orb.routing.SelectionServiceImpl routeFailed BlamePointTracerDifferentMethods "WXS Client|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.SessionImpl getMap BlamePointTracerDifferentMethods "WXS Client|{classname}|{method}" 
TraceOneMethodOfClass: com.ibm.ws.objectgrid.ObjectGridImpl getSession BlamePointTracerDifferentMethods "WXS Client|{classname}|{method}"