The Jena Monitor is responsible for gathering performance information of SPARQL queries, and monitoring whether a particular query exceeds the defined threshold.
JMX Interface Name: com.ibm.team.server.monitoring.management.MonitorRollupMBean
JMX Object Name: team.server.<application public URI context>@<port>:type=SPARQL
JMX Object Name Example: team.server./jts@9443:type=SPARQL
A JMX object of this "type" will be created for each monitored SPARQL query:
- Jena Monitor JMX Object Name: team.server.<application public URI context>@<port>:type=SPARQL
- Jena JMX Object Name: team.server.<application public URI context>@<port>:type=SPARQL,name="<Query>"
The Jena Monitor performance metrics information are rolled up from the performance information from all the individual monitored queries.
Visually, the Jena Monitor objects structure is like the following:
team.server./<URL>@<port>:type=SPARQL
|
|
|---- team.server./<URL>@<port>:type=SPARQL,name="<Query>"
|---- team.server./<URL>@<port>:type=SPARQL,name="<Query2>"
...
Monitor Attributes
Following are the attributes exposed by the Jena Monitor
JMX Attribute |
JMX Type |
Is Writeable? |
Default Value |
Description |
AverageResponseTime |
long |
No |
0 |
Average response time from all the monitored queries |
Count |
long |
No |
0 |
Counter of all monitored operations |
Duration |
long |
No |
0 |
Total duration of monitored queries processing |
Enabled |
boolean |
Yes |
false |
Whether this monitor is enabled. Default is disabled so no performance monitoring of Jena queries is performed |
MaximumResponseTime |
long |
No |
0 |
Maximum response time of a query processing from all the monitored ones |
MinimumResponseTime |
long |
No |
0 |
Minimum response time of a query processing from all the monitored ones |
Threshold |
java.lang.Long |
Yes |
10000 |
Defines the maximum allowed time for a query 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 miliseconds
Monitor Operations
Child MBeans
This section gathers information regarding MBeans that are contained within this monitor
Jena Query objects
An instance of a monitored query. A JMX object is created for each query, identified by the query it monitors. The JMX object will monitor and gather performance information of all the executions of this SPARQL query. When a query processing has finished it will record the duration and rollup metrics.
JMX Interface Name: com.ibm.team.server.monitoring.jmx.beans.JenaQueryMBean
JMX Object Name: team.server.<application public URI context>@<port>:type=SPARQL,name="<Query>"
JMX Object Name Example: team.server./ccm@9443:type=SPARQL,name="SELECT \?s\nWHERE\n { \?s \?p \?o }\nLIMIT 1\n"
Attributes
JMX Attribute |
JMX Type |
Is Writeable? |
Default Value |
Description |
AverageResponseTime |
long |
No |
0 |
Average response time of all the query executions |
Count |
long |
No |
0 |
Counter of all monitored operations |
Duration |
long |
No |
0 |
Total processing duration of the query |
MaximumResponseTime |
long |
No |
0 |
Maximum response time it took to process the query |
MinimumResponseTime |
long |
No |
0 |
Minimum response time it took to process the query |
TimeSinceLastReset |
long |
No |
0 |
Total time since the last statistics reset |
Note the attributes related with time statistics are expressed in miliseconds
Operations
Jena Problems
When the execution of a SPARQL query exceeds the threshold defined in the Jena Monitor, a
Problem SPARQL object is created. This object provides information that uniquely identifies the SPARQL query execution 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 SPARQL,name="<SPARQLQuery>",id=ID
JMX Object Name Example: team.server./ccm@9443:type=Problem SPARQL,name="PREFIX jf: <http://jazz.net/xmlns/foundation/1.0/>\nPREFIX dc: <http://purl.org/dc/terms/>\n\nSELECT \?url \?title \?context\nWHERE\n { \?url dc:type \"com.ibm.team.dashboard\" .\n \?url dc:relation <https://sp013146.ibm.com:9443/jts/users/gica> .\n \?url jf:resourceContext \?context .\n \?url dc:title \?title\n }\n",id=3441368c-9d39-4a2e-824f-0523d1a9f71c
Where
name
matches the one of the SPARQL Query monitor object of which a execution originated this problem. A different problem object instance (with different ID) will be created each time the execution of the query exceeds the defined threshold.
Attributes
Following are the attributes exposed by the Problem SPARQL 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 query. 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 which activity resulted in the SPARQL query execution. It provides context information of the root 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 |
|
This attribute is not currently used in this release |
Operations
External links: