-
Sub-task
-
Resolution: Obsolete
-
Major
-
None
-
None
-
None
For JON it would be helpful, and consistent with the other services, to have the following hibernate stats exposed through the profile service. Speaking to Scott if there is support for taking an mbean and exposing it as a managed object then this should be easy.
Hibernate Stats object (in addition to availability) needs:
<metric displayName="Entity Insert Count" property="EntityInsertCount"
category="throughput" displayType="summary" measurementType="trendsup"/>
<metric displayName="Query Execution Max Time" property="QueryExecutionMaxTime"
category="performance" displayType="summary"/>
<metric displayName="Entity Update Count" property="EntityUpdateCount"
category="throughput" measurementType="trendsup"/>
<metric displayName="Collection Update Count" property="CollectionUpdateCount"
category="throughput" measurementType="trendsup"/>
<metric displayName="Entity Load Count" property="EntityLoadCount"
category="throughput" measurementType="trendsup"/>
<metric displayName="Entity Fetch Count" property="EntityFetchCount" category="throughput"
displayType="summary" measurementType="trendsup"/>
<metric displayName="Entity Delete Count" property="EntityDeleteCount"
category="throughput" measurementType="trendsup"/>
<metric displayName="Collection Recreate Count" property="CollectionRecreateCount"
category="throughput" measurementType="trendsup"/>
<metric displayName="Query Execution Count" property="QueryExecutionCount"
category="throughput" displayType="summary" measurementType="trendsup"/>
<metric displayName="Flush Count" property="FlushCount"
category="throughput" measurementType="trendsup"/>
<metric displayName="Collection Load Count" property="CollectionLoadCount"
category="throughput" measurementType="trendsup"/>
<metric displayName="Successful Transaction Count" property="SuccessfulTransactionCount"
category="throughput" defaultOn="true" measurementType="trendsup"/>
<metric displayName="Query Cache Hit Count" property="QueryCacheHitCount"
category="throughput" measurementType="trendsup"/>
<metric displayName="Collection Remove Count" property="CollectionRemoveCount"
category="throughput" measurementType="trendsup"/>
<metric displayName="Connect Count" property="ConnectCount"
category="throughput" defaultOn="true" measurementType="trendsup"/>
<metric displayName="Start Time" property="StartTime" dataType="trait"
category="availability" defaultOn="true" units="epoch_milliseconds" measurementType="dynamic"/>
<metric displayName="Second Level Cache Put Count" property="SecondLevelCachePutCount"
category="throughput" measurementType="trendsup"/>
<metric displayName="Query Cache Put Count" property="QueryCachePutCount"
category="throughput" measurementType="trendsup"/>
<metric displayName="Session Open Count" property="SessionOpenCount"
category="throughput" defaultOn="true" measurementType="trendsup"/>
<metric displayName="Transaction Count" property="TransactionCount"
category="throughput" defaultOn="true" measurementType="trendsup"/>
<metric displayName="Collection Fetch Count" property="CollectionFetchCount"
category="throughput" measurementType="trendsup"/>
<metric displayName="Session Close Count" property="SessionCloseCount"
category="throughput" defaultOn="true" measurementType="trendsup"/>
<metric displayName="Query Cache Miss Count" property="QueryCacheMissCount"
category="throughput" defaultOn="true" measurementType="trendsup"/>
<metric displayName="Second Level Cache Miss Count" property="SecondLevelCacheMissCount"
category="throughput" measurementType="trendsup"/>
And operations:
<operation name="clear" displayName="Clear Statistics" description="Clear the collected statistics and begin collecting again"/>
<operation name="viewQueries" description="View statistical information about queries executed by Hibernate">
<results>
<c:list-property name="queries">
<c:map-property name="query">
<c:simple-property name="query" summary="true"/>
<c:simple-property name="executionCount" summary="true" type="integer"/>
<c:simple-property name="executionRowCount" summary="true" type="integer"/>
<c:simple-property name="executionMinTime" summary="true" type="integer"/>
<c:simple-property name="executionMaxTime" summary="true" type="integer"/>
<c:simple-property name="executionAvgTime" summary="true" type="integer"/>
</c:map-property>
</c:list-property>
</results>
</operation>
Hibernate Entity objects (in addition to availability) need
<metric displayName="Load Count" property="loadCount" displayType="summary"/>
<metric displayName="Update Count" property="updateCount" displayType="summary"/>
<metric displayName="Insert Count" property="insertCount" displayType="summary"/>
<metric displayName="Delete Count" property="deleteCount" displayType="summary"/>
<metric displayName="Fetch Count" property="fetchCount"/>
<metric displayName="Optimistic Lock Failure Count" property="optimisticFailureCount"/>