Skip Headers
Oracle® Application Server Performance Guide
10g Release 2 (10.1.2)
Part No. B14001-01
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
Next
Next
 

A Performance Metrics

This appendix lists built-in metrics that can help you analyze Oracle Application Server performance. The metrics fall into several distinct areas, such as Oracle HTTP Server, Oracle Application Server Containers for J2EE (OC4J), and Portal. Each table in this chapter lists the metrics that are included in a corresponding Dynamic Monitoring Services metric table.

This appendix contains:

Oracle HTTP Server Metrics

The tables, Table A-1, Table A-4, Table A-5 describe the Oracle HTTP Server metrics.

The metric table name is ohs_server.

Table A-1 HTTP Server Metrics (ohs_server)

Metric Description Unit
connection.active Number of connections currently open threads
connection.avg Average time spent servicing HTTP connections usecs
connection.maxTime Maximum time spent servicing any HTTP connection usecs
connection.minTime Minimum time spent servicing any HTTP connection usecs
connection.time Total time spent servicing HTTP connections usecs
handle.active Child servers currently in the handle processing phase threads
handle.avg Average time spent in module handler usecs
handle.completed Number of times the handle processing phase has completed ops
handle.maxTime Maximum time spent in module handler usecs
handle.minTime Minimum time spent in module handler usecs
handle.time Total time spent in module handler usecs
request.active Child servers currently in the request processing phase threads
request.avg Average time required to service an HTTP request usecs
request.completed Number of HTTP request completed ops
request.maxTime Maximum time required to service an HTTP request usecs
request.minTime Minimum time required to service an HTTP request usecs
request.time Total time required to service HTTP requests usecs

Oracle HTTP Server Child Server Metrics

Table A-2 describes the child server metrics.

The metric table name is ohs_child.

Table A-2 Oracle HTTP Server Child Server Metrics (ohs_child)

Metric Description Unit
pid.value Process ID
slot.value Slot
status.value

time.value

url.value


Oracle HTTP Server Responses Metrics

The Oracle HTTP Server responses metrics are included in the metric table named ohs_responses. This metric table includes one metric containing the count, number of times the response was generated, for each HTTP response type.

For example, Success_OK_200.count: 28 ops.

Oracle HTTP Server Virtual Host Metrics

The Oracle HTTP Server ohs_vhostSet and ohs_virtualHost metric tables contain information on virtual host names and locations, and request and response metrics.

Table A-3 Oracle HTTP Server Virtual Host Metrics (ohs_virtualHost)

Metric Description Unit
request.active Active requests threads
request.avg Average time for request processing usecs
request.completed Number of completed requests ops
request.maxTime Maximum time to complete a request usecs
request.minTime Minimum time to complete a request usecs
request.time
usecs
responseSize.value
bytes
vhostType.value


Aggregate Module Metrics

Table A-4 HTTP Server Apache/Modules Metrics

Metric Description Unit
numMods.value Number of loaded modules

HTTP Server Module Metrics

There is one set of metrics for each module loaded into the server.

The metric table name is ohs_module.

Table A-5 HTTP Server Apache/Modules/mod_*.c Metrics (ohs_module)

Metric Description Unit
decline.count Number of requests declined ops
handle.active Number of requests currently being handled by this module requests
handle.avg Average time required for this module usecs
handle.completed Number of requests handled by this module ops
handle.maxTime Maximum time required for this module usecs
handle.minTime Minimum time required for this module usecs
handle.time Total time required for this module usecs

Oracle HTTP Server mod_oc4j Metrics

Table A-6 shows the mod_oc4j Failure Causes metrics. This table represents the categorization of errors that return an INTERNAL_SERVER_ERROR to the client.

The metric table name is mod_oc4j_request_failure_causes.

Table A-6 HTTP Server mod_oc4j Request Failure Causes Metrics

Metric Description Unit
IncorrectReqInit.count The total number of times an internal error occurred. There could be a number of reasons, including: mod_oc4j not finding a connection endpoint, configuration errors, and others. ops
Oc4jUnavailable.count The total number of times that an oc4j JVM could not be found to service requests. ops
UnableToHandleReq.count The total number of times mod_oc4j declined to handle a request. ops

Table A-7 shows the mod_oc4j Mount Point metrics. There is one mount point metric table for each mount point specified in mod_oc4j.conf. This table includes a set of metrics for each mount point specified, with each set grouped under the mntPtid. Where id is an integer that is automatically generated during module initialization.

The metric table name is mod_oc4J_mount_pt_metrics.

Table A-7 HTTP Server mod_oc4j Mount Point Metrics

Metric Description Unit
Destination.value Specifies the destination name. For example, with:

Oc4jMount /j2ee/* home

The Destination.value would be home

String
ErrReq.count Specifies the total number of requests, both session and non-session, that mod_oc4j failed to route to an OC4J. ops
ErrReqNonSess.count Specifies the total number of non session requests that mod_oc4j failed to route to an oc4j process. ops
ErrReqSess.count Specifies the total number of session requests that mod_oc4j failed to route to an OC4J process. ops
Failover.count Specifies the total number of failovers for both nonsession and session requests. ops
Name.value Specifies the echo of the value specified as the path for Oc4jMount directive in mod_oc4j.conf. DMS changes certain characters, including: '/' and '*' to '_' . To preserve the actual path names specified, an internal table containing a mapping between mntPtid and the actual path name is created during mod_oc4j initialization. For example, with: Oc4jMount /j2ee/* home Name.value would be /j2ee/* String
NonSessFailover.count Specifies the total number of failovers for nonsession requests. For example,Assume that this mount point was serviced by an OC4J Island with three JVM's (JVM1, JVM2 and JVM3). A new non session request is routed to JVM1. JVM1 fails to service the request, and the request is failed over to JVM2. JVM2 fails to service the request, and so the request is failed over to JVM3. At this point the NonSessFailover.count is incremented by 2. ops
SessFailover.count Specifies the total number of failovers for session requests. For example,Let us assume that this mount point was serviced by an OC4J Island with three JVM's (JVM1, JVM2 and JVM3). A session request is routed to JVM1. JVM1 fails to service the request. So, the request is failed over to JVM2. At this point the SessFailover.count is incremented by 1. JVM2 fails to service the request, and so the request is failed over to JVM3. At this point the SessFailover.count is incremented by 2. ops
SucReq.count Specifies the total number of requests, both session and non-session, that mod_oc4j successfully routed to an OC4J instance. ops
SucReqNonSess.count Specifies the total number of non session requests that mod_oc4j successfully routed to an OC4J process. ops
SucReqSess.count Specifies the total number of session requests that mod_oc4j successfully routed to an OC4J process. ops

Table A-8 shows the mod_oc4j Destination Metrics. This table includes a set of metrics for a specific destination. Each destination can have multiple mount points. There is one mntPts subtree for each mount point specified in mod_oc4j.conf.

The metric table name is mod_oc4J_destination_metrics.

Table A-8 HTTP Server mod_oc4j Destination Metrics

Metric Description Unit
ErrReq.count Specifies the total number of requests, both session and non-session, that mod_oc4j failed to route to an OC4J. ops
ErrReqNonSess.count Specifies the total number of non session requests that mod_oc4j failed to route to an OC4J process. ops
ErrReqSess.count Specifies the total number of session requests that mod_oc4j failed to route to an OC4J process. ops
Failover.count Specifies the total number of failovers for both nonsession and session requests. ops
JVMCnt.value Specifies the total number of routable OC4J JVMs that belong to this destination. Number of JVMs
Name.value Specifies the echo of the value specified as destination for Oc4jMount directive in mod_oc4j.conf, a single destination may appear several times in mod_oc4j.conf.Example: Oc4jMount /j2ee/* home,oc4jinstance2

Name.value would be home,oc4jinstance2

String
NonSessFailover.count Specifies the total number of failovers for non session requests. ops
SessFailover.count Specifies the total number of failovers. ops
SucReq.count Specifies the total number of requests, both session and non-session, that mod_oc4j successfully routed to an OC4J. ops
SucReqNonSess.count Specifies the total number of non session requests that mod_oc4j successfully routed to an OC4J process. ops
SucReqSess.count Specifies the total number of session requests that mod_oc4j successfully routed to an OC4J process. ops

JVM Metrics

There is one set of metrics for each Java process (OC4J) currently running in the site. The metric table name is JVM.

Table A-9 JVM Metrics (JVM)

Metric Description Unit
activeThreadGroups.value The number of active thread groups in the JVM integer
activeThreadGroups.minValue The minimum number of active thread groups in the JVM integer
activeThreadGroups.maxValue The maximum number of active thread groups in the JVM integer
activeThreads.value The number of active threads in the JVM threads
activeThreads.minValue The minimum number of active threads in the JVM threads
activeThreads.maxValue The maximum number of active threads in the JVM threads
upTime.value Up time for the JVM msecs
freeMemory.value The amount of heap space free in the JVM KB
freeMemory.minValue The minimum amount of heap space free in the JVM KB
freeMemory.maxValue The maximum amount of heap space free in the JVM KB
totalMemory.value The total amount of heap space in the JVM KB
totalMemory.minValue The minimum amount of total heap space in the JVM KB
totalMemory.maxValue The maximum amount of total heap space in the JVM KB

JVM Properties Metrics

Oracle Application Server creates a metric to track the value of each Java Property available through a call to System.getProperties() on any Java process. For each Java Property, a metric is created under the /JVM/Properties noun.

For example, each process should have a metric that contains the value of the java.version system property named, /JVM/Properties/java_version.value. The system converts property name components with a period, '.' to '_'.

If, during the life of a process, a property is deleted from the JVM system properties, the corresponding metric is deleted. If the value changes, this is reflected in the metric value the next time it is accessed. If a new property is added to the system properties, a new metric is created.


Note:

The JVM Properties metrics are only available for viewing using the Spies text link in AggreSpy, or using the dmstool command to display metrics.

Table A-10 JVM/Properties - JVM System Properties Metrics

Metric Description Unit
A metric is created for each system property. Each property name has any of the "." characters in the name replaced with "_". Contains the value of the Java system property. String

JDBC Metrics

The following tables list the Oracle Application Server JDBC metrics.

JDBC Driver Metrics

There is one set of JDBC Driver metrics per JVM.

The metric table name is JDBC_Driver.

Table A-11 /JDBC/Driver - JDBC_Driver Metrics

Metric Description Unit
ConnectionCloseCount.count Total number of connections that have been closed. ops
ConnectionCreate.active Current number of threads creating connections. ops
ConnectionCreate.avg Average time spent creating connections. msecs
ConnectionCreate.completed Number of times this PhaseEvent has started and ended. ops
ConnectionCreate.maxTime Maximum time spent creating connections. msecs
ConnectionCreate.minTime Minimum time spent creating connections. msecs
ConnectionCreate.time Time spent creating connections. msecs
ConnectionOpenCount.count Total number of connections that have been opened. ops

JDBC Data Source Metrics

The metric table name is JDBC_DataSource.

There is one set of data source metrics per data source.

Note: the JDBC data source metrics are only available for non-emulated data sources.

Table A-12 /JDBC/data-source-name - JDBC_Data Source Metrics

Metric Description Unit
CacheFreeSize.value Number of free slots in the connection cache.
CacheGetConnection.avg Average time spent getting a connection from the cache. msecs
CacheGetConnection.completed Number of times this PhaseEvent has started and ended. ops
CacheGetConnection.maxTime Maximum time spent getting a connection from the cache. msecs
CacheGetConnection.minTime Minimum time spent getting a connection from the cache. msecs
CacheGetConnection.time Time spent getting a connection from the cache or not. msecs
CacheHit.count Number of times a request for a connection has been satisfied from the cache.
CacheMiss.count Number of times a request for a connection failed to be satisfied from the cache.
CacheSize.value Total size of the connection cache.

JDBC Driver Specific Connection Metrics

There is one set of JDBC Connection metrics per connection.

The metric table name is JDBC_Connection.

Table A-13 /JDBC/Driver/CONNECTION - JDBC Driver Connection Metrics

Metric Description Unit
CreateNewStatement.avg Average time spent creating a new statement. msecs
CreateNewStatement.completed Number of times a request for a statement failed to be satisfied from the cache. ops
CreateNewStatement.maxTime Maximum time spent creating a new statement. msecs
CreateNewStatement.minTime Minimum time spent creating a new statement. msecs
CreateNewStatement.time Time spent creating a new statement (this does not include the time required to parse the statement. For information on the metric that includes the parse time see Execute.Time in Table A-15). msecs
CreateStatement.avg Average time spent getting a statement from the statement cache. msecs
CreateStatement.completed Number of times a request for a statement was satisfied from the cache. ops
CreateStatement.maxTime Maximum time spent getting a statement from the statement cache. msecs
CreateStatement.minTime Minimum time spent getting a statement from the statement cache. msecs
CreateStatement.time Time spent getting a statement from the statement cache. msecs
LogicalConnection.value If this is a physical connection, then this refers to its logical connection, if any.

JDBC Data Source Specific Connection Metrics

There is one set of JDBC data source specific connection metrics per data source per connection. The metric table name is JDBC_Connection.

Table A-14 /JDBC/data-source-name/CONNECTION - JDBC Datasource Connection Metrics

Metric Description Unit
CreateNewStatement.avg Average time spent creating a new statement. msecs
CreateNewStatement.completed Number of times a request for a statement failed to be satisfied from the cache. ops
CreateNewStatement.maxTime Maximum time spent creating a new statement. msecs
CreateNewStatement.minTime Minimum time spent creating a new statement. msecs
CreateNewStatement.time Time spent creating a new statement (this time does not include the time required to parse the statement. For information on the metric that includes the parse time see Execute.Time in Table A-16). msecs
CreateStatement.avg Average time spent getting a statement from the statement cache. msecs
CreateStatement.completed Number of times a request for a statement was satisfied from the cache. ops
CreateStatement.maxTime Maximum time spent getting a statement from the statement cache. msecs
CreateStatement.minTime Minimum time spent getting a statement from the statement cache. msecs
CreateStatement.time Time spent getting a statement from the statement cache. msecs
LogicalConnection.value If this is a physical connection, then this refers to its logical connection, if any.

JDBC Driver Statement Metrics

There is a set of statement metrics per connection per statement. The metric table name is JDBC_Statement.


Note:

The JDBC statement metrics are only available for JDBC connections that have enabled statement caching, and set the property oracle.jdbc.DMSStatementCachingMetrics to the value true. When JDBC statement caching is disabled, you can make the JDBC statement metrics available by setting the property oracle.jdbc.DMSStatementMetrics to true. To improve performance and to avoid collecting expensive metrics, by default these properties are both set to false.

Table A-15 /JDBC/Driver/CONNECTION/STATEMENT JDBC Statement Metrics

Metric Description Unit
Execute.time The time this statement has spent executing the SQL including the first fetch and the time required to parse the statement. msecs
Fetch.time The time this statement has spent in other fetches. msecs
SQLText.value The SQL being executed.

JDBC Data Source Statement Metrics

The metric table name is JDBC_Statement. There is a set of statement metrics per data source per connection per statement.

Note: the JDBC data source metrics are only available for non-emulated data sources.


Note:

The JDBC statement metrics are only available for JDBC connections that have enabled statement caching and set the property oracle.jdbc.DMSStatementCachingMetrics to the value true. When JDBC statement caching is disabled, you can make the JDBC statement metrics available by setting the property oracle.jdbc.DMSStatementMetrics to true. To improve performance and to avoid collecting expensive metrics, by default these properties are set to false.

Table A-16 /JDBC/data-source-name/CONNECTION/STATEMENT JDBC Statement Metrics

Metric Description Unit
Execute.time The time this statement has spent executing the SQL including the first fetch and the time required to parse the statement. msecs
Fetch.time The time this statement has spent in other fetches. msecs
SQLText.value The SQL being executed.

OC4J Metrics

This section lists the OC4J J2EE application related metrics.

This section covers the following metrics:

Web Module Metrics

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

The metric table name is oc4j_web_module.

Table A-17 OC4J/application/WEBs Metrics

Metric Description Unit
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

Web Context Metrics

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

The metric table name is oc4j_context.

Table A-18 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 ops
sessionActivation.maxTime Maximum time a session was active msecs
sessionActivation.avg Average session lifetime msecs
service.time Total time spent servicing requests msecs
service.completed Total number of requests serviced ops
service.minTime Minimum time spent servicing requests msecs
service.maxTime Maximum time spent servicing requests ops
service.avg Average time spent in servicing the servlet msecs
service.active Current number of requests active msecs

OC4J Servlet Metrics

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

The metric table name is oc4j_servlet.

Table A-19 OC4J/application/WEBs/context /SERVLETS/servlet Metrics

Metric Description Unit
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

OC4J JSP Metrics

JSP Runtime Metrics

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

The metric table name is oc4j_jspExec.

Table A-20 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

JSP Metrics

There is one set of metrics for each JSP in each Web module.

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

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

For example:

dmstool -table "oc4j_jsp(threadsafe=true)"

Table A-21 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

OC4J EJB Metrics

OC4J EJB Session Bean Metrics

The oc4j_ejb_session_bean metric table includes information on a session bean.

Table A-22 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

EJB 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 name is oc4j_ejb_entity_bean.

Table A-23 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

EJB Method Metrics

There is one set of metrics for each method within each type of EJB bean.

The metric table name 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 Application Server Containers for J2EE Enterprise JavaBeans Developer's Guide for information on automatically generated wrappers.

Table A-24 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

OC4J OPMN Info Metrics

Table A-25 shows the OC4J OPMN information metrics. The metric table type is oc4J_opmn.

Table A-25 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

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.


See Also:

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

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 A-26 shows a summary of the organization of the OC4J JMS metric tables.

Table A-26 OC4J JMS Metric Tables

JMS Metric Table Type Parent Table Type Number of Instances Description
JMSStats none 1 Statistics for the OC4J JMS Server
JMSRequestHandlerStats JMSStats 1 per remote JMS connection Statistics for the request handler thread servicing a remote JMS connection.
JMSConnectionStats JMSStats 1 per JMS connection Statistics for the JMS connections active in this server
JMSSessionStats JMSConnectionStats 1 per JMS session Statistics for the JMS sessions active in this server
JMSMessageProducerStats JMSSessionStats 1 per JMS message producer Statistics for the JMS producers active in 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
JMSDurableSubscriberStats JMSStats 1 per JMS durable subscriber Statistics for each JMS durable subscription known to this server
JMSDestinationStats JMSStats 1 per permanent JMS destination Statistics for each permanent JMS destination known to the OC4J JMS server
JMSTemporaryDestinationStats JMSStats 1 per temporary JMS destination Statistics for each temporary JMS destination known to 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
JMSPersistenceStats JMSDestinationStats 1 per server-side persistent destination Statistics for operations on the persistence file for each persistent destination

JMS Stats Metric Table

Table A-27 shows the JMS Stats metrics.

The metric table type is JMSStats.

Table A-27 JMSStats Metric Table

Metric Description Update Unit
address.value The hostname(s) from which the JMS server accepts remote connections ctor string
connections.count The number of JMS connections (local and remote) created by the JMS server normal ops
host.value The explicit hostname on which the OC4J JMS server is running. ctor string
oc4j.jms.debug.value Value of the oc4j.jms.debug OC4J JMS control knob ctor bool
oc4j.jms.forceRecovery.value Value of the oc4j.jms.forceRecovery OC4J JMS control knob ctor bool
oc4j.jms.listenerAttempts. Value of the oc4j.jms.listenerAttempts OC4J JMS control knob ctor int
oc4j.jms.maxOpenFiles.value Value of the oc4j.jms.maxOpenFiles OC4J JMS control knob ctor int
oc4j.jms.messagePoll.value Value of the oc4j.jms.messagePoll OC4J JMS control knob ctor msecs
oc4j.jms.noDms.value Value of the oc4j.jms.noDms OC4J JMS control knob ctor bool
oc4j.jms.saveAllExpired.val Value of the oc4j.jms.saveAllExpired OC4J JMS control knob ctor bool
oc4j.jms.serverPoll.value Value of the oc4j.jms.serverPoll OC4J JMS control knob ctor msecs
oc4j.jms.socketBufsize.val Value of the oc4j.jms.socketBufsize OC4J JMS control knob ctor int
oc4j.jms.usePersistence.val Value of the oc4j.jms.usePersistence OC4J JMS control knob ctor bool
oc4j.jms.useUUID.value Value of the oc4j.jms.useUUID OC4J JMS control knob ctor bool
port.value The TCP/IP port on which the JMS server listens for incoming connections ctor int
requestHandlers.count The number of request handlers created by the JMS server normal int
startTime.value System.currentTimeMillis() when the OC4J JMS server was started ctor msecs
taskManagerInterval.value The scheduling interval of the OC4J task manager (and the scheduling interval for the OC4J JMS expiration task) ctor msecs
method-name An interval timer metric (PhaseEvent Sensor) for every major method call in the OC4J JMS server normal

JMS Request Handler Stats

Table A-28 shows the JMS Request Handler Stats.

The metric table name is JMSRequestHandlerStats.

Table A-28 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

JMS Connection Stats

Table A-29 shows the JMS Connection Stats.

The metric table name is JMSConnectionStats.

Table A-29 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

JMS Session Stats

Table A-30 shows the JMS Session Stats.

The metric table name is JMSSessionStats.

Table A-30 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

JMS Message Producer Stats

Table A-31 shows the JMS Producer Stats.

The metric table name is JMSProducerStats.

Table A-31 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

JMS Message Browser Stats

Table A-32 shows the JMS Browser Stats.

The metric table name is JMSBrowserStats.

Table A-32 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

JMS Message Consumer Stats

Table A-33 shows the JMS Message Consumer Stats.

The metric table name is JMSMessageConsumerStats.

Table A-33 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

JMS Durable Subscription Stats

Table A-34 shows the JMS Durable Subscription Stats.

The metric table name is JMSDurableSubscriptionStats.

Table A-34 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

JMS Destination Stats

Table A-35 shows the JMS Destination Stats metrics

The metric table name is JMSDestinationStats.

Table A-35 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

JMS Temporary Destination Stats

Table A-36 shows the JMS Temporary Destination Stats.

The metric table name is JMSTempoaryDestinationStats.

Table A-36 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

JMS Store Stats

Table A-37 shows the JMS StoreStats metric table.

The metric table name is JMSStoreStats.

Table A-37 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.

JMS Persistence Stats

Table A-38 shows the JMS Persistence Stats.

The metric table name is JMSPersistenceStats.

Table A-38 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

OC4J Task Manager Metrics

The metric table type is oc4j_task.

Table A-39 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

mod_plsql Metrics

This section describes the Oracle Application Server mod_plsql metrics.

Figure A-1, "mod_plsql Metric Tree" shows the structure of the mod_plsql metrics. The tables in this section describe the relevant metrics.

Figure A-1 mod_plsql Metric Tree

Description of asper009.gif follows
Description of the illustration asper009.gif

The /modplsql/HTTPResponseCodes Metrics lists the response codes returned by mod_plsql.

The metric table name is modplsql_HTTPResponseCodes. This metric table includes one metric containing the count, number of times the response was generated, for each HTTP response type.

 [type=modplsql_HTTPResponseCodes]

For example, the http404.count metric holds a count of the "HTTP 404: Not found" response codes.

Table A-40 lists the set of metrics for the mod_plsql session cache.

The metric table name is modplsql_Cache.

Table A-40 mod_plsql/SessionCache Metrics

Metric Description Unit
cacheStatus.value Status of the cache. This can be either enabled or disabled. status
newMisses.count Number of session cache misses (new) ops
staleMisses.count Number of session cache misses (stale) ops
hits.count Number of session cache hits ops
requests.count Number of requests to the session cache ops

Table A-41 lists the set of metrics for the mod_plsql content cache.

The metric table name is modplsql_ContentCache.

Table A-41 mod_plsql/ContentCache Metrics

Metric Description Unit
cacheStatus.value Status of the cache, either enabled or disabled.
newMisses.count Number of content cache misses (new) ops
staleMisses.count Number of content cache misses (stale) ops
hits.count Number of content cache hits ops
requests.count Number of requests to the content cache ops

The SQLErrorGroups metrics show the predefined groupings of SQL errors. For each group, the metrics in Table A-42 are recorded.

The metric table name is modplsql_SQLErrorGroup:

/modplsql/SQLErrorGroups/group [type=modplsql_SQLErrorGroup]

The group is based on the groupings in the Oracle Database Error Messages guide. For example, the metric name Ora24280Ora29249 represents the grouping Ora-24280 to Ora-29249. Each SQL error that occurs as a result of executing a request is put into the appropriate group based on its error code. If you are getting a high number of the same errors, you should investigate what is causing the problem, using the Oracle Database Error Messages guide for further details on the error message.

Table A-42 mod_plsql/SQLErrorGroups Metrics

Metric Description Unit
lastErrorDate.value Date of the last request to cause the SQL error date
lastErrorRequest.value Last request to cause the SQL error url
lastErrorText.value SQL error text of the last error error
error.count Number of errors that have occurred within the group ops

The LastNSQLErrors statistics show the last 10 SQL errors that have occurred while executing requests. These are updated in a round robin fashion. For each error, the metrics in Table A-43 are recorded.

The metric table name is modplsql_LastNSQLError:

/modplsql/LastNSQLErrors/<SQL Error Slot> [type=modplsql_LastNSQLError]

If you are getting a large number of the same errors, you should investigate what is causing the problem. Refer to the Oracle Database Error Messages guide for further details of the error represented by the errorText.value metric.

Table A-43 mod_plsql/LastNSQLErrors Metrics

Metric Description Unit
errorDate.value Date the request caused the SQL error date
errorRequest.value Request causing the SQL error url
errorText.value SQL error text error

Table A-44 lists the set of metrics for the Non-SSO connection pool.

The metric table name is modplsql_DatabaseConnectionPool:

/modplsql/NonSSOConnectionPool [type=modplsql_DatabaseConnectionPool]

Table A-44 mod_plsql/NonSSOConnectionPool Metrics

Metric Description Unit
connFetch.maxTime Maximum time to fetch a connection from the pool usecs
connFetch.minTime Minimum time to fetch a connection from the pool usecs
connFetch.avg Average time to fetch a connection from the pool usecs
connFetch.active Child servers currently in the pool fetch phase threads
connFetch.time Total time spent fetching connections from the pool usecs
connFetch.completed Number of times a connection has been requested from the pool ops
newMisses.count Number of connection pool misses (new) ops
staleMisses.count Number of connection pool misses (stale) ops
hits.count Number of connection pool hits ops

Table A-45 lists the set of metrics for the request owner connection pool.

The metric table name is modplsql_DatabaseConnectionPool:

/modplsql/RequestOwnerConnectionPool [type=modplsql_DatabaseConnectionPool]

Table A-45 mod_plsql/RequestOwnerConnectionPool Metrics

Metric Description Unit
connFetch.maxTime Maximum time to fetch a connection from the pool usecs
connFetch.minTime Minimum time to fetch a connection from the pool usecs
connFetch.avg Average time to fetch a connection from the pool usecs
connFetch.active Child servers currently in the pool fetch phase threads
connFetch.time Total time spent fetching connections from the pool usecs
connFetch.completed Number of times a connection has been requested from the pool ops
newMisses.count Number of connection pool misses (new) ops
staleMisses.count Number of connection pool misses (stale) ops
hits.count Number of connection pool hits ops

Table A-46 lists the set of metrics for the super user connection pool.

The metric table name is modplsql_DatabaseConnectionPool:

/modplsql/SuperUserConnectionPool [type=modplsql_DatabaseConnectionPool]

Table A-46 mod_plsql/SuperUserConnectionPool Metrics

Metric Description Unit
connFetch.maxTime Maximum time to fetch a connection from the pool usecs
connFetch.minTime Minimum time to fetch a connection from the pool usecs
connFetch.avg Average time to fetch a connection from the pool usecs
connFetch.active Threads currently in the pool fetch phase threads
connFetch.time Total time spent fetching connections from the pool usecs
connFetch.completed Number of times a connection has been requested from the pool ops
newMisses.count Number of connection pool misses (new) ops
staleMisses.count Number of connection pool misses (stale) ops
hits.count Number of connection pool hits ops

Portal Metrics

This section shows the Portal Metrics. Figure A-2, "Parallel Page Engine Metric Tree" shows the structure of the Portal Parallel Page Engine metrics. The tables in this section describe the relevant metrics.

Figure A-2 Parallel Page Engine Metric Tree

Description of asper008.gif follows
Description of the illustration asper008.gif

The set of metrics can be broken down into static and dynamic types. Static metrics are those that are always available and dynamic being those metrics that only appear if a specific event occurs, such as when a specific portlet is requested. All of the PageEngine and ResponseCodes metrics are static, the remaining metrics are dynamic.

Table A-47 lists the set of metrics for the Parallel Page Engine. The metric table type is modplsql_PageEngine. This set represents the general performance of the Parallel Page Engine. If you intend to use the cache you should ensure that the cacheEnabled.value metric is set 1. To turn the cache on, refer to the mod_plsql cache and Parallel Page Engine configuration documentation.

Table A-47 Witness/PageEngine Metrics

Metric Description Unit
pageRequests.value Total number of requests for Portal pages. count
cacheEnabled.value The PPE makes use of the mid tier cache as controlled by mod_plsql, and is accessed using a JNI layer. This flag indicates whether this JNI cache as accessed from the PPE is enabled or not. This flag will be zero if the cache is either configured to be off or there was a problem loading the JNI layer DLL. status
cachePageHits.value Number of requests for cacheable fully assembled pages that have resulted in a cache hit. count
cachePageRequests.value Number of requests for cacheable fully assembled pages. count
pageMetadataWaitTimeAvg.value Average time spent in the PPE internal request queue waiting for page metadata, for all requests. To obtain the average you should divide the value metric by the count metric. The value being the accumulative time for all requests and the count being the number of requests made. msecs
pageMetadataWaitTimeAvg.count Number of requests made for page metadata. This metric should be used in conjunction with pageMetadataWaitTimeAvg.value to calculate the average time spent in the PPE internal request queue. ops
pageMetadataWaitTime.value Time the last page metadata request spent in the PPE internal request queue. msecs
pageMetadataWaitTime.count Number of requests for page metadata. ops
pageMetadataWaitTime.minValue Minimum time spent in the PPE internal request queue waiting for page metadata to be requested. msecs
pageMetadataWaitTime.maxValue Maximum time spent in the PPE internal request queue waiting for page metadata to be requested. msecs
pageElapsedTimeAvg.value Average time to generate pages, including fetching the page metadata. To obtain the average you should divide the value metric by the count metric. The value being the accumulative time for all requests and the count being the number of requests made. msecs
pageElapsedTimeAvg.count Number of pages that had to be generated (that is, not cached). This metric should be used in conjunction with pageElapsedTimeAvg.value to calculate the average time to generate pages, including fetching the page metadata. ops
pageElapsedTime.value Time to generate the last page requested, including fetching the page metadata. msecs
pageElapsedTime.count Number of pages that had to be generated (that is, not cached). ops
pageElapsedTime.minValue Minimum time to generate a page, including fetching the page metadata. msecs
pageElapsedTime.maxValue Maximum time to generate a page, including fetching the page metadata. msecs
pageMetadataFetchTimeAvg.value Average time to fetch page metadata, for all requests. To obtain the average you should divide the value metric by the count metric. The value being the accumulative time for all requests and the count being the number of requests made. msecs
pageMetadataFetchTimeAvg.count Number of requests for page metadata. This metric should be used in conjunction with pageMetadataFetchTimeAvg.value to calculate the average time to fetch page metadata. ops
pageMetadataFetchTime.value Time to fetch page metadata, for the last request. msecs
pageMetadataFetchTime.count Number of requests for page metadata. ops
pageMetadataFetchTime.minValue Minimum time to fetch page metadata. msecs
pageMetadataFetchTime.maxValue Maximum time to fetch page metadata. msecs
queueTimeout.value Number of requests for Portal data that have timed out in the PPE internal request queue. msecs
queueStayAvg.value Average time all internal PPE requests spent in the PPE internal request queue. To obtain the average you should divide the value metric by the count metric. The value being the accumulative time for all requests and the count being the number of requests made. msecs
queueStayAvg.count Number of requests added to the internal PPE request queue. This metric should be used in conjunction with queueStayAvg.value to calculate the average time requests spent in the internal PPE request queue. ops
queueStay.value Time the last internal PPE request spent in the PPE internal request queue. msecs
queueStay.count Number of requests added to the internal PPE request queue. ops
queueStay.minValue Minimum time a request spent in the internal PPE request queue. msecs
queueStay.maxValue Maximum time a request spent in the internal PPE request queue. msecs
queueLengthAvg.value Average length of the PPE internal request queue. To obtain the average you should divide the value metric by the count metric. msecs
queueLengthAvg.count Number of requests added to the PPE internal request queue. This metric should be used in conjunction with queueLengthAvg.value to calculate the average length of the PPE internal request queue. ops
queueLength.value Current length of the PPE internal request queue. msecs
queueLength.count Number of requests added to the PPE internal request queue. ops
queueLength.minValue Minimum number of requests in the PPE internal request queue. msecs
queueLength.maxValue Maximum number of requests in the PPE internal request queue. msecs

The set of metrics for the response codes returned by internal requests, such as portlets, page, or metadata, made by the Parallel Page Engine are in the metric table is modplsql_PageEngine_ResponseCodes.

This table contains a count for each HTTP response type.

For example, http100.count, contains a count of the HTTP:100 Continue response codes.

In addition, the metric httpUnresolvedRedirect.value contains a count of requests that were not resolved after returning a redirect HTTP response code and httpTimeout.value contains a count of requests that timed out in the PPE internal request queue.

Table A-48 lists the set of metrics for the internal Parallel Page Engine page metadata requests. The metric table name is dynamic in that it includes the URL used to request the page metadata. If you are encountering a large number of failed requests, check the HTTPD error_log for details of why the requests are failing. The mod_plsql metrics may also provide further details.

Table A-48 Witness/page/url Metrics

Metric Description Unit
lastResponseDate.value Last time the response was made Date
lastResponseCode.value Last response code returned for this request HTTP response code
cacheHits.value Number of cache hits for this request ops
httpXXX.value Count of specific HTTP response codes for this request. ops
executeTime.maxTime Maximum time to make the request usecs
executeTime.minTime Minimum time to make the request usecs
executeTime.avg Average time to make the request usecs
executeTime.active Threads currently being processed threads
executeTime.time Total time spent making requests usecs
connFetch.completed Number of requests made ops

Table A-49 lists the set of metrics for the internal Parallel Page Engine login metadata requests. The metric table name is dynamic in that it includes the URL used to request the login metadata. If you are encountering a large number of failed requests, check the HTTPD error_log for details of why the requests are failing. The mod_plsql metrics may also provide further details.

Table A-49 Witness/login/url Metrics

Metric Description Unit
lastResponseDate.value Last time the request was made Date
lastResponseCode.value Last response code returned for this request HTTP response code
cacheHits.value Number of cache hits for this request ops
httpXXX.value Count of specific HTTP response codes for this request. ops
executeTime.maxTime Maximum time to make the request usecs
executeTime.minTime Minimum time to make the request usecs
executeTime.avg Average time to make the request usecs
executeTime.active Threads currently in the make request phase threads
executeTime.time Total time spent making requests usecs
connFetch.completed Number of requests made ops

The following table lists the set of metrics for the internal Parallel Page Engine Portal version requests. The metric table name is dynamic in that it includes the URL used to request the version of the Portal repository. If you are encountering a large number of failed requests, check the HTTPD error_log for details of why the requests are failing. The mod_plsql metrics may also provide further details.

Table A-50 Witness/version/url Metrics

Metric Description Unit
lastResponseDate.value Last time the request was made Date
lastResponseCode.value Last response code returned for this request HTTP response code
cacheHits.value Number of cache hits for this request ops
httpXXX.value Count of specific HTTP response codes for this request. ops
executeTime.maxTime Maximum time to make the request usecs
executeTime.minTime Minimum time to make the request usecs
executeTime.avg Average time to make the request usecs
executeTime.active Threads currently in the make request phase threads
executeTime.time Total time spent making requests usecs
connFetch.completed Number of requests made ops

Table A-51 lists the set of metrics for the internal Parallel Page Engine Portal XSL requests. The metric table name is dynamic in that it includes the URL used to request the XSL document. If you are encountering a large number of failed requests, check the HTTPD error_log for details of why the requests are failing. The mod_plsql metrics may also provide further details.

Table A-51 Witness/XSL/url Metrics

Metric Description Unit
lastResponseDate.value Last time the request was made Date
lastResponseCode.value Last response code returned for this request HTTP response code
cacheHits.value Number of cache hits for this request ops
httpXXX.value Count of specific HTTP response codes for this request. ops
executeTime.maxTime Maximum time to make the request usecs
executeTime.minTime Minimum time to make the request usecs
executeTime.avg Average time to make the request usecs
executeTime.active Threads currently in the make request phase threads
executeTime.time Total time spent making requests usecs
connFetch.completed Number of requests made ops

Table A-52 lists the set of metrics for the internal Parallel Page Engine PL/SQL provider requests, holding a metric summary of all the requested portlets owned by a specific provider. The metric table name is dynamic in that it includes the provider name. dad-provider indicates the name of the DAD that the named provider is registered and accessed through. If you are encountering a large number of failed requests, check the HTTPD error_log for details of why the requests are failing. The mod_plsql metrics may also provide further details.

Table A-52 Witness/plsql/dad-provider Metrics

Metric Description Unit
cacheHits.value Number of cache hits for this request ops
offline.value Flag to indicate whether the provider is offline. A value of 1 indicates that the provider is offline and a value of 0 indicates that the provider is online. state
httpXXX.value Count of specific HTTP response codes for this request. ops
executeTime.maxTime Maximum time to make the request usecs
executeTime.minTime Minimum time to make the request usecs
executeTime.avg Average time to make the request usecs
executeTime.active Threads currently in the make request phase threads
executeTime.time Total time spent making requests usecs
connFetch.completed Number of requests made ops

Table A-53 lists the set of metrics for the internal Parallel Page Engine Portal PL/SQL portlet requests. The metric table name is dynamic in that it includes both the provider and portlet names. Table A-52 contains metrics summarizing all of the portlets requested that are owned by a specific PL/SQL provider.

If you are encountering a large number of failed requests, check the HTTPD error_log for details of why the requests are failing. The mod_plsql metrics may also provide further details.

Table A-53 Witness/plsql/dad-provider/portlet Metrics

Metric Description Unit
lastResponseDate.value Last time the request was made Date
lastResponseCode.value Last response code returned for this request HTTP response code
cacheHits.value Number of cache hits for this request ops
httpXXX.value Count of specific HTTP response codes for this request. ops
executeTime.maxTime Maximum time to make the request usecs
executeTime.minTime Minimum time to make the request usecs
executeTime.avg Average time to make the request usecs
executeTime.active Threads currently in the make request phase threads
executeTime.time Total time spent making requests usecs
connFetch.completed Number of requests made ops

Table A-54 lists the set of metrics for the internal Parallel Page Engine Web provider requests, holding a metric summary of all the requested portlets owned by a specific provider. The metric table name is dynamic in that it includes the provider name. If you are encountering a large number of failed requests, check the HTTPD error_log for details of why the requests are failing. The mod_plsql metrics may also provide further details.

Table A-54 Witness/Web/dad-provider Metrics

Metric Description Unit
cacheHits.value Number of cache hits for this request ops
offline.value Flag to indicate whether the provider is offline. A value of 1 indicates that the provider is offline and a value of 0 indicates that the provider is online. state
httpXXX.value Count of specific HTTP response codes for this request. ops
executeTime.maxTime Maximum time to make the request usecs
executeTime.minTime Minimum time to make the request usecs
executeTime.avg Average time to make the request usecs
executeTime.active Threads currently in the make request phase threads
executeTime.time Total time spent making requests usecs
connFetch.completed Number of requests made ops

Table A-55 lists the set of metrics for the internal Parallel Page Engine Portal Web portlet requests. The metric name is dynamic in that it includes both the provider and portlet names. Table A-54 contains metrics summarizing all of the portlets requested that are owned by a specific Web provider.

If you are encountering a large number of failed requests, check the HTTPD error_log for details of why the requests are failing. The mod_plsql metrics may also provide further details. If you are seeing a large number of HTTP redirects (302), consider coding the portlet to avoid the redirect as this helps performance. If you have coded you portlet to be cacheable and the number of cache hits is low, check the mod_plsql cache settings to ensure they are set to the appropriate levels for your system.

Table A-55 Witness/Web/dad-provider/portlet Metrics

Metric Description Unit
lastResponseDate.value Last time the request was made Date
lastResponseCode.value Last response code returned for this request HTTP response code
cacheHits.value Number of cache hits for this request ops
httpXXX.value Count of specific HTTP response codes for this request. ops
executeTime.maxTime Maximum time to make the request usecs
executeTime.minTime Minimum time to make the request usecs
executeTime.avg Average time to make the request usecs
executeTime.active Threads currently in the make request phase threads
executeTime.time Total time spent making requests usecs
connFetch.completed Number of requests made ops

Oracle Process Manager and Notification Server Metrics

This sections lists the Oracle Process Manager and Notification Server (opmn) metrics.

This section includes the following:

OPMN_PM Metric Table

The opmn_pm metric table is the root of the process manager subtree for the OPMN DMS metrics. The metrics in this metric table contain statistics about OPMN requests. An OPMN request is a command that has been issued to OPMN from a client, for example DCM, to perform an operation on one or more OPMN managed processes.

Requests can have one of three possible results:

  • Success – success means OPMN handles the request successfully.

  • Partial Success – partial Success means OPMN only handles part of the request successfully. For example, if a client wants OPMN to start three OC4J processes, and only two are successfully started, the request result is partial success.

  • Failure – failure means the request fails.

Table A-56 shows the metric table type opmn_pm.

Table A-56 OPMN_PM Metrics

Metric Description Unit
jobWorkerQueue.value Specifies the number of jobs in the OPMN worker queue ops
lReq.count Specifies the number of local HTTP requests which OPMN handles ops
procDeath.count Specifies the number of processes which die after the process manager starts them ops
procDeathReplace.count Specifies the number of processes which are restarted after the process manager detects they are dead ops
reqFail.count Specifies the number of HTTP requests which fail ops
reqPartialSucc.count Specifies the number of HTTP requests which partially succeed ops
reqSucc.count Specifies the number of HTTP requests which succeed ops
rReq.count Specifies the number of remote HTTP requests which OPMN handles ops
workerThread.value Specifies the number of worker threads threads

OPMN_HOST_STATISTICS Metric Table

The OPMN host statistics metric table provides information on the host running the OPMN process.

Appendix A shows the metric table type opmn_host_statistics.

Table A-57 OPMN_HOST_STATISTICS Metrics

Metric Description Unit
cpuIdle.value Specifies the number of milliseconds the cpu(s) have been idle since an unspecified time. milliseconds
freePhysicalMem.value Specifies the amount of free physical memory on the host machine. kilobytes
numProcessors.value Specifies the number of processors available on the host machine. integer
timestamp.value Specifies the time that host statistics are taken. The timestamp is the number of milliseconds from an unspecified time. milliseconds from an unspecified time
totalPhysicalMem.value Specifies the total physical memory available on the host machine. kilobytes

OPMN_IAS_INSTANCE Metric Table

The OPMN IAS instance subtree shows the Oracle Application Server instance node name.

Table A-58 shows the metric table type opmn_ias_instance.

Table A-58 OPMN_IAS_INSTANCE Metrics

Metric Description Unit
iasCluster.value Specifies the Oracle Application Server cluster name for the Oracle Application Server instance. String

OPMN_IAS_COMPONENT Metrics

The OPMN IAS component subtree represents an Oracle Application Server component. The OPMN IAS component subtree includes several metric tables containing component information.

Table A-59 shows the metric table type opmn_process_type.

Table A-59 OPMN_PROCESS_TYPE Metrics

Metric Description Unit
moduleId.value Specifies the values of attribute module-IDs, as specified in the process-type tag in the opmn.xml configuration file. String

Table A-60 shows the metric table type opmn_process_set.

Table A-60 OPMN_PROCESS_SET Metrics

Metric Description Unit
numProcConf.value Specifies the number, or maximum number, of processes configured for this process set. String (integer)
reqFail.count Specifies the number of HTTP requests which fail for this process set. ops
reqPartialSucc.count Specifies the number of HTTP requests which partially succeed for this process set. ops
reqSucc.count Specifies the number of HTTP requests which succeed for this process set ops
restartOnDeath.value Specifies whether, when a process dies, OPMN should restart the process. String (boolean)

Table A-61 shows the metric table type opmn_process.

Table A-61 OPMN_PROCESS Metrics

Metric Description Unit
cpuTime.value Shows the amount of CPU time used by the process. CPU msecs
heapSize.value Shows the heap size of the process. Kilobytes
iasCluster.value Shows the Oracle Application Server cluster name for the process String
iasInstance.value Shows the Oracle Application Server instance name for the process String
indexInSet.value Shows the process index in the process set. This value is only valid for OPMN managed processes, for OPMN unmanaged processes, this value has no meaning, and the value is always 0. String (integer)
memoryUsed.value The amount of memory used by the process.

This metric is calculated in an operating system specific manner.

On UNIX, this is the process image memory used value. This is all the memory in use by the process.

On Windows, this is the working set memory used value. This is the same value that is reported by the Task Manager under the mem usage column. The working set is the set of memory pages touched recently by the threads in the process. If free memory in the system is over a certain threshold, pages are left in the working set of a process, even if they are not in use. When free memory falls below a certain threshold, pages are trimmed from the working sets. If needed, pages are soft-faulted back into the working set before they leave main memory.


pid.value The process ID for the process.
privateMemory.value The private memory of the process. Kilobytes
sharedMemory.value The shared memory for the process Kilobytes
startTime.value The start time of the process. msecs
status.value The status of the process. The status can have the following values:
  • NONE – New process slot, no operations have been applied yet (no status).

  • Init – process has been started, opmn is waiting for initialization to complete.

  • Alive – process is fully started.

  • Stop – process stop operation is in progress.

  • Stopped – process has been fully stopped.

  • Bounce – non-terminating process restart is in progress.

  • Restart – process stop operation is in progress, prior to a new start being issued.

  • InitFail – failure before init timeout reached, a stop and start will be attempted in the retry limit has not been reached.

  • BounceFail – non-terminating process restart failed, as stop and start will be attempted if the retry limit has not been reached.

String
type.value The type of the process. See Table A-59 for information on process types.
uid.value The OPMN assigned ID for the process.
upTime.value The uptime for the process. msecs

Table A-62 shows the metric table type opmn_connect.

Table A-62 OPMN_CONNECT Metrics

Metric Description Unit
desc.value Shows the port description, if available String
host.value Shows the host name String (host name)
port.value Shows the port number String (port number)

OPMN ONS Metrics

The Oracle Process Manager and Notification Server ONS subtree contains Oracle Notification System (ONS) information.

Table A-63 shows the metric table type opmn_ons.

Table A-63 OPMN_ONS Metrics

Metric Description Unit
notifProcessed.value The number of notifications processed by ONS. ops
notifProcessQueue.value The number of notifications in the process queue. ops
notifReceived.value The number of notifications received by ONS. ops
notifReceiveQueue.value The number of notifications in the receive queue. ops
workerThread.value The number of worker threads. String (threads)

Table A-64 shows the local_port metrics. The ../ons/local_port subtree shows information about the ONS local port.

The metric table type is opmn_connect

Table A-64 OPMN ONS LOCAL_PORT Metrics

Metric Description Unit
desc.value Port description String
host.value Host name String
port.value Port number String

Table A-65 shows the remote_port metrics. The ../ons/remote_port subtree shows information about the ONS remote port.

The metric table type is opmn_connect

Table A-65 OPMN ONS REMOTE_PORT Metrics

Metric Description Unit
desc.value Port description String
host.value Host name String
port.value Port number String

Table A-66 shows the request_port metrics. The ../ons/request_port subtree shows information about the ONS request port.

The metric table type is opmn_connect

Table A-66 OPMN ONS REQUEST_PORT Metrics

Metric Description Unit
desc.value Port description String
host.value Host name String
port.value Port number String

Discoverer Metrics

Oracle Application Server Discoverer is deployed inside OC4J as a J2EE application. The metrics that apply to a J2EE application, Web Module, Web Context, and Servlet apply to Discoverer.


See Also:

"OC4J Metrics"

The node name subtee includes the value of the attribute ID specified as part of the process-set tag in opmn.xml. This subtree includes all the OPMN managed and unmanaged processes which belong to this process set.

DMS Internal Metrics

Table A-67 DMS-Internal Clock Metrics

Metric Description Unit
logicalTime.value The current time as measured with the DMS clock. ticks
measuredFrequency.value Number of clock ticks per second - measured. ticks
measuredResolution.value Time between ticks as measured with this clock.
name.value

overheadPerCall.value The average duration of a call to get the time with this clock.
reportedFrequency.value The number of ticks per second the clock time is reported in. ticks
requestedUnits.value The string description of the units that times are reported in.

Table A-68 DMS-Internal Log Metrics

Metric Description Unit
initLogging.count
ops
messagesLogged.count
ops
status.value


Table A-69 DMS-Internal Measurement Metrics

Metric Description Unit
createNoun.count
ops
createSensor.count
ops
destroyNoun.count
ops
destroySensor.count
ops
lastTreeNodeID.value

sampleMetric.count
ops
sensorWeight.value

treeNodes.maxValue

treeNodes.value


Table A-70 DMS-Internal Collector Metrics

Metric Description Unit
logger.count
ops
logger.logged
ops
responseGenerateTime.active
threads
responseGenerateTime.avg

responseGenerateTime.completed

responseGenerateTime.maxActive

responseGenerateTime.maxTime

responseGenerateTime.minTime

responseGenerateTime.time


Table A-71 DMS-Internal Transtrace Metrics

Metric Description Unit
expireMessages.avg

expireMessages.completed

expireMessages.maxActive

expireMessages.maxTime

expireMessages.minTime

expireMessages.time

messageCount.value

pendingMessageCount.value

s_debugEnabled.value

s_dumpEnabled.value

s_ecidEnabled.value

s_transTraceEnabled.value

storeSize.value