The Request Monitor is responsible for gathering performance information of the server side requests processing and response times; and monitoring whether a particular request exceeds the defined threshold.
JMX Interface Name: com.ibm.team.server.monitoring.management.request.RequestMonitorRollupMBean
JMX Object Name: team.server.<application public URI context>@<port>:type=Request
JMX Object Name Example: team.server./jts@9443:type=Request
A JMX object of this "type" will be created for each monitored request identified by its URI:
- Request Monitor JMX Object Name: team.server.<application public URI context>@<port>:type=Request
- Request JMX Object Name: team.server.<application public URI context>@<port>:type=Request,name="<requestURI>"
The Request Monitor performance metrics information are rolled up from the performance information from all the individual monitored requests.
Visually, the Request Monitor objects structure is like the following:
team.server./<URL>@<port>:type=Request
|
|
|---- team.server./<URL>@<port>:type=Request,name="<requestURI>"
|---- team.server./<URL>@<port>:type=Request,name="<request2URI2>"
...
Monitor Attributes
Following are the attributes exposed by the Request Monitor
JMX Attribute |
JMX Type |
Is Writeable? |
Default Value |
Description |
AverageRequestSize |
long |
No |
0 |
Average size of all monitored requests |
AverageResponseTime |
long |
No |
0 |
Average response time from all the monitored requests |
Count |
long |
No |
0 |
Counter of all monitored operations |
Duration |
long |
No |
0 |
Total duration of monitored requests processing |
Enabled |
boolean |
Yes |
false |
Whether this monitor is enabled. Default is disabled so no performance monitoring of requests is performed |
MaximumRequestSize |
long |
No |
0 |
Maximum size of a request from all the monitored requests |
MaximumResponseTime |
long |
No |
0 |
Maximum response time of a request from all the monitored requests |
MinimumRequestSize |
long |
No |
0 |
Minimum size of a request from all the monitored requests |
MinimumResponseTime |
long |
No |
0 |
Minimum response time of a request from all the monitored requests |
Threshold |
java.lang.Long |
Yes |
10000 |
Defines the maximum allowed time for a request to be processed. If this time is exceeded a problem will be generated |
TimeSinceLastReset |
long |
No |
0 |
Total time since the last statistics reset |
Note the attributes related with time statistics are expressed in milliseconds
Monitor Operations
Child MBeans
This section gathers information regarding MBeans that are contained within this monitor
Request objects
An instance of a monitored request. A request is uniquely identified by its request URI path; subsequent calls to the same URI will be monitored by the same JMX object contributing performance information metrics. When the request monitor determines that a request has finished it will record the duration and rollup metrics.
JMX Interface Name: com.ibm.team.server.monitoring.jmx.beans.RequestMBean
JMX Object Name: team.server.<application public URI context>@<port>:type=Request,name="<requestURI>"
JMX Object Name Example: team.server./jts@9443:type=Request,name="/contributorRecords/"
Attributes
JMX Attribute |
JMX Type |
Is Writeable? |
Default Value |
Description |
AverageRequestSize |
long |
No |
0 |
Average size of the requests |
AverageResponseTime |
long |
No |
0 |
Average response time of the requests |
Count |
long |
No |
0 |
Counter of all monitored operations |
Duration |
long |
No |
0 |
Total duration processing duration of the requests |
MaximumRequestSize |
long |
No |
0 |
Maximum size of the requests |
MaximumResponseTime |
long |
No |
0 |
Maximum response time of the requests |
MinimumRequestSize |
long |
No |
0 |
Minimum size of the requests |
MinimumResponseTime |
long |
No |
0 |
Minimum response time of the requests |
TimeSinceLastReset |
long |
No |
0 |
Total time since the last statistics reset |
Note the attributes related with time statistics are expressed in milliseconds
Operations
Request Problems
When a certain request processing exceeds the defined threshold, a
Problem Request object is created. This object provides information that uniquely identifies the request that exceeded the threshold. The generated JMX object follows the convention:
JMX Interface Name: com.ibm.team.server.monitoring.jmx.beans.ActiveRequestMBean
JMX Object Name: team.server.<application public URI context>@<port>:type=Problem Request,name="<requestURI>",id=ID
JMX Object Name Example: team.server./ccm@9443:type=Problem Request,name="/home-menu-project",id=406a77aa-4f01-4e3c-aa02-05d736bbdc34
Where
name
matches the monitored request URI, which is the same of the Request monitor object. A different problem object instance (with different ID) will be created each time an individual request processing exceeds the defined threshold for a same URI.
Attributes
Following are the attributes exposed by the Problem Request objects
JMX Attribute |
JMX Type |
Is Writeable? |
Default Value |
Description |
Count |
long |
No |
0 |
Counter of all monitored operations |
Duration |
Date |
No |
0 |
Total duration of the request processing. This value will be greater than the defined threshold |
FinishDate |
Date |
No |
Finish Date/time |
Date/time the processing 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 |
Method |
String |
No |
|
The request HTTP method call (GET, POST ...) |
Name |
String |
No |
Object name |
The computed name of the request URI. 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 |
RequestURI |
String |
No |
|
The complete request URI including the server, port and application context root |
SessionId |
String |
No |
|
ID of the caller's session. It will match the ID of one of the monitored sessions, as reported by the User Session monitor objects |
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 |
UserName |
String |
No |
UserID |
The ID of the user that initiated the request |
Operations
External links: