r4 - 2013-08-06 - 22:18:44 - GeraldMitchellYou are here: TWiki >  Deployment Web > DeploymentMonitoring > CLMServerMonitoring > CLMServerMonitoringDataDictionary > CLMServerMonitoringPoolMonitor

CLM Server Monitoring - Pool Monitor

Authors: JorgeAlbertoDiaz
Build basis: Collaborative Lifecycle Management 4.0.4

The Pool monitor is responsible for gathering performance information of the different pools used by CLM applications. There are currently two types of object pools: "RDB mediator pool" and "JDBC connection pool". These pools are backed by a semaphore which is also monitored.

JMX Interface Name: com.ibm.team.server.monitoring.management.MonitorRollupMBean
JMX Object Name: team.server.<application public URI context>@<port>:type=Pool
JMX Object Name Example: team.server./jts@9443:type=Pool

A JMX object of this "type" will be created for each kind of pool:

  • Pool Monitor JMX Object Name: team.server.<application public URI context>@<port>:type=Pool
  • Pool Type JMX Object Name: team.server.<application public URI context>@<port>:type=Pool,name="(JDBC connection pool | RDB mediator pool)"

Statistical information is gathered pertaining to pool semaphore, in addition to the general statistics pertaining to the objects allocated therein.

In the case of the "JDBC connection pool", database connection objects are also captured as child MBeans, following the structure:

  • Pool object JMX Object Name: team.server.<application public URI context>@<port>:type=Pool,name="JDBC connection pool",connectionname="<DBconnectionString>",id="<poolObjectID>"

Visually, the Pool Monitor objects structure would look like the following:

   team.server./<URL>@<port>:type=Pool
          |
          |
          |---- team.server./<URL>@<port>:type=Pool,name="JDBC connection pool"
          |                     |
          |                     |
          |                     | --- team.server./<URL>@<port>:type=Pool,name="JDBC connection pool",connectionname="jdbc:<JDBCconnectionChain>",id="<objectID>"
          |                     | ...
          |
          |---- team.server./<URL>@<port>:type=Pool,name="RDB mediator pool"   

Monitor Attributes

Following are the attributes exposed by the Pool Monitor.

JMX Attribute JMX Type Is Writeable? Default Value Description
AverageResponseTime long No 0 Average response time for gettting resources from the pool
Count long No 0 Counter of all monitored operations
Duration long No 0 Total duration of pool related operations
Enabled boolean Yes false Whether this monitor is enabled. Default is disabled so no pool monitoring is performed
MaximumResponseTime long No 0 Maximum response time recorded gettting resources from the pool
MinimumResponseTime long No 0 Minimum response time recorded gettting resources from the pool
Threshold java.lang.Long Yes 10000 Defines the maximum allowed time for retrieving a resource from the pool. If this time is exceeded a problem will be generated
TimeSinceLastReset long No 0 Total time since the last statistics reset

Monitor Operations

JMX Operation Signature Return Type Description
dismissAllProblems() void When called, all the problems tracked by this monitor are dismissed
reset() void When called, resets the statistics of the monitor

Child MBeans

This section gathers information regarding MBeans that are contained within this monitor. The section is divided in the two different types of pools existing today: JDBC connection and RDB mediator

JDBC connection pool

A monitor for the JDBC Connection pool

JMX Interface Name: com.ibm.team.server.monitoring.jmx.beans.JDBCPoolMBean
JMX Object Name: team.server.<application public URI context>@<port>:type=Pool,name="JDBC connection pool"

Attributes

JMX Attribute JMX Type Is Writeable? Default Value Description
AllocatedCount int No 0 Number of pool entries currently allocated. Due to multi-threading, this number can change without notice
ConnectionMaxAgeInMilliseconds long No 3600000 Maximum time to keep a connection in the pool
CurrentPoolSize long No 0 Current size of the connection pool
DatabaseProperties TabularType (Open Type) No Database properties This attribute contains tabular information of the database configuration properties, in a key/value pairs entries form
IdleTime long No -1 Database connection idle time setting
Links TabularType (Open Type) No null Links to associated performance information. This attribute is not used currently for this JMX Object
MaxEntries int No 0 Maximum number of connections in the pool
MaxWaitMilliseconds int No 0 Maximum time to wait for an available connection
Name String No JDBC connection pool Pool name
SemaphoreStats TabularType (Open Type) No   This attribute contains tabular information of the semaphore that backs this pool. The information is gathered in a key/value pairs entries form. See description in the table contained in Semaphore Stats information section
URI String No   RDF subject URI representation of the JMX Object. It has the form of http://jazz.net/ns/smarterserver/team.server//@/Pool//

Note the attributes related with time statistics are expressed in miliseconds.

Each connection object in the pool it is itself monitored using a child MBean. The structure of these objects and information gathered is introduced next.

Child MBeans: JDBC connections

JDBC connection objects in the pool are monitored. One JMX object gets registered for each connection object in the pool.

JMX Interface Name: com.ibm.team.server.monitoring.jmx.beans.DBConnectionMBean
JMX Object Name: team.server.<application public URI context>@<port>:type=Pool,connectionname="<JDBCconnectionString>,id=<ID>
JMX Object Name Example: team.server./qm@9443:type=Pool,name="JDBC connection pool",connectionname="jdbc:derby:conf/qm/derby/repositoryDB",id=03cd63f5-a8c1-49e9-827d-f9d50568864e

Attributes

JMX Attribute JMX Type Is Writeable? Default Value Description
Name String No Connection name Database owner connection name
Identifier String No ID of the object
OwnerURI String No 0 The owning request of service invocation using this object. "" if unowned
URI String No http://jazz.net/ns/smarterserver/team.server//@/Pool// RDF subject URI representation of the JMX Object
Links TabularType (Open Type) No   Links to associated performance information. This attribute is not currently used in this release



RDB mediator pool

A monitor for the RDB mediator pool

JMX Interface Name: com.ibm.team.server.monitoring.jmx.beans.JDBCPoolMBean
JMX Object Name: team.server.<application public URI context>@<port>:type=Pool,name="JDBC connection pool"

Attributes

JMX Attribute JMX Type Is Writeable? Default Value Description
AllocatedCount int No 0 Number of pool entries currently allocated. Due to multi-threading, this number can change without notice
ConnectionMaxAgeInMilliseconds long No 3600000 Maximum time to keep a connection in the pool
CurrentPoolSize long No 0 Current size of the mediator pool
Links TabularType (Open Type) No   Links to associated performance information. This attribute is not currently used in this release
MaxEntries int No 0 Maximum number of entries in the pool
MaxWaitMilliseconds int No 0 Maximum time to wait for an available connection
Name String No RDB mediator pool Pool name
SemaphoreStats TabularType (Open Type) No   This attribute contains tabular information of semaphore that backs this pool. The information is gathered in a key/value pairs entries form. See description in the table contained in Semaphore Stats information section
URI String No http://jazz.net/ns/smarterserver/team.server//@/Pool// RDF subject URI representation of the JMX Object



Semaphore Stats information

The following table describes the Semaphore Stats information:

JMX Tabular Type Attribute Entry Name Description
Attempt Number of attempts at entering the semaphore
Expire Number of waits for the semaphore that have expired
Immediate Number of immediate entries into semaphore
Interrupt Number of wait interrupts
Wait Number of wait expiries
Oops Number of semaphore problems


External links:

Additional contributors: TWikiUser, TWikiUser

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r4 < r3 < r2 < r1 | More topic actions
Deployment.CLMServerMonitoringPoolMonitor moved from Deployment.SmarterServerPoolMonitor on 2013-08-06 - 22:18 by GeraldMitchell -
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use. Please read the following disclaimer.
Ideas, requests, problems regarding the Deployment wiki? Create a new task in the RTC Deployment wiki project