The cache monitor is responsible for gathering performance information of the repository caches.
JMX Interface Name: com.ibm.team.server.monitoring.jmx.beans.cache.CompositeCacheRollupMBean
JMX Object Name: team.server.<application public URI context>@<port>:type=Cache
JMX Object Name Example: team.server./jts@9443:type=Cache
A JMX object of this "type" will be created for each cache, which in turn will contain child MBeans for each cached object type. The object name format for the Cache Monitor objects hierarchy is as follows:
- Cache Monitor JMX Object Name: team.server.<application public URI context>@<port>:type=Cache
- Cache JMX Object Name: team.server.<application public URI context>@<port>:type=Cache,name="<cacheName>"
- Cached Type Instance JMX Object Name: team.server.<application public URI context>@<port>:type=Cache,name="<cacheName>",keytype="<cachedTypeName>"
The Cache Monitor performance information gathered in its attributes is a rolled up of the performance information from all the monitored caches child MBeans.
Visually, the Cache Monitor objects structure is like the following:
team.server./<URL>@<port>:type=Cache
|
|
|---- team.server./<URL>@<port>:type=Cache, name="<cacheName>"
| |
| |
| ---- team.server./<URL>@<port>:type=Cache, name="<cacheName>", keytype="<cachedTypeName>"
|
|----team.server./<URL>@<port>:type=Cache, name="<cacheName2>"
...
Monitor Attributes
Following are the attributes exposed by the Cache Monitor
JMX Attribute |
JMX Type |
Is Writeable? |
Default Value |
Description |
AutoUpdated |
long |
No |
0 |
Total number of times a cache entry has been updated for all the monitored caches |
AverageResponseTime |
long |
No |
0 |
Average cache response time. At monitor level, this value represents the average reponse time of all monitored caches |
CacheAdded |
long |
No |
0 |
Total number of cache entries added for all the monitored caches |
CacheHit |
long |
No |
0 |
Total number of cache entries hit for all monitored caches |
CacheInvalidated |
long |
No |
0 |
Total number of cache invalid entries found for all monitored caches. When an invalid entry is hit, it is removed from the cache |
CacheMethodStats |
TabularType (Open Type) |
No |
None |
Tabular information. This attribute just has meaning at individual caches, not at monitor or cache type level. It contains one element for each cache entry, with individual statistics: cache hits, miss, update, invalidated and added |
CacheMiss |
long |
No |
0 |
Total number of cache misses for all monitored caches |
Count |
long |
No |
0 |
Counter of monitored operations |
Duration |
long |
No |
0 |
Total duration of cache related operations from the monitored caches |
MaximumResponseTime |
long |
No |
0 |
Maximum response time from all the monitored caches |
MinimumResponseTime |
long |
No |
0 |
Minimum response time from all the monitored caches |
TimeSinceLastReset |
long |
No |
0 |
Total time since the last statistics reset |
Note the attributes related with time statistics are expressed in miliseconds.
In this release, the enablement and threshold set for this monitor is performed in the
Smarter Server Monitor JMX object.
Monitor Operations
Child MBeans
This section gathers information regarding MBeans that are contained within this monitor
Cache objects
A named instance of JMX Cache monitor, that gathers performance information of a specific repository cache. Each instance of this type of objects is a child of the
Cache Monitor.
JMX Interface Name: com.ibm.team.server.monitoring.jmx.beans.cache.CompositeCacheRollupMBean
JMX Object Name: team.server.<application public URI context>@<port>:type=Cache,name=<cacheName>
JMX Object Name Example: team.server./ccm@9443:type=Cache,name="Current State Cache"
Each Cache JMX object provides performance information rolled up from all the monitored cached object instances within this cache.
Attributes
JMX Attribute |
JMX Type |
Is Writeable? |
Default Value |
Description |
AutoUpdated |
long |
No |
0 |
Total number of times a cache entry has been updated |
AverageResponseTime |
long |
No |
0 |
Average response time for this cache |
CacheAdded |
long |
No |
0 |
Total number of cache entries added |
CacheHit |
long |
No |
0 |
Total number of cache entries hit |
CacheInvalidated |
long |
No |
0 |
Total number of cache invalid entries found. When an invalid entry is hit, it is removed from the cache |
CacheMethodStats |
TabularType (Open Type) |
No |
None |
Tabular information. This attribute just has meaning at individual cached object type (as specified by the "keytype" attribute); not at monitor or cache level. It contains one element for each cached type method, with statistics for each method |
CacheMiss |
long |
No |
0 |
Total number of cache misses |
Count |
long |
No |
0 |
Counter of monitored operations |
Duration |
long |
No |
0 |
Total duration of cache related operations |
MaximumResponseTime |
long |
No |
0 |
Maximum response time from all the cached objects |
MinimumResponseTime |
long |
No |
0 |
Minimum response time from all the cached objects |
TimeSinceLastReset |
long |
No |
0 |
Total time since the last statistics reset |
Note the attributes related with time statistics are expressed in milliseconds
Operations
Cached Type objects
These beans gather performance information of an individual cached type object. These objects are grouped within a
Cache object, to which they roll up performance information statistics.
JMX Interface Name: com.ibm.team.server.monitoring.jmx.beans.cache.CacheRollupMBean
JMX Object Name: team.server.<application public URI context>@<port>:type=Cache,name=<cacheName>,keytype=<cachedTypeName>
JMX Object Name Example: team.server./ccm@9443:type=Cache,name="Current State Cache",keytype="BuildEngine"
Attributes
JMX Attribute |
JMX Type |
Is Writeable? |
Default Value |
Description |
AutoUpdated |
long |
No |
0 |
Number of times an entry of the cache has been updated |
AverageResponseTime |
long |
No |
0 |
Average response time of the cache |
CacheAdded |
long |
No |
0 |
Number of cache entries added |
CacheHit |
long |
No |
0 |
Number of cache entries hit |
CacheInvalidated |
long |
No |
0 |
Number of cache invalid entries found. When an invalid entry is hit this is removed from the cache |
CacheMethodStats |
TabularType (Open Type) |
No |
None |
Tabular information. It contains one element for each cached type method, with individual statistics for each method: cache hits, miss, update, invalidated and added |
CacheMiss |
long |
No |
0 |
Number of cache misses |
CacheName |
String |
No |
Cache type name |
Cache type name. It matches the value of "name" of the JMX Object name of this cache instance |
Count |
long |
No |
0 |
Counter of monitored operations |
Duration |
long |
No |
0 |
Total duration of cache related operations |
MaximumResponseTime |
long |
No |
0 |
Maximum response time of the cached type |
MinimumResponseTime |
long |
No |
0 |
Minimum response time of the cached type |
Name |
String |
No |
Cache name |
Cached type name. It matches the value of "keytype" of the JMX Object name |
TimeSinceLastReset |
long |
No |
0 |
Total time since the last statistics reset |
Operations
Cache Problems
When a cache related operation exceeds the threshold, a
Problem Cache object is created. This object provides information that uniquely identifies the cache related operation that exceeded the threshold. The generated JMX object follows the convention:
JMX Interface Name: com.ibm.team.server.monitoring.jmx.beans.ResourceInstanceMBean
JMX Object Name: team.server.<application public URI context>@<port>:type=Problem Cache,name="com.ibm.team.repository.service.internal.rdb.TransactionalCache<key>.method",id=ID
JMX Object Name Example: team.server./jts@9443:type=Problem Cache,name="com.ibm.team.repository.service.internal.rdb.TransactionalCache
.getComplete",id=035c0a21-ea2e-4156-a139-411f9a56d21f
Where key
refers to the actual cached type object, followed by the type method.
Attributes
Following are the attributes exposed by the Problem Cache objects
JMX Attribute |
JMX Type |
Is Writeable? |
Default Value |
Description |
Duration |
long |
No |
0 |
Total duration of the operation. This value will be greater than the defined threshold |
FinishDate |
Date |
No |
Finish Date/time |
Date/time the operation finished |
Identifier |
String |
No |
UUID |
Object UUID |
Links |
TabularType (Open Type) |
No |
|
Links to associated performance information. This attribute is not currently used in this release |
Name |
String |
No |
Object name |
The computed name of the cached type and method that was being called. It matches the value of the name entry of the JMX Object name |
RDF |
String |
No |
|
RDF Representation of this object. This attribute is not currently used in this release |
StartDate |
Date |
No |
Start Date/time |
Date/time at which the operation started |
ThreadID |
long |
No |
|
The ID of the thread that executed the operation |
ThreadName |
String |
No |
|
Name of the thread that was executing the cache related operation |
ThreadTraceRDF |
String |
No |
|
The trace of other monitored object invocations along with their associated metrics as RDF. This attribute is not currently used in this release |
URI |
String |
No |
|
The request URI. This attribute is not currently used in this release |
Operations
External links: