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
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
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: