Skip Headers
Oracle® Application Server Performance Guide
10g Release 3 (10.1.3.1.0)

Part Number B28942-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

D OC4J Performance Metrics

This appendix covers the following metrics:

D.1 JTA Resource Metrics

Table D-1 shows the JTA resource metrics.

The metric table type is JTAResource.

Table D-1 /oc4j/JTAResource Metrics

Metric withJSR-77 JTA Resource Description Unit

ActiveCount

jtaresource_active

Total count of active transactions. A consistently high value can indicate a heavy load on a server.

ops

AverageCommitTime

jtaresource_averageCommit

Average commit time of all transactions. This is the average of the jtaresource_performTransaction values, however, this is a mean average so there may be spikes in the system indicating other issues as well.

msecs

CommittedCount

jtaresource_committed

Total count of transactions which have committed.

ops

HeuristicCommittedCount

jtaresource_heuristicCommitted

Total count of heuristically committed transactions.

A high value suggests the system or application may not be automated enough, for example, too much system administration in general or inadequate handling of transaction architecture, or a particular issue has occurred which required extensive administration. This is due to a subordinate TransactionManager and not a resource manager being rollbacked while in the prepared state.

ops

HeuristicCount

jtaresource_heuristic

Total count of all heuristically rolledback and committed transactions. See comments for heuristicCommittedCount and heuristicRolledbackCount.

ops

HeuristicMixedExceptionCount

jtaresource_heuristicMixedException

Total count of HeuristicMixedExceptions encountered.

A high value can indicate a high number of potentially non-ACID outcomes resulting from inconsistent or inappropriate administrative intervention.

ops

HeuristicRollbackExceptionCount

jtaresource_heuristicRollbackException

Total count of HeuristicRollbackExceptions encountered.

A high value suggests the system or application may not be automated enough, for example, too much system administration in general or inadequate handling of transaction architecture, or a particular issue has occurred which required extensive administration. Unlike the rolledbackDueToAdminCount metric which indicates adminstrative rollback at the root transaction manager level while a transaction is active, this is due to either a subordinate TransactionManager or resource manager being rolledback while in the prepared state.

ops

HeuristicRolledbackCount

jtaresource_heuristicRolledback

Total count of heuristically rolledback transactions.

A high value here suggests the system or application may not be automated enough for example, too much system administration in general or inadequate handling in transaction architecture, or a particular issue has occurred which required extensive administration. This is due to a subordinate TransactionManager and not a resource manager being committed while in the prepared state.

ops

IllegalStateExceptionCount

jtaresource_illegalStateException

Total count of IllegalStateExceptions encountered.

A high value should be rare and should only be possible as a result of prior administrative intervention.

ops

PerformTransaction

jtaresource_performTransaction

Time from begin to end of the transaction.

This is useful as a high-level indicator of performance issues, however, as it is a measure from the begin to the end of the transaction only, anything that occurs within this time could be the cause. For example, application logic, database activity, JMS activity, or transaction processing.

msecs

RollbackCompletion

jtaresource_rollbackCompletion

Time required for a rollback completion.

A high value indicates delays in the rollback calls on resourcemanagers which may be a result of network latency or resource manager issues.


RollbackExceptionCount

jtaresource_rollbackException

Total count of RollbackExceptions encountered.

A high value can indicate an issue in the system (for example, a database is down) which results in performance degradation. This can result from both a direct internal system failure or from the application calling setRollbackOnly for some reason.

Suggest examining the fine-grained rollback cause counts and logs for the cause of the rollbacks as well as looking into application code which calls setRollbackOnly.

ops

RolledbackCount

jtaresource_rolledback

Total count of transactions which have rolledback.

A high value can indicate an issue in the system (for example a database is down) which results in performance degradation.

ops

RolledbackDueToAdminCount

jtaresource_rolledbackDueToAdmin

Total count of transactions that have rolledback due to administrative action.

A high value here suggests the system or application may not be automated enough. For example, too much system administration in general or inadequate handling of transaction architecture, or a particular issue has occurred which required extensive administration.

ops

RolledbackDueToAppCount

jtaresource_rolledbackDueToApp

Total count of transactions that have rolledback due to the application calling setRollbackOnly or rollback explicitly.

A high value here can occur for any reason, but most often occurs due to some handled exception within an application, for example, SQLException during database update.

Suggest looking into application code which calls setRollbackOnly or rollback to see why it is doing so.

ops

RolledbackDueToResourceCount

jtaresource_rolledbackDueToResource

Total count of transactions that have rolledback due to and error in an enlisted resource.

A high value here can indicate an issue with one or more resource managers, for example, database or the network connection between OC4J and these resources.

ops

RolledbackDueToTimedOutCount

jtaresource_rolledbackDueToTimedOut

Total count of transactions that have rolledback due to timeout.

A high number can indicate any number of issues are causing the transaction, or activity within transactional bounds, to take too long or the timeout value specified is not flexible enough.

Suggest looking into what activities within the transactions involved, which may be of a certain type or application, are taking up time or adjust the transaction-timeout value in the transaction-manager.xml configuration file.

ops

SecurityExceptionCount

jtaresource_securityException

Total count of SecurityExceptions encountered.

A high value, or any value getter than 0, can indicate an issue with the identity on the thread executing this.

ops

SinglePhaseCommitCompletion

jtaresource_singlePhaseCommitCompletion

Time required for a single-phase commit completion.

A single phase commit involves committing of a single resource only and therefore no 2PC costs, for example logging, are incurred and a large value here generally indicates an issue with the resource which is being committed, for example network latency to the database, suggest looking closer at the metrics of the resource involved in the commit.


SystemExceptionCount

jtaresource_systemException

Total count of SystemExceptions encountered.

A high value here should never occur and indicates a serious failure in the system. Suggest analyzing OC4J and resource manager logs.


TransactionSuspended

jtaresource_transactionSuspended

Time transaction has been suspended.

A high value here indicates that the transactions are being held in a suspended state waiting for return a call in a different or no transactional context, generally from an EJB method call, or during propagation of a transaction context.

Suggest analyzing the application to determine what activity is taking place during the suspend or whether there is a network latency in the case of propagation.


TwoPhaseCommitCompletion

jtaresource_twoPhaseCommitCompletion

Time required for a two-phase commit completion.

A high value here indicates delays in the prepare and commit calls on resource managers or the transaction record logging in OC4J.

Suggest looking closer at the metrics of the resources involved in the prepare and commit as well as performance settings in for transaction record logging in OC4J found in the transaction-manager.xml configuration file.



D.2 JCA Metrics

Table D-2 shows the JCA metrics.

The metric table type is jca_connection_stats.

Table D-2 oc4j/application/OracleASjms/JCAmetrics Metrics

Metric Description Unit

closeCount.count

Number of connection handles closed count.

ops

createCount.count

Number of connection handles created count.

ops

poolName.value

Name of connection pool value.

pool name

useTime.avg

Time spent using a connection.

time

useTime.completed

Time spent using a connection.

ops

useTime.maxTime

Time spent using a connection.

time

useTime.minTime

Time spent using a connection.

time

useTime.time

Time spent using a connection.

time

waitTime.avg

Time spent waiting for a connection to be available.

time

waitTime.completed

Time spent waiting for a connection to be available.

ops

waitTime.maxTime

Time spent waiting for a connection to be available.

time

waitTime.minTime

Time spent waiting for a connection to be available.

time

waitTime.time

Time spent waiting for a connection to be available.

time


Table D-3 shows the JCA connection pool stats metrics.

The metric table type is jca_connection_pool_stats.

Table D-3 /oc4j/jca_connection_pool_stats Metrics

Metric Description Unit

closeCount.count

Number of ManagedConnections closed.

ops

createCount.count

Number of ManagedConnections created.

ops

errorCount.count

Number of connection error events.

ops

expiredCount.count

Number of expired connections removed from pool.

ops

freePoolSize.maxValue

Number of free connections in the pool.

connections

freePoolSize.minValue

Number of free connections in the pool.

connections

freePoolSize.value

Number of free connections in the pool.

connections

inactivityTimeout.value

Configuration parameter: timeout for unused connections.

time

inactivityTimeoutCheck.value

Configuration parameter: when to check for unused connections.


initial-capacity.value

Configuration parameter: number of connections to be pre-created by the pool.

ops

invalidCount.count

Number of invalid connections removed from pool.

ops

maxPoolSize.value

Configuration parameter: maximum number of connections.

connections

minPoolSize.value

Configuration parameter: minimum number of connections.

connections

poolSize.maxValue

Size of connection pool.

connections

poolSize.minValue

Size of connection pool.

connections

poolSize.value

Size of connection pool.

connections

requestTimeoutCount.count

Number of failed connection requests due to timeout.

ops

scheme.value

Scheme configuration parameter: connection pooling scheme.


useTime.avg

Time spent using a connection

time

useTime.completed

Time spent using a connection

ops

useTime.maxTime

Time spent using a connection

time

useTime.minTime

Time spent using a connection

time

useTime.time

Time spent using a connection

time

waitTime.avg

Time spent waiting for a connection to be available

time

waitTime.completed

Time spent waiting for a connection to be available

ops

waitTime.maxTime

Time spent waiting for a connection to be available

time

waitTime.minTime

Time spent waiting for a connection to be available

time

waitTime.time

Time spent waiting for a connection to be available

time

waitTimeout.value

Configuration parameter: timeout waiting for a connection in fixed_wait scheme


waitingThreadCount.active

Number of threads waiting for connection.

ops

waitingThreadCount.avg

Number of threads waiting for connection active.


waitingThreadCount.completed

Number of threads waiting for connection active.

ops

waitingThreadCount.maxActive

Number of threads waiting for connection active.

threads

waitingThreadCount.maxTime

Number of threads waiting for connection active.

time

waitingThreadCount.minTime

Number of threads waiting for connection active.

time

waitingThreadCount.time

Number of threads waiting for connection active.

time


D.3 OC4J J2EE Application Metrics

This section lists the OC4J J2EE application related metrics.

This section covers the following metrics:

D.3.1 Web Module Metrics

There is one set of metrics for each Web module within each J2EE application.

Table D-4 shows the web module metrics.

The metric table type is oc4j_web_module.

Table D-4 OC4J/application/WEBs Metrics

Metric Description Units

parseRequest.active

Current number of threads trying to read/parse AJP or HTTP requests


parseRequest.avg

Average time spent to read/parse requests

msecs

parseRequest.completed

Number of web requests that have been parsed

ops

parseRequest.maxActive

Maximum number of threads trying to read/parse AJP or HTTP requests

threads

parseRequest.maxTime

Maximum time spent to read/parse requests

msecs

parseRequest.minTime

Minimum time spent to read/parse requests

msecs

parseRequest.time

Total time spent to read/parse requests from the socket

msecs

processRequest.active

Current number of threads servicing web requests


processRequest.avg

Average time spent servicing web requests

msecs

processRequest.completed

Number of web requests processed by this application

ops

processRequest.maxActive

Maximum number of threads servicing web requests

threads

processRequest.maxTime

Maximum time spent servicing a web request

msecs

processRequest.minTime

Minimum time spent servicing a web request

msecs

processRequest.time

Total time spent servicing this application's web requests

msecs

resolveContext.active

Current number of threads trying to create/find the servlet context


resolveContext.avg

Average time spent to create/find the servlet context

msecs

resolveContext.completed

Count of completed context resolves

ops

resolveContext.maxActive

Maximum number of threads trying to create/find the servlet context

threads

resolveContext.maxTime

Maximum time spent to create/find the servlet context

msecs

resolveContext.minTime

Minimum time spent to create/find the servlet context

msecs

resolveContext.time

Total time spent to create/find the servlet context. Each web module (WAR) maps to a servlet context

msecs


D.3.2 Web Context Metrics

Table D-5 shows the web context metrics. There is one set of web context metrics for each Web context module within each J2EE application.

The metric table type is oc4j_context.

Table D-5 OC4J/application/Webs/context Metrics

Metric Description Unit

resolveServlet.time

Total time spent to create/locate servlet instances (within the servlet context). This includes the time for any required authentication.

msecs

resolveServlet.completed

Total Number of lookups for a servlet by OC4J

ops

resolveServlet.minTime

Minimum time spent to create/locate the servlet instance (within the servlet context)

msecs

resolveServlet.maxTime

Maximum time spent to create/locate the servlet instance (within the servlet context)

msecs

resolveServlet.avg

Average time spent to create/locate the servlet instance (within the servlet context)

msecs

sessionActivation.active

Number of active sessions

ops

sessionActivation.time

Total time in which sessions have been active

msecs

sessionActivation.completed

Number of session activations

ops

sessionActivation.minTime

Minimum time a session was active

msecs

sessionActivation.maxTime

Maximum time a session was active

msecs

sessionActivation.avg

Average session lifetime

msecs

service.time

Total time spent servicing requests. The service metrics for the servlet include any time spent in the calls to the database. If you need to determine just the oc4j service time, subtract the appropriate execution times.

msecs

service.completed

Total number of requests serviced

ops


D.3.3 OC4J Servlet Metrics

Table D-6 shows the servlet metrics. There is one set of servlet metrics for each servlet in each Web module within each J2EE application.

The metric table type is oc4j_servlet.

Table D-6 OC4J/application/WEBs/context /SERVLETS/servlet Metrics

Metric Description Units

service.active

Current number of threads servicing this servlet

threads

service.avg

Average time spent in servicing the servlet

msecs

service.completed

Total number of calls to service()


service.maxActive

Maximum number of threads servicing this servlet

threads

service.maxTime

Maximum time spent on a servlet's service() call

ops

service.minTime

Minimum time spent on a servlet's service() call

msecs

service.time

Total time spent on the servlet's service() call

msecs


D.3.4 OC4J JSP Metrics

D.3.4.1 JSP Runtime Metrics

Table D-7 shows the JSP metrics. There is one set of JSP metrics for each Web context for each J2EE application.

The metric table type is oc4j_jspExec.

Table D-7 OC4J/application/WEBs/context /JSP Metrics

Metric Description Unit

processRequest.time

Time spent processing requests for JSPs

Only used for Context/Application name

msecs

processRequest.completed

Number of requests for JSPs processed by this application

ops

processRequest.minTime

Minimum time spent processing requests for JSPs

msecs

processRequest.maxTime

Maximum time spent processing requests for JSPs

msecs

processRequest.avg

Average time spent processing requests for JSPs

msecs

processRequest.active

Current number of active requests for JSPs

ops


D.3.4.2 JSP Metrics

Table D-8 shows the JSP metrics. There is one set of metrics for each JSP in each Web module.

The metric table types are oc4j_jsp(threadsafe=true) and oc4j_jsp(threadsafe=false).

To list these metrics using dmstool, enclose the metric table type in quotation marks.

For example:

dmstool -table "oc4j_jsp(threadsafe=true)"

Table D-8 OC4J/application/WEBs/context /JSPjsp_name Metrics

Metric Description Unit

activeInstances.value

Number of active instances. Only used when threadsafe=false

instances

availableInstances.value

Number of available (that is, created) instances.

This value is only provided when threadsafe=false.

instances

service.active

Current number of active requests for the JSP


service.avg

Average time spent servicing the JSP

msecs

service.completed

Number of requests for JSPs processed by this JSP

ops

service.maxTime

Maximum time spent servicing the JSP

msecs

service.minTime

Minimum time spent servicing the JSP

msecs

service.time

Time to serve a JSP (that is, actual execution time of the JSP)

msecs


D.3.5 OC4J EJB Metrics

D.3.5.1 OC4J EJB Session Bean Metrics

Table D-9 shows the EJB Session bean metrics showing information on each session bean.

The metric table type is oc4j_ejb_session_bean.

Table D-9 OC4J EJB Session Bean Metrics

Metric Description Unit

session-type.value

Provides information on the session type: Stateless or Stateful

String

transaction-type.value

Provides information on the transaction type: Container or Bean

String


D.3.5.2 EJB Entity Bean Metrics

Table D-10 shows the entity bean metrics. Oracle Application Server provides a set of these metrics for each type of bean in each EJB jar file in each J2EE application.

The metric table type is oc4j_ejb_entity_bean.

Table D-10 OC4J/application/EJBs/ejb-jar-module/ejb-name Metrics

Metric Description Unit

transaction-type.value

Possible values: container or bean


session-type.value

Possible values: stateful or stateless


bean-type.value

Possible values: session or entity bean


exclusive-write-access.value

Possible values: true or false


isolation.value

Possible values: serializable, uncommitted, committed, repeatable_read, none, DB-determined

The value is DB-determined when the isolation attribute is omitted.


persistence-type.value

Possible values: container or bean or



D.3.5.3 EJB Method Metrics

Table D-11 shows the EJB method metrics. There is one set of EJB method metrics for each method within each type of EJB bean.

The metric table type is oc4j_ejb_method.

The client.* metrics show values for the actual implementation of the method. The wrapper.* metrics show values for the wrapper that was automatically generated for the method.


See Also:

Chapter 6, "Advanced EJB Subjects" in Oracle Containers for J2EE Enterprise JavaBeans Developer's Guide for information on automatically generated wrappers.

Table D-11 OC4J/application/EJBs/ejb-jar-module/ejb-name/method-name Metrics

Metric Description Unit

client.active

Current number of threads accessing the actual implementation of this method

ops

client.avg

Average time spent inside the actual implementation of this method

msecs

client.completed

Number of requests for beans processed by this application

ops

client.maxActive

Maximum number of threads accessing the actual implementation of this method

ops

client.maxTime

Maximum time spent inside the actual implementation of this method

msecs

client.minTime

Minimum time spent inside the actual implementation of this method

msecs

client.time

Time spent inside the actual implementation of this method

msecs

ejbPostCreate.active

Current number of threads executing ejbPostCreate

ops

ejbPostCreate.avg

Average time spent in ejbPostCreate

msecs

ejbPostCreate.completed

Number of times this ejbPostCreate has been called

ops

ejbPostCreate.maxTime

Maximum time spent in ejbPostCreate

msecs

ejbPostCreate.minTime

Minimum time spent in ejbPostCreate

msecs

ejbPostCreate.time

Time spent in the ejbPostCreate method (entity beans)

msecs

trans-attribute.value

Transaction attribute. Possible values: NotSupported, Supports, RequiresNew, Mandatory, and Never


wrapper.active

Current number of threads accessing the automatically generated wrapper method


wrapper.avg

Average time spent inside the automatically generated wrapper method

msecs

wrapper.completed

Number of requests for beans processed by this application

ops

wrapper.maxActive

Maximum number of threads that access the wrapper

ops

wrapper.maxTime

Maximum time spent inside the automatically generated wrapper method

msecs

wrapper.minTime

Minimum time spent inside the automatically generated wrapper method

msecs

wrapper.time

Time spent inside the automatically generated wrapper method. Note: Not all the wrapper methods invoke the actual bean implementation at runtime (for example, create method in a stateless bean). This means that the time spent in the wrapper code could be less than the time spent in the bean implementation

msecs


D.3.5.4 EJB Stateless Bean Metrics

Table D-12 shows the EJB stateless bean metrics.

The metric table type is oc4j_ejb_stateless_bean.

Table D-12 OC4J EJB Stateless Bean Metrics

Metric Description Unit

pooled.count

Number of Pooled Instances count

count

pooled.maxValue

Number of Pooled Instances

ops

pooled.minValue

Number of Pooled Instances

ops

pooled.value

Number of Pooled Instances

ops

ready.count

Number of Ready Instances

count

ready.maxValue

Number of Ready Instances

ops

ready.minValue

Number of Ready Instances

ops

ready.value

Number of Ready Instances


session-type.value

Session type



D.3.5.5 EJB Stateful Bean Metrics

Table D-13 shows the EJB stateful bean metrics.

The metric table type is oc4j_ejb_stateful_bean.

Table D-13 OC4J EJB Stateful Bean Metrics

Metric Description

passive.count

Number of Passivated Instances

count

passive.maxValue

Number of Passivated Instances

ops

passive.minValue

Number of Passivated Instances

ops

passive.value

Number of Passivated Instances

ops

ready.count

Number of Ready Instances

count

ready.maxValue

Number of Ready Instances

ops

ready.minValue

Number of Ready Instances

ops

ready.value

Number of Ready Instances

ops

session-type.value

Session type


transaction-type.value

Transaction



D.3.5.6 EJB Message-Driven Bean Metrics

Table D-14 shows the message-driven bean metrics.

The metric table type is oc4j_ejb_message-driven_bean.

Table D-14 OC4J EJB Message-driven Bean Metrics

Metric Description Units

applicationExceptionCount.count

Number of application exceptions thrown

count

failedMessageDeliveryCount.count

Number of failed message deliveries

count

messageDelivery.avg

Message delivery attempts

time

messageDelivery.completed

Message delivery attempts

ops

messageDelivery.maxTime

Message delivery attempts

time

messageDelivery.minTime

Message delivery attempts

time

messageDelivery.time

Message delivery attempts

time

messageEndpointCount.value

Number of message endpoints

ops

messageEndpointType.value

Message endpoint type

Class name

pooled.count

Number of Pooled Instances

count

pooled.maxValue

Number of Pooled Instances

ops

pooled.minValue

Number of Pooled Instances

ops

pooled.value

Number of Pooled Instances

ops

ready.count

Number of Ready Instances

count

ready.maxValue

Number of Ready Instances

ops

ready.minValue

Number of Ready Instances

ops

ready.value

Number of Ready Instances

ops

startTime.value

The MDB available time for service

time

successfulMessageDeliveryCount.count

Number of successful message deliveries

count

systemExceptionCount.count

Number of SystemExceptions thrown

count

transaction-type.value

Transaction value



D.3.6 OC4J OPMN Info Metrics

Table D-15 shows the OC4J OPMN information metrics.

The metric table type is oc4j_opmn.

Table D-15 OC4J OPMN Information Metrics

Metric Description Unit

default_application_log.value

Specifies the default application log file path.


ias_cluster.value

Specifies the Oracle Application Server cluster name.

String

ias_instance.value

Specifies the Oracle Application Server instance name.

String

jms_log.value

Specifies the JMS log file path.

String

oc4j_instance.value

Specifies the OC4J instance ID.

String

oc4j_island.value

Specifies the OC4J island ID.

String

opmn_group.value

Specifies the OPMN group ID.

String

opmn_sequence.value

Specifies the OPMN sequence ID.

String

rmi_log.value

Specifies the RMI log file path name.

String

server_log.value

Specifies the application server log file path.

String


D.3.7 OC4J Work Management Pool Metrics

Table D-16 shows the OC4J Work management pool metrics.

The metric table type is oc4j_workManagementPool.

Table D-16 OC4J Work Management Pool Metrics

Metric Description Unit

idleThreadCount

Number of idle threads in the pool. This is a current thread pool state metric.

threads

keepAlive

Time before idle threads are removed from available pool. This is a configuration value metric

milliseconds

maxPoolSize

Maximum number of threads in the pool. This is a configuration value metric

threads

maxQueueSize

Maximum queue size. This is a configuration value metric.

work_requests

minPoolSize

Minimum number of threads in the pool. This is a configuration value metric.

threads

queueFullEvent

Number of work submission failures due to full queue. This is a current thread pool state metric.

ops

queueSize

Current queue size. This is a current thread pool state metric.

work_requests

totalThreadCount

Total number of threads in the pool. This is a current thread pool state metric.

threads

workStartDuration

Duration between work accepted and work started events. This is a current thread pool state metric. Waiting time is defined as the time period between the work submission is accepted and the execution of the work starts. This metric measures the duration between a work request submission is accepted by the pool and the time when a thread is allocated from the thread pool to run the work. If a thread is readily available, this would measure the processing overhead of the threadpool in finding an available thread and setting up the proper context for processing the work. If all available threads are busy handling other work requests, this time would also include the queuing time.

ops


D.4 OC4J JMS Metrics

OC4J JMS metrics are organized into metric tables and fall into two categories:

Each OC4J JMS metric table (metric table type) contains metrics for instances of the same type; different instances have unique names. For each instance in a metric table, a set of metrics is collected. The names for metrics in each instance are unique IDs that OC4J JMS generates.

Instances may have one or more metrics whose value is the name of another metric instance. For example, the JMS session instances contain metrics that point to the parent containing JMS connection instance. You can use the pointers to navigate through the metrics.A parent metric instance usually includes a counter metric indicating the number of child metrics of a certain type that have been created. Child metric instances may appear and disappear as the underlying objects are created and destroyed; the counter keeps track of the total number of such instances that were created during the lifetime of the parent.


Note:

Oracle Application Server JMS metrics are available only for OC4J JMS (thus, metrics are not available for OJMS).


See Also:

Oracle Containers for J2EE Services Guide for more information on OC4J JMS

D.4.1 JMS Metric Tables

OC4J JMS metrics are divided into three types, based on how they are updated:

  1. CTOR Metrics: Metrics that are set in the constructor or initialization routine of the associated JMS object, and are never changed during the lifetime of the object.

  2. Normal Metrics: Object level state metrics that are updated as soon as the associated state of the JMS object changes.

  3. Lazy Metrics: these state metrics are updated lazily, that is, not as soon as the underlying metric value changes, but only periodically (these are typically server store metrics and are updated each time the store is cleaned up of expired messages).

Table D-17 shows a summary of the organization of the OC4J JMS metric tables.

Table D-17 OC4J JMS Metric Tables

JMS Metric Table Type Parent Table Type Number of Instances Description

JMSConnectionStats

JMSStats

1 per JMS connection

Statistics for the JMS connections active in this server

JMSDestinationStats

JMSStats

1 per permanent JMS destination

Statistics for each permanent JMS destination known to the OC4J JMS server

JMSDurableSubscriberStats

JMSStats

1 per JMS durable subscriber

Statistics for each JMS durable subscription known to this server

JMSMessageBrowserStats

JMSSessionStats

1 per JMS queue browser

Statistics for the JMS queue browsers in this server

JMSMessageConsumerStats

JMSSessionStats

1 per JMS message consumer

Statistics for the JMS consumers active in this server

JMSMessageProducerStats

JMSSessionStats

1 per JMS message producer

Statistics for the JMS producers active in this server

JMSPersistenceStats

JMSDestinationStats

1 per server-side persistent destination

Statistics for operations on the persistence file for each persistent destination

JMSRequestHandlerStats

JMSStats

1 per remote JMS connection

Statistics for the request handler thread servicing a remote JMS connection.

JMSSessionStats

JMSConnectionStats

1 per JMS session

Statistics for the JMS sessions active in this server

JMSStats

none

1

Statistics for the OC4J JMS Server

JMSStoreStats

JMSDestinationStats JMSTemporaryDestinationStats

1 per server-side message store

Statistics for each message store (one per queue, one per subscription per topic) on the OC4J JMS server

JMSTemporaryDestinationStats

JMSStats

1 per temporary JMS destination

Statistics for each temporary JMS destination known to the OC4J JMS server


D.4.2 JMS Stats Metric Table

Table D-18 shows the JMS Stats metrics.

The metric table type is JMSStats.

Table D-18 JMSStats Metric Table

Metric Description Update Unit

activeConnections




activeHandlers




address

The hostname(s) from which the JMS server accepts remote connections

ctor

string

closeConnection




closeConsumer




commit




connections




createConsumer




deqMessage




enqMessage




host.value

The explicit hostname on which the OC4J JMS server is running.

ctor

string

listMessages




messageCommitted




messageCount




messageDequeued




messageDiscarded




messageEnqueued




messageExpired




messagePagedIn




messagePagedOut




messageRecovered




messageRolledback




oc4j.jms.checkPermissions




oc4j.jms.debug

Value of the oc4j.jms.debug OC4J JMS control knob

ctor

bool

oc4j.jms.forceRecovery

Value of the oc4j.jms.forceRecovery OC4J JMS control knob

ctor

bool

oc4j.jms.j2ee14




oc4j.jms.listenerAttempts

Value of the oc4j.jms.listenerAttempts OC4J JMS control knob

ctor

int

oc4j.jms.maxOpenFiles

Value of the oc4j.jms.maxOpenFiles OC4J JMS control knob

ctor

int

oc4j.jms.messagePoll

Value of the oc4j.jms.messagePoll OC4J JMS control knob

ctor

msecs

oc4j.jms.noDms

Value of the oc4j.jms.noDms OC4J JMS control knob

ctor

bool

oc4j.jms.noJmx




oc4j.jms.pagingThreshold




oc4j.jms.printStackTrace




oc4j.jms.reconnectAttempts




oc4j.jms.reconnectWait




oc4j.jms.rememberALLXids




oc4j.jms.saveAllExpired

Value of the oc4j.jms.saveAllExpired OC4J JMS control knob

ctor

bool

oc4j.jms.serverPoll

Value of the oc4j.jms.serverPoll OC4J JMS control knob

ctor

msecs

oc4j.jms.socketBufsize

Value of the oc4j.jms.socketBufsize OC4J JMS control knob

ctor

int

peekMessage




pendingMessageCount




port.value

The TCP/IP port on which the JMS server listens for incoming connections

ctor

int

registerConnection




rollback




startTime

System.currentTimeMillis() when the OC4J JMS server was started

ctor

msecs

stats




storeSize




taskManagerInterval

The scheduling interval of the OC4J task manager (and the scheduling interval for the OC4J JMS expiration task)

ctor

msecs


D.4.3 JMS Request Handler Stats

Table D-19 shows the JMS Request Handler Stats.

The metric table type is JMSRequestHandlerStats.

Table D-19 JMSRequestHandlerStats Metrics

Metric Description Update Unit

address.value

The hostname from which the remote connection originates (may be an implicit, special address)

ctor

string

connectionID.value

The ID of the JMSConnectionStats instance

ctor

string

host.value

The explicit hostname from which the remote connection originates

ctor

string

port.value

The TCP/IP port from which the remote connection originates

ctor

int

startTime.value

System.currentTimeMillis() when the request handler was started

ctor

string


D.4.4 JMS Connection Stats

Table D-20 shows the JMS Connection Stats.

The metric table type is JMSConnectionStats.

Table D-20 JMSConnectionStats Metrics

Metric Description Update Unit

address.value

The implicit hostname of the remote JMS server host for this connection as specified in the connection factory used to create this connection; set only for non-local connections.

ctor

string

clientID.value

The administratively configured (for ctor) or programmatically set (for normal) clientID for this connection

ctor/normal

string

domain.value

The JMS domain ("queue", "topic", or "unified") of this connection

ctor

string

exceptionListener.value

The stringified name of the current exception listener for this connection

normal

string

host.value

The explicit hostname of the remote JMS server host for this connection; set only for non-local connections

ctor

string

isLocal.value

"true" if and only if the JMS connection is local to the OC4J JMS server in the same JVM

ctor

boolean

isXA.value

"true" if and only if the connection is in XA mode

ctor

boolean

port.value

The remote JMS server port for this connection; set only for non-local connections

ctor

int

startTime.value

System.currentTimeMillis() when this connection was created

ctor

msecs

user.value

The user identity for this connection

ctor

string

method-name

An interval timer metric (PhaseEvent Sensor) for every major method call in this connection object.

normal



D.4.5 JMS Session Stats

Table D-21 shows the JMS Session Stats.

The metric table type is JMSSessionStats.

Table D-21 JMSSessionStats Metrics

Metric Description Update Unit

acknowledgeMode.value

The acknowledge mode of this session. The valid modes are: AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE, and SESSION_TRANSACTED.

ctor

string

domain.value

The JMS domain ("queue", "topic", or "unified") of this session

ctor

string

isXA.value

"true" if and only if the session is in XA mode

ctor

boolean

sessionListener.value

The stringified name of the current distinguished listener for this session

normal

string

startTime.value

System.currentTimeMillis() when this session was created

ctor

msecs

transacted.value

"true" if and only if the session is transacted

ctor

boolean

txid.value

The integer count of the current local transaction associated with this session; the counter is increment each time a local transaction is committed/rolledback; not set for non-transacted session

normal

int

xid.value

The Xid of the current distributed transaction associated with this session; set to a null/empty string when in a local transaction mode; not set if the session never participates in a global transaction

normal

string

method-name

An interval timer metric (PhaseEvent Sensor) for every major method call in this session object

normal



D.4.6 JMS Message Producer Stats

Table D-22 shows the JMS Producer Stats.

The metric table type is JMSProducerStats.

Table D-22 JMSProducerStats Metrics

Metric Description Update Unit

deliveryMode.value

The current delivery mode of this producer. The valid delivery mode values are: PERSISTENT and NON_PERSISTENT.

normal

string

destination.value

The name of the identified destination for this producer; null/empty for an unidentified producer

ctor

string

disableMessageID.value

The value is true when message IDs are disabled for the producer

normal

boolean

disableMessageTimestamp.value

The value is true when message timestamps are disabled for the producer

normal

boolean

domain.value

The JMS domain ("queue", "topic", or "unified") of this producer

ctor

string

priority.value

The current priority of this producer

normal

int

startTime.value

System.currentTimeMillis() when this producer was created

ctor

msecs

timeToLive.value

The current timeToLive of this producer

normal

msecs

method-name

A phase timer (PhaseEvent Sensor) metric for every major method call in this producer object

normal



D.4.7 JMS Message Browser Stats

Table D-23 shows the JMS Browser Stats.

The metric table type is JMSBrowserStats.

Table D-23 JMSBrowserStats Metrics

Metric Description Update Unit

destination.value

The name of the destination for this browser

ctor

string

selector.value

The message selector for this browser; null/empty string if unspecified

ctor

string

startTime.value

System.currentTimeMillis() when this browser was created

ctor

msecs

method-name

An interval timer metric (PhaseEvent Sensor) for every major method call in this browser object; calls to "hasMoreElements" and "nextElement" are made on individual enumeration objects, but counted as PhaseEvents in the browser object to simplify data collection, multiple enumerations can be active on the same browser

normal



D.4.8 JMS Message Consumer Stats

Table D-24 shows the JMS Message Consumer Stats.

The metric table type is JMSMessageConsumerStats.

Table D-24 JMSMessageConsumerStats

Metric Description Update Unit

destination.value

The name of the destination for this consumer

ctor

string

domain.value

The JMS domain ("queue", "topic", or "unified") of this consumer

ctor

string

messageListener.value

The stringified name of the current message listener for this consumer

normal

string

name.value

The name of the durable subscriber for this consumer; set only for durable topic subscriptions

ctor

string

noLocal.value

The noLocal setting of a subscription; set only for topic consumers

ctor

boolean

selector.value

The message selector for this consumer; null/empty string if unspecified

ctor

string

startTime.value

System.currentTimeMillis() when this consumer was created

ctor

msecs

method-name

An interval timer metric (PhaseEvent Sensor) for every major method call in this consumer object

normal



D.4.9 JMS Durable Subscription Stats

Table D-25 shows the JMS Durable Subscription Stats.

The metric table type is JMSDurableSubscriptionStats.

Table D-25 JMSDurableSubscriptionStats Metrics

Metric Description Update Unit

clientID.value

The clientID associated with this durable subscriptions

ctor

string

destination.value

The name of the topic for this durable subscription

ctor

string

isActive.value

"true" if and only if the durable subscription is currently active (being used by a consumer)

normal

boolean

name.value

The user-provided name of the durable subscription

ctor

string

noLocal.value

The noLocal flag for this durable subscription

ctor

boolean

selector.value

The JMS message selector for this durable subscription

ctor

string


D.4.10 JMS Destination Stats

Table D-26 shows the JMS Destination Stats metrics

The metric table type is JMSDestinationStats.

Table D-26 JMSDestinationStats Metrics

Metric Description Update Unit

domain.value

JMS domain, "queue"or "topic", of the destination

ctor

string

name.value

The configured name of the destination. As defined in jms.xml

ctor

string

locations.value

A comma-delimited list of JNDI names bound to the destination. As defined in jms.xml

ctor

string

method-name

An interval timer metric (PhaseEvent Sensor) for every major method call in the destination object

normal



D.4.11 JMS Temporary Destination Stats

Table D-27 shows the JMS Temporary Destination Stats.

The metric table type is JMSTempoaryDestinationStats.

Table D-27 JMSTemporaryDestinationStats Metrics

Metric Description Update Unit

connectionID.value

The ID of the JMSConnectionStats instance from which this temporary destination was created

ctor

string

domain.value

JMS domain, for example "queue" or "topic", of the destination

ctor

string

method-name

An interval timer metric (PhaseEvent Sensor) for every major method call in the destination object

normal



D.4.12 JMS Store Stats

Table D-28 shows the JMS StoreStats metric table.

The metric table type is JMSStoreStats.

Table D-28 JMSStoreStats Metric

Metric Description Update Unit

destination.value

A pretty-printed name of the JMS destination associated with this message store

ctor

string

messageCount.value

Total number of messages contained in this store

lazy

int

messageDequeued.count

Total number of message dequeues (transacted or otherwise)

normal

ops

messageDiscarded.count

Total number of message discarded after the rollback of an enqueue

normal

ops

messageEnqueued.count

Total number of message enqueues (transacted or otherwise)

normal

ops

messageExpired.count

Total number of message expirations

normal

ops

messagePagedIn.count

Total number of message bodies paged in

normal

ops

messagePagedOut.count

Total number of message bodies paged out

normal

ops

messageRecovered.count

Total number of messages recovered (either from a persistence file, or after the rollback of a dequeue)

normal

ops

pendingMessageCount.value

Total number of messages part of an enqueue/dequeue of an active transaction

lazy

int

storeSize.value

Total size, in bytes, of the message store.

lazy

bytes

method-name

An interval timer metric (PhaseEvent Sensor) for every major method call in the message store object

normal



The following identity holds:

messageCount = messageRecovered + messageEnqueued - messageDequeued - messageDiscarded - messageExpired

If a message is both enqueued and dequeued in the same transaction, the messageEnqueued and messageDequeued events occur, but the messageRecovered and messageDiscarded events do not.

D.4.13 JMS Persistence Stats

Table D-29 shows the JMS Persistence Stats.

The metric table type is JMSPersistenceStats.

Table D-29 JMSPersistenceStats Metrics

Metric Description Update Unit

destination.value

A pretty-printed name for the JMS destination associated with this persistence file

ctor

string

holePageCount.value

The number of 512b pages currently free in this file

normal

int

isOpen.value

"true" iff the persistence file descriptor is currently open (for LRU caching)

normal

boolean

lastUsed.value

System.currentTimeMillis() when this persistence file was last used (for LRUcaching)

normal

msecs

persistenceFile.value

The absolute path name of the persistence file used for this persistent destination. This value differs depending on the operating system where OC4J is running.

ctor

string

usedPageCount.value

The number of 512b pages currently in use in this file

normal

int

method-name

An interval timer metric (PhaseEvent Sensor) for every major method call in the persistence file object

normal



D.5 OC4J Task Manager Metrics

Table D-30 shows the OC4J Task Manager metrics.

The metric table type is oc4j_task.

Table D-30 OC4J_taskManager Metrics

Metric Description Unit

interval.value

Shows how often the task should run. The task manager executes all the tasks in a round-robin fashion. If the interval is zero, then the task manager executes the task when it is selected in the round robin.

msecs (Milliseconds)

run().active

Number of active threads.

threads

run().avg

Average time for the taskmanager to run the task

msecs

run().completed

Number of times the taskmanager has run the task.

ops

run().maxActive

Maximum number of active tasks.

threads

run().maxTime

Maximum time for the task to run.

msecs

run().minTime

Minimum time for the task to run.

msecs

run().time

Total time spent running the task manager

msecs


D.6 Java Object Cache JOC Metrics

Table D-31 shows the top level Java Object Cache metrics.

The metric table type is joc.


Note:

The JOC metrics are only visible when the DMS element of the javacache.xml configuration file is set to the value true.

Table D-31 JOC Java Object Cache Metrics

Metric Description Unit

disk_Size.value

Total number of bytes of disk consumed by objects in the cache

bytes

memory_object_count.value

Total number of objects in the cache

bytes

memory_size.value

Total number of bytes of memory consumed by objects in the cache

bytes

response_q_size.value

Response Queue size

ops

task_count.value

Total number of async tasks

ops

time_q_size.value

Time Queue size

ops

worker_thread_count.value

Total number of worker threads

threads


Table D-32 shows the java object cache region metrics.

The metric table type is java_cache_region.

Table D-32 Java Cache Region Metrics

Metric Description Unit

disk_Count.value

Total number of objects in the region on disk


disk_Size.value

Total number of bytes of disk consumed by objects in the region


disk_average_load_time.value

The average load time for objects in the region


memory_average_load_time.value

The average load time for objects in the region


memory_object_access_count.value

Total number of access of objects in the region


memory_object_count.value

Total number of objects in the region


memory_size.value

Total number of bytes of memory consumed by objects in the region