type=page
status=published
title=Administering the Monitoring Service
next=lifecycle-modules.html
prev=logging.html
~~~~~~
Administering the Monitoring Service
====================================

[[GSADG00011]][[ablur]]


[[administering-the-monitoring-service]]
8 Administering the Monitoring Service
--------------------------------------

This chapter explains how to monitor the GlassFish Server Open Source
Edition 5.0 components and services by using the `asadmin` command-line
utility. Instructions for configuring JConsole to monitor GlassFish
Server resources are also provided.

The following topics are addressed here:

* link:#ablus[About Monitoring]
* link:#ablvp[Configuring Monitoring]
* link:#ablvs[Viewing Common Monitoring Data]
* link:#ghmct[Viewing Comprehensive Monitoring Data]
* link:#giwqm[Configuring JConsole to View GlassFish Server Monitoring
Data]

Instructions for monitoring by using the Administration Console are
contained in the Administration Console online help.

For information on using REST interfaces for monitoring, see
link:general-administration.html#gjipx[Using REST Interfaces to
Administer GlassFish Server].

[[ablus]][[GSADG00557]][[about-monitoring]]

About Monitoring
~~~~~~~~~~~~~~~~

Monitoring is the process of reviewing the statistics of a system to
improve performance or solve problems. The monitoring service can track
and display operational statistics, such as the number of requests per
second, the average response time, and the throughput. By monitoring the
state of various components and services deployed in GlassFish Server,
you can identify performance bottlenecks, predict failures, perform root
cause analysis, and ensure that everything is functioning as expected.
Data gathered by monitoring can also be useful in performance tuning and
capacity planning.

For this release of GlassFish Server, monitoring is exposed in a modular
way so that many client modules can access and display the monitoring
statistics. These clients include the Administration Console, the
`asadmin` utility, AMX, and REST interfaces.

The following topics are addressed here:

* link:#ghbaz[How the Monitoring Tree Structure Works]
* link:#gitkq[About Monitoring for Add-on Components]
* link:#ghbfq[Tools for Monitoring GlassFish Server]

[[ghbaz]][[GSADG00727]][[how-the-monitoring-tree-structure-works]]

How the Monitoring Tree Structure Works
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

A monitorable object is a component, subcomponent, or service that can
be monitored. GlassFish Server uses a tree structure to track
monitorable objects. Because the tree is dynamic, the tree changes as
GlassFish Server components are added or removed.

In the tree, a monitorable object can have child objects (nodes) that
represent exactly what can be monitored for that object. All child
objects are addressed using the dot (.) character as a separator. These
constructed names are referred to as dotted names. Detailed information
on dotted names is available in the
link:../reference-manual/dotted-names.html#GSRFM00268[`dotted-names`(5ASC)] help page.

The following command lists the monitorable child objects of the
instance `server`:

[source,oac_no_warn]
----
asadmin> list --monitor "server.*"

server.applications
server.connector-service
server.http-service
server.jms-service
server.jvm
server.network
server.orb
server.resources 
server.security
server.thread-pool
server.transaction-service
server.web
----

Each object is represented by a dotted name. Dotted names can also
address specific attributes in monitorable objects. For example, the
`jvm` object has a `memory` attribute with a statistic called
`maxheapsize`. The following dotted name addresses the attribute:

[source,oac_no_warn]
----
server.jvm.memory.maxheapsize
----

Although an object is monitorable, it is not necessarily being actively
monitored. For instructions on activating monitoring, see
link:#ablvp[Configuring Monitoring].

[[abluv]][[GSADG00647]][[tree-structure-of-monitorable-objects]]

Tree Structure of Monitorable Objects
+++++++++++++++++++++++++++++++++++++

Each monitorable object has a hierarchical tree structure. In the tree,
a replaceable such as *statistics represents the name of the attribute
that you can show statistics for.

The following node tree hierarchies are addressed here:

* link:#abluw[Applications Tree Hierarchy]
* link:#abluz[Connector Service Tree Hierarchy]
* link:#ghlin[HTTP Service Tree Hierarchy]
* link:#ablva[JMS/Container Service Tree Hierarchy]
* link:#ghlic[JVM Tree Hierarchy]
* link:#giznj[Network Tree Hierarchy]
* link:#ablvb[ORB Tree Hierarchy]
* link:#giqdo[Resources Tree Hierarchy]
* link:#gjios[Security Tree Hierarchy]
* link:#ablvc[Thread Pool Tree Hierarchy]
* link:#gitci[Transactions Service Tree Hierarchy]
* link:#ghlff[Web Tree Hierarchy]

[[abluw]][[GSADG00040]][[applications-tree-hierarchy]]

Applications Tree Hierarchy

The `applications` tree contains the following nodes:

[source,oac_no_warn]
----
server.applications
   |--- application1
   |    |--- ejb-module-1
   |    |        |--- ejb1 *
   |    |                  |--- bean-cache (for entity/sfsb) *
   |    |                  |--- bean-pool (for slsb/mdb/entity) *
   |    |                  |--- bean-methods
   |    |                       |---method1 *
   |    |                       |---method2 *
   |    |                  |--- timers (for s1sb/entity/mdb) *
   |    |--- web-module-1
   |    |        |--- virtual-server-1 *
   |    |                       |---servlet1  *
   |    |                       |---servlet2  *
   |--- standalone-web-module-1
   |    |        |----- virtual-server-2 *
   |    |                       |---servlet3 *
   |    |                       |---servlet4 *
   |    |        |----- virtual-server-3 *
   |    |                       |---servlet3 *(same servlet on different vs)
   |    |                       |---servlet5 *
   |--- standalone-ejb-module-1
   |    |        |--- ejb2 *
   |    |                  |--- bean-cache (for entity/sfsb) *
   |    |                  |--- bean-pool (for slsb/mdb/entity) *
   |    |                  |--- bean-methods
   |    |                       |--- method1 *
   |    |                       |--- method2 *
   |    |                  |--- timers (for s1sb/entity/mdb) *
   |--- jersey-application-1
   |    |--- jersey
   |    |        |--- resources
                           resource-0
                               hitcount
                                    *statistic   
   |--- application2
----

An example dotted name might be:

[source,oac_no_warn]
----
server.applications.hello.server.request.maxtime
----

An example dotted name under the EJB `method` node might be:

[source,oac_no_warn]
----
server.applications.ejbsfapp1.ejbsfapp1ejbmod1\.jar.SFApp1EJB1
----

An example Jersey dotted name might be:

[source,oac_no_warn]
----
server.applications.helloworld-webapp.jersey.resources.resource-0.hitcount.resourcehitcount-count
----

For available statistics, see link:#gjkbi[EJB Statistics],
link:#gjjyb[Jersey Statistics], and link:#ablvf[Web Statistics].

[[abluz]][[GSADG00041]][[connector-service-tree-hierarchy]]

Connector Service Tree Hierarchy

The `connector-service` tree holds monitorable attributes for pools such
as the connector connection pool. The `connector-service` tree contains
the following nodes:

[source,oac_no_warn]
----
server.connector-service
        resource-adapter-1
             connection-pools
                  pool-1
             work-management
----

An example dotted name might be
`server.connector-service.resource-adapter-1.connection-pools.pool-1`.
For available statistics, see link:#ablvi[JMS/Connector Service
Statistics].

[[ghlin]][[GSADG00042]][[http-service-tree-hierarchy]]

HTTP Service Tree Hierarchy

The `http-service` tree contains the following nodes:

[source,oac_no_warn]
----
server.http-service
       virtual-server
           request
               *statistic
       _asadmin
           request
               *statistic
----

An example dotted name under the virutal-server node might be
`server.http-service.virtual-server1.request.requestcount`. For
available statistics, see link:#ablvg[HTTP Service Statistics].

[[ablva]][[GSADG00043]][[jmscontainer-service-tree-hierarchy]]

JMS/Container Service Tree Hierarchy

The `jms-service` tree holds monitorable attributes for connection
factories (connection pools for resource adapters) and work management
(for Message Queue resource adapters). The `jms-service` tree contains
the following nodes:

[source,oac_no_warn]
----
server.jms-service
        connection-factories
             connection-factory-1
        work-management
----

An example dotted name under the `connection-factories` node might be
`server.jms-service.connection-factories.connection-factory-1` which
shows all the statistics for this connection factory. For available
statistics, see link:#ablvi[JMS/Connector Service Statistics].

[[ghlic]][[GSADG00044]][[jvm-tree-hierarchy]]

JVM Tree Hierarchy

The `jvm` tree contains the following nodes:

[source,oac_no_warn]
----
server.jvm
           class-loading-system
           compilation-system
           garbage-collectors
           memory
           operating-system
           runtime 
----

An example dotted name under the `memory` node might be
`server.jvm.memory.maxheapsize`. For available statistics, see
link:#ablvm[JVM Statistics].

[[giznj]][[GSADG00045]][[network-tree-hierarchy]]

Network Tree Hierarchy

The network statistics apply to the network listener, such as
`admin-listener`, `http-listener-1`, `ttp-listener-2`. The `network`
tree contains the following nodes:

[source,oac_no_warn]
----
server.network
          type-of-listener
              keep-alive
                    *statistic
              file-cache
                    *statistic
              thread-pool
                    *statistic
              connection-queue
                     *statistic
----

An example dotted name under the `network` node might be
`server.network.admin-listener.keep-alive.maxrequests-count`. For
available statistics, see link:#gjipy[Network Statistics].

[[ablvb]][[GSADG00046]][[orb-tree-hierarchy]]

ORB Tree Hierarchy

The `orb` tree holds monitorable attributes for connection managers. The
`orb` tree contains the following nodes:

[source,oac_no_warn]
----
server.orb
    transport
        connectioncache
            inbound
                *statistic
            outbound
                *statistic
----

An example dotted name might be
`server.orb.transport.connectioncache.inbound.connectionsidle-count`.
For available statistics, see link:#ablvj[ORB Statistics (Connection
Manager)].

[[giqdo]][[GSADG00047]][[resources-tree-hierarchy]]

Resources Tree Hierarchy

The `resources` tree holds monitorable attributes for pools such as the
JDBC connection pool and connector connection pool. The `resources` tree
contains the following nodes:

[source,oac_no_warn]
----
server.resources
       connection-pool
           request
               *statistic
----

An example dotted name might be
`server.resources.jdbc-connection-pool1.numconnfree.count`. For
available statistics, see link:#gipzv[Resource Statistics (Connection
Pool)].

[[gjios]][[GSADG00048]][[security-tree-hierarchy]]

Security Tree Hierarchy

The security tree contains the following nodes:

[source,oac_no_warn]
----
server.security
       ejb
          *statistic
       web
          *statistic
       realm
          *statistic
----

An example dotted name might be
`server.security.realm.realmcount-starttime`. For available statistics,
see link:#gjiov[Security Statistics].

[[ablvc]][[GSADG00049]][[thread-pool-tree-hierarchy]]

Thread Pool Tree Hierarchy

The `thread-pool` tree holds monitorable attributes for connection
managers, and contains the following nodes:

[source,oac_no_warn]
----
server.thread-pool
                orb
                    threadpool
                            thread-pool-1
                                *statistic
----

An example dotted name might be
`server.thread-pool.orb.threadpool.thread-pool-1.averagetimeinqueue-current`.
For available statistics, see link:#ablvk[Thread Pool Statistics].

[[gitci]][[GSADG00050]][[transactions-service-tree-hierarchy]]

Transactions Service Tree Hierarchy

The `transaction-service` tree holds monitorable attributes for the
transaction subsystem for the purpose of rolling back transactions. The
`transaction-service` tree contains the following nodes:

[source,oac_no_warn]
----
server.transaction-service
         statistic
----

An example dotted name might be `server.tranaction-service.activeids`.
For available statistics, see link:#ablvl[Transaction Service
Statistics].

[[ghlff]][[GSADG00051]][[web-tree-hierarchy]]

Web Tree Hierarchy

The `web` tree contains the following nodes:

[source,oac_no_warn]
----
server.web
           jsp
              *statistic
           servlet
              *statistic
           session
              *statistic
           request
              *statistic
----

An example dotted name for the `servlet` node might be
`server.web.servlet.activeservletsloadedcount`. For available
statistics, see link:#ghljx[Web Module Common Statistics].

[[gitkq]][[GSADG00728]][[about-monitoring-for-add-on-components]]

About Monitoring for Add-on Components
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

An add-on component typically generates statistics that GlassFish Server
can gather at runtime. Adding monitoring capabilities enables an add-on
component to provide statistics to GlassFish Server in the same way as
components that are supplied in the GlassFish Server distributions. As a
result, you can use the same administrative interfaces to monitor
statistics from any installed GlassFish Server component, regardless of
the origin of the component.

[[ghbfq]][[GSADG00729]][[tools-for-monitoring-glassfish-server]]

Tools for Monitoring GlassFish Server
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The following `asadmin` subcommands are provided for monitoring the
services and components of GlassFish Server:

* The `enable-monitoring`, `disable-monitoring`, or the `get` and `set`
subcommands are used to turn monitoring on or off. For instructions, see
link:#ablvp[Configuring Monitoring].
* The `monitor` `type` subcommand is used to display basic data for a
particular type of monitorable object. For instructions, see
link:#ablvs[Viewing Common Monitoring Data].
* The `list` `--monitor` subcommand is used to display the objects that
can be monitored with the `monitor` subcommand. For guidelines and
instructions, see link:#ablwh[Guidelines for Using the `list` and `get`
Subcommands for Monitoring].
* The `get` subcommand is used to display comprehensive data, such as
the attributes and values for a dotted name. The `get` subcommand used
with a wildcard parameter displays all available attributes for any
monitorable object. For additional information, see
link:#ablwh[Guidelines for Using the `list` and `get` Subcommands for
Monitoring].

[[ablvp]][[GSADG00558]][[configuring-monitoring]]

Configuring Monitoring
~~~~~~~~~~~~~~~~~~~~~~

By default, the monitoring service is enabled for GlassFish Server, but
monitoring for the individual modules is not. To enable monitoring for a
module, you change the monitoring level for that module to LOW or HIGH,
You can choose to leave monitoring OFF for objects that do not need to
be monitored.

* LOW. Simple statistics, such as create count, byte count, and so on
* HIGH. Simple statistics plus method statistics, such as method count,
duration, and so on
* OFF. No monitoring, no impact on performance

The following tasks are addressed here:

* link:#ablvr[To Enable Monitoring]
* link:#gglcu[To Disable Monitoring]

[[ablvr]][[GSADG00386]][[to-enable-monitoring]]

To Enable Monitoring
^^^^^^^^^^^^^^^^^^^^

Use the `enable-monitoring` subcommand to enable the monitoring service
itself, or to enable monitoring for individual modules. Monitoring is
immediately activated, without restarting GlassFish Server.

You can also use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand to enable
monitoring for a module. Using the `set` command is not a dynamic
procedure, so you need to restart GlassFish Server for your changes to
take effect.

1.  Determine which services and components are currently enabled for
monitoring. +
[source,oac_no_warn]
----
asadmin> get server.monitoring-service.module-monitoring-levels.*
----
This example output shows that the HTTP service is not enabled (OFF for
monitoring), but other objects are enabled: +
[source,oac_no_warn]
----
configs.config.server-config.monitoring-service.module-monitoring-levels.web-container=HIGH
       configs.config.server-config.monitoring-service.module-monitoring-levels.http-service=OFF
           configs.config.server-config.monitoring-service.module-monitoring-levels.jvm=HIGH 
----
2.  Enable monitoring by using the olink:GSRFM00128[`enable-monitoring`]
subcommand. +
Server restart is not required.

[[GSADG00188]][[gixri]]


Example 8-1 Enabling the Monitoring Service Dynamically

This example enables the monitoring service without affecting monitoring
for individual modules.

[source,oac_no_warn]
----
asadmin> enable-monitoring
Command enable-monitoring executed successfully
----

[[GSADG00189]][[gixre]]


Example 8-2 Enabling Monitoring for Modules Dynamically

This example enables monitoring for the `ejb-container` module.

[source,oac_no_warn]
----
asadmin> enable-monitoring --level ejb-container=HIGH
Command enable-monitoring executed successfully
----

[[GSADG00190]][[gjcmm]]


Example 8-3 Enabling Monitoring for Modules by Using the `set`
Subcommand

This example enables monitoring for the HTTP service by setting the
monitoring level to HIGH (you must restart the server for changes to
take effect).

[source,oac_no_warn]
----
asadmin> set server.monitoring-service.module-monitoring-levels.http-service=HIGH
Command set executed successfully
----

[[GSADG875]]

See Also

You can also view the full syntax and options of the subcommand by
typing `asadmin help enable-monitoring` at the command line.

[[gglcu]][[GSADG00387]][[to-disable-monitoring]]

To Disable Monitoring
^^^^^^^^^^^^^^^^^^^^^

Use the `disable-monitoring` subcommand to disable the monitoring
service itself, or to disable monitoring for individual modules.
Monitoring is immediately stopped, without restarting GlassFish Server.

You can also use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand to disable
monitoring for a module. Using the `set` command is not a dynamic
procedure, so you need to restart GlassFish Server for your changes to
take effect.

1.  Determine which services and components currently are enabled for
monitoring. +
[source,oac_no_warn]
----
asadmin get server.monitoring-service.module-monitoring-levels.*
----
This example output shows that monitoring is enabled for
`web-container`, `http-service`, and `jvm`: +
[source,oac_no_warn]
----
configs.config.server-config.monitoring-service.module-monitoring-levels.web-container=HIGH
       configs.config.server-config.monitoring-service.module-monitoring-levels.http-service=HIGH
              configs.config.server-config.monitoring-service.module-monitoring-levels.jvm=HIGH 
----
2.  Disable monitoring for a service or module by using the
link:../reference-manual/disable-monitoring.html#GSRFM00120[`disable-monitoring`] subcommand. +
Server restart is not required.

[[GSADG00191]][[gixsc]]


Example 8-4 Disabling the Monitoring Service Dynamically

This example disables the monitoring service without changing the
monitoring levels for individual modules.

[source,oac_no_warn]
----
asadmin> disable-monitoring
Command disable-monitoring executed successfully
----

[[GSADG00192]][[gjcnw]]


Example 8-5 Disabling Monitoring for Modules Dynamically

This example disables monitoring for specific modules. Their monitoring
levels are set to OFF.

[source,oac_no_warn]
----
asadmin> disable-monitoring --modules web-container,ejb-container
Command disable-monitoring executed successfully
----

[[GSADG00193]][[gixpg]]


Example 8-6 Disabling Monitoring by Using the `set` Subcommand

This example disables monitoring for the HTTP service (you must restart
the server for changes to take effect).

[source,oac_no_warn]
----
asadmin> set server.monitoring-service.module-monitoring-levels.http-service=OFF
Command set executed successfully
----

[[GSADG876]]

See Also

You can also view the full syntax and options of the subcommand by
typing `asadmin help disable-monitoring` at the command line.

[[ablvs]][[GSADG00559]][[viewing-common-monitoring-data]]

Viewing Common Monitoring Data
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Use the `monitor` subcommand to display basic data on commonly-monitored
objects.

* link:#gelol[To View Common Monitoring Data]
* link:#ghmdc[Common Monitoring Statistics]

[[gelol]][[GSADG00388]][[to-view-common-monitoring-data]]

To View Common Monitoring Data
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Use the `--type` option of the `monitor` subcommand to specify the
object for which you want to display data, such as `httplistener`,
`jvm`, `webmodule`. If you use the `monitor` subcommand without
specifying a type, an error message is displayed.

Output from the subcommand is displayed continuously in a tabular
format. The `--interval` option can be used to display output at a
particular interval (the default is 30 seconds).

[[GSADG877]]

Before You Begin

A monitorable object must be configured for monitoring before you can
display data on the object. See link:#ablvr[To Enable Monitoring].

1.  Determine which type of monitorable object you want to monitor. +
Your choices for 5.0 are `jvm`, `httplistener`, and `webmodule`.
2.  Request the monitoring data by using the link:../reference-manual/monitor.html#GSRFM00212[`monitor`]
subcommand.

[[GSADG00194]][[ghljw]]


Example 8-7 Viewing Common Monitoring Data

This example requests common data for type `jvm` on instance `server`.

[source,oac_no_warn]
----
asadmin> monitor --type jvm server

UpTime(ms)                          Heap and NonHeap Memory(bytes)
current                   min        max        low        high       count

9437266                   8585216    619642880  0          0          93093888
9467250                   8585216    619642880  0          0          93093888
----

[[GSADG878]]

See Also

You can also view the full syntax and options of the subcommand by
typing `asadmin help monitor` at the command line.

[[ghmdc]][[GSADG00730]][[common-monitoring-statistics]]

Common Monitoring Statistics
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Common monitoring statistics are described in the following sections:

* link:#ghltk[HTTP Listener Common Statistics]
* link:#ghlvm[JVM Common Statistics]
* link:#ghljx[Web Module Common Statistics]

[[ghltk]][[GSADG00648]][[http-listener-common-statistics]]

HTTP Listener Common Statistics
+++++++++++++++++++++++++++++++

The statistics available for the `httplistener` type are shown in the
following table.

[[GSADG879]][[sthref28]][[ghlta]]


Table 8-1 HTTP Listener Common Monitoring Statistics

[width="100%",cols="17%,83%",options="header",]
|=======================================================================
|Statistic |Description
|`ec` |Error count. Cumulative value of the error count

|`mt` |Maximum time. Longest response time for a request; not a
cumulative value, but the largest response time from among the response
times

|`pt` |Processing time. Cumulative value of the times taken to process
each request, with processing time being the average of request
processing times over request

|`rc` |Request count. Cumulative number of requests processed so far
|=======================================================================


[[ghlvm]][[GSADG00649]][[jvm-common-statistics]]

JVM Common Statistics
+++++++++++++++++++++

The statistics available for the `jvm` type are shown in the following
table.

[[GSADG880]][[sthref29]][[ghlsl]]


Table 8-2 JVM Common Monitoring Statistics

[width="100%",cols="19%,81%",options="header",]
|=======================================================================
|Statistic |Description
|`count` |Amount of memory (in bytes) that is guaranteed to be available
for use by the JVM machine

|`high` |Retained for compatibility with other releases

|`low` |Retained for compatibility with other releases

|`max` |The maximum amount of memory that can be used for memory
management.

|`min` |Initial amount of memory (in bytes) that the JVM machine
requests from the operating system for memory management during startup

|`UpTime` |Number of milliseconds that the JVM machine has been running
since it was last started
|=======================================================================


[[ghljx]][[GSADG00650]][[web-module-common-statistics]]

Web Module Common Statistics
++++++++++++++++++++++++++++

The statistics available for the `webmodule` type are shown in the
following table.

[[GSADG881]][[sthref30]][[ghqly]]


Table 8-3 Web Module Common Monitoring Statistics

[width="100%",cols="18%,82%",options="header",]
|=======================================================================
|Statistic |Description
|`ajlc` |Number of active JavaServer Pages (JSP) technology pages that
are loaded

|`asc` |Current active sessions

|`aslc` |Number of active servlets that are loaded

|`ast` |Total active sessions

|`mjlc` |Maximum number of JSP pages that are loaded

|`mslc` |Maximum number of servlets that are loaded

|`rst` |Total rejected sessions

|`st` |Total sessions

|`tjlc` |Total number of JSP pages that are loaded

|`tslc` |Total number of servlets that are loaded
|=======================================================================


[[ghmct]][[GSADG00560]][[viewing-comprehensive-monitoring-data]]

Viewing Comprehensive Monitoring Data
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

By applying the `list` and `get` subcommands against the tree structure
using dotted names, you can display more comprehensive monitoring data,
such as a description of each of the statistics and its unit of
measurement.

The following topics are addressed here:

* link:#ablwh[Guidelines for Using the `list` and `get` Subcommands for
Monitoring]
* link:#ablvv[To View Comprehensive Monitoring Data]
* link:#ghmcn[Comprehensive Monitoring Statistics]

[[ablwh]][[GSADG00731]][[guidelines-for-using-the-list-and-get-subcommands-for-monitoring]]

Guidelines for Using the `list` and `get` Subcommands for Monitoring
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The underlying assumptions for using the `list` and `get` subcommands
with dotted names are:

* A `list` subcommand that specifies a dotted name that is not followed
by a wildcard (`*`) lists the current node's immediate children. For
example, the following subcommand lists all immediate children belonging
to the `server` node: +
[source,oac_no_warn]
----
list --monitor server
----
* A `list` subcommand that specifies a dotted name followed by a
wildcard of the form `.*` lists a hierarchical tree of child nodes from
the specified node. For example, the following subcommand lists all
children of the `applications` node, their subsequent child nodes, and
so on: +
[source,oac_no_warn]
----
list --monitor server.applications.*
----
* A `list` subcommand that specifies a dotted name preceded or followed
by a wildcard of the form *dottedname or dotted * name or dottedname *
lists all nodes and their children that match the regular expression
created by the specified matching pattern.
* A `get` subcommand followed by a `.*` or a `*` gets the set of
attributes and their values that belong to the node specified.

For example, the following table explains the output of the `list` and
`get` subcommands used with the dotted name for the `resources` node.

[[GSADG882]][[sthref31]][[ggnpb]]


Table 8-4 Example Resources Level Dotted Names

[width="100%",cols="23%,41%,36%",options="header",]
|=======================================================================
|Subcommand |Dotted Name |Output
|`list --monitor` |`server.resources` |List of pool names.

|`list --monitor` |`server.resources.``connection-pool1` |No attributes,
but a message saying "Use `get` subcommand with the `--monitor` option
to view this node's attributes and values."

|`get --monitor` |`server.resources.``connection-pool1.*` |List of
attributes and values corresponding to connection pool attributes.
|=======================================================================


For detailed information on dotted names, see the
link:../reference-manual/dotted-names.html#GSRFM00268[`dotted-names`(5ASC)] help page.

[[ablvv]][[GSADG00389]][[to-view-comprehensive-monitoring-data]]

To View Comprehensive Monitoring Data
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Although the `monitor` subcommand is useful in many situations, it does
not offer the complete list of all monitorable objects. To work with
comprehensive data for an object type, use the `list` `monitor` and the
`get` `monitor` subcommands followed by the dotted name of a monitorable
object.

[[GSADG883]]

Before You Begin

A monitorable object must be configured for monitoring before you can
display information about the object. See link:#ablvr[To Enable
Monitoring] if needed.

1.  List the objects that are enabled for monitoring by using the
link:../reference-manual/list.html#GSRFM00145[`list`] subcommand. +
For example, the following subcommand lists all components and services
that have monitoring enabled for instance `server`. +
[source,oac_no_warn]
----
asadmin> list --monitor "*"
server.web
server.connector-service 
server.orb 
server.jms-serviceserver.jvm
server.applications
server.http-service
server.thread-pools
----
2.  Get data for a monitored component or service by using the
link:../reference-manual/get.html#GSRFM00139[`get`] subcommand.

[[GSADG00195]][[ghlre]]


Example 8-8 Viewing Attributes for a Specific Type

This example gets information about all the attributes for object type
`jvm` on instance `server`.

[source,oac_no_warn]
----
asadmin> get --monitor server.jvm.*
server.jvm.class-loading-system.loadedclasscount = 3715
server.jvm.class-loading-system.totalloadedclasscount = 3731
server.jvm.class-loading-system.unloadedclasscount = 16
server.jvm.compilation-system.name-current = HotSpot Client Compiler
server.jvm.compilation-system.totalcompilationtime = 769
server.jvm.garbage-collectors.Copy.collectioncount = 285
server.jvm.garbage-collectors.Copy.collectiontime = 980
server.jvm.garbage-collectors.MarkSweepCompact.collectioncount = 2
server.jvm.garbage-collectors.MarkSweepCompact.collectiontime = 383
server.jvm.memory.committedheapsize = 23498752
server.jvm.memory.committednonheapsize = 13598720
server.jvm.memory.initheapsize = 0
server.jvm.memory.initnonheapsize = 8585216
server.jvm.memory.maxheapsize = 66650112
server.jvm.memory.maxnonheapsize = 100663296
server.jvm.memory.objectpendingfinalizationcount = 0
server.jvm.memory.usedheapsize = 19741184
server.jvm.memory.usednonheapsize = 13398352
server.jvm.operating-system.arch-current = x86
server.jvm.operating-system.availableprocessors = 2
server.jvm.operating-system.name-current = Windows XP
server.jvm.operating-system.version-current = 5.1
server.jvm.runtime.classpath-current = glassfish.jar
server.jvm.runtime.inputarguments-current = []
server.jvm.runtime.managementspecversion-current = 1.0
server.jvm.runtime.name-current = 4372@ABBAGANI_WORK
server.jvm.runtime.specname-current = Java Virtual Machine Specification
server.jvm.runtime.specvendor-current = Sun Microsystems Inc.
server.jvm.runtime.specversion-current = 1.0
server.jvm.runtime.uptime = 84813
server.jvm.runtime.vmname-current = Java HotSpot(TM) Client VM
server.jvm.runtime.vmvendor-current = Sun Microsystems Inc.
server.jvm.runtime.vmversion-current = 1.5.0_11-b03
----

[[GSADG00196]][[ghbgv]]


Example 8-9 Viewing Monitorable Applications

This example lists all the monitorable applications for instance
`server`.

[source,oac_no_warn]
----
asadmin> list --monitor server.applications.*
server.applications.app1
server.applications.app2
server.applications.app1.virtual-server1
server.applications.app2.virtual-server1 
----

[[GSADG00197]][[ghbfj]]


Example 8-10 Viewing Attributes for an Application

This example gets information about all the attributes for application
`hello`.

[source,oac_no_warn]
----
asadmin> get --monitor server.applications.hello.*
server.applications.hello.server.activatedsessionstotal = 0
server.applications.hello.server.activejspsloadedcount = 1
server.applications.hello.server.activeservletsloadedcount = 1
server.applications.hello.server.activesessionscurrent = 1
server.applications.hello.server.activesessionshigh = 1
server.applications.hello.server.errorcount = 0
server.applications.hello.server.expiredsessionstotal = 0
server.applications.hello.server.maxjspsloadedcount = 1
server.applications.hello.server.maxservletsloadedcount = 0
server.applications.hello.server.maxtime = 0
server.applications.hello.server.passivatedsessionstotal = 0
server.applications.hello.server.persistedsessionstotal = 0
server.applications.hello.server.processingtime = 0.0
server.applications.hello.server.rejectedsessionstotal = 0
server.applications.hello.server.requestcount = 0
server.applications.hello.server.sessionstotal = 
server.applications.hello.server.totaljspsloadedcount = 0
server.applications.hello.server.totalservletsloadedcount = 0
----

[[GSADG00198]][[ghbge]]


Example 8-11 Viewing a Specific Attribute

This example gets information about the `jvm` attribute
`runtime.vmversion-current` on instance `server`.

[source,oac_no_warn]
----
asadmin> get --monitor server.jvm.runtime.vmversion-current
server.jvm.runtime.vmversion-current = 10.0-b23
----

[[ghmcn]][[GSADG00732]][[comprehensive-monitoring-statistics]]

Comprehensive Monitoring Statistics
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

You can get comprehensive monitoring statistics by forming a dotted name
that specifies the statistic you are looking for. For example, the
following dotted name will display the cumulative number of requests for
the HTTP service on `virtual-server1`:

`server.http-service.virtual-server1.request.requestcount`

The tables in the following sections list the statistics that are
available for each monitorable object:

* link:#gjkbi[EJB Statistics]
* link:#ablvg[HTTP Service Statistics]
* link:#gjjyb[Jersey Statistics]
* link:#ablvi[JMS/Connector Service Statistics]
* link:#ablvm[JVM Statistics]
* link:#gjipy[Network Statistics]
* link:#ablvj[ORB Statistics (Connection Manager)]
* link:#gipzv[Resource Statistics (Connection Pool)]
* link:#gjiov[Security Statistics]
* link:#ablvk[Thread Pool Statistics]
* link:#ablvl[Transaction Service Statistics]
* link:#ablvf[Web Statistics]

[[gjkbi]][[GSADG00651]][[ejb-statistics]]

EJB Statistics
++++++++++++++

EJBs fit into the tree of objects as shown in link:#abluw[Applications
Tree Hierarchy]. Use the following dotted name pattern to get EJB
statistics for an application:

[source,oac_no_warn]
----
server.applications.appname.ejbmodulename.ejbname.bean-cache.statistic
----


[NOTE]
=======================================================================

EJB statistics for an application are available after the application is
executed. If the application is deployed but has not yet been executed,
all counts will show default values. When the application is undeployed,
all its monitoring data is lost.

=======================================================================


Statistics available for applications are shown in the following
sections:

* link:#gisyw[EJB Cache Statistics]
* link:#giszu[EJB Container Statistics]
* link:#gisyx[EJB Method Statistics]
* link:#gisza[EJB Pool Statistics]
* link:#gisyr[Timer Statistics]

[[gisyw]][[GSADG00052]][[ejb-cache-statistics]]

EJB Cache Statistics

Use the following dotted name pattern for EJB cache statistics:

[source,oac_no_warn]
----
server.applications.appname.ejbmodulename.bean-cache.ejbname.statistic
----

The statistics available for EJB caches are listed in the following
table.

[[GSADG884]][[sthref32]][[gelod]]


Table 8-5 EJB Cache Monitoring Statistics

[width="100%",cols="37%,16%,47%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`cachemisses` |RangeStatistic |The number of times a user request does
not find a bean in the cache.

|`cachehits` |RangeStatistic |The number of times a user request found
an entry in the cache.

|`numbeansincache` |RangeStatistic |The number of beans in the cache.
This is the current size of the cache.

|`numpassivations` |CountStatistic |Number of passivated beans. Applies
only to stateful session beans.

|`numpassivationerrors` |CountStatistic |Number of errors during
passivation. Applies only to stateful session beans.

|`numexpiredsessionsremoved` |CountStatistic |Number of expired sessions
removed by the cleanup thread. Applies only to stateful session beans.

|`numpassivationsuccess` |CountStatistic |Number of times passivation
completed successfully. Applies only to stateful session beans.
|=======================================================================


[[giszu]][[GSADG00053]][[ejb-container-statistics]]

EJB Container Statistics

Use the following dotted name pattern for EJB container statistics:

[source,oac_no_warn]
----
server.applications.appname.ejbmodulename.container.ejbname
----

The statistics available for EJB containers are listed in the following
table.

[[GSADG885]][[sthref33]][[gelns]]


Table 8-6 EJB Container Monitoring Statistics

[width="100%",cols="24%,16%,60%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`createcount` |CountStatistic |Number of times an EJB's `create` method
is called.

|`messagecount` |CountStatistic |Number of messages received for a
message-driven bean.

|`methodreadycount` |RangeStatistic |Number of stateful or stateless
session beans that are in the `MethodReady` state.

|`passivecount` |RangeStatistic |Number of stateful session beans that
are in `Passive` state.

|`pooledcount` |RangeStatistic |Number of entity beans in pooled state.

|`readycount` |RangeStatistic |Number of entity beans in ready state.

|`removecount` |CountStatistic |Number of times an EJB's `remove` method
is called.
|=======================================================================


[[gisyx]][[GSADG00054]][[ejb-method-statistics]]

EJB Method Statistics

Use the following dotted name pattern for EJB method statistics:

[source,oac_no_warn]
----
server.applications.appname.ejbmodulename.bean-methods.ejbname.statistic
----

The statistics available for EJB method invocations are listed in the
following table.

[[GSADG886]][[sthref34]][[gelnu]]


Table 8-7 EJB Method Monitoring Statistics

[width="100%",cols="23%,16%,61%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`executiontime` |CountStatistic |Time, in milliseconds, spent executing
the method for the last successful/unsuccessful attempt to run the
operation. This is collected for stateless and stateful session beans
and entity beans if monitoring is enabled on the EJB container.

|`methodstatistic` |TimeStatistic |Number of times an operation is
called; the total time that is spent during the invocation, and so on.

|`totalnumerrors` |CountStatistic |Number of times the method execution
resulted in an exception. This is collected for stateless and stateful
session beans and entity beans if monitoring is enabled for the EJB
container.

|`totalnumsuccess` |CountStatistic |Number of times the method
successfully executed. This is collected for stateless and stateful
session beans and entity beans if monitoring enabled is true for EJB
container.
|=======================================================================


[[gisza]][[GSADG00055]][[ejb-pool-statistics]]

EJB Pool Statistics

Use the following dotted name pattern for EJB pool statistics:

[source,oac_no_warn]
----
server.applications.appname.ejbmodulename.bean-pool.ejbname.statistic
----

The statistics available for EJB pools are listed in the following
table.

[[GSADG887]][[sthref35]][[gelpe]]


Table 8-8 EJB Pool Monitoring Statistics

[width="100%",cols="28%,16%,56%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`jmsmaxmessagesload` |CountStatistic |The maximum number of messages to
load into a JMS session at one time for a message-driven bean to serve.
Default is 1. Applies only to pools for message driven beans.

|`numbeansinpool` |RangeStatistic |Number of EJBs in the associated
pool, providing information about how the pool is changing.

|`numthreadswaiting` |RangeStatistic |Number of threads waiting for free
beans, giving an indication of possible congestion of requests.

|`totalbeanscreated` |CountStatistic |Number of beans created in
associated pool since the gathering of data started.

|`totalbeansdestroyed` |CountStatistic |Number of beans destroyed from
associated pool since the gathering of data started.
|=======================================================================


[[gisyr]][[GSADG00057]][[timer-statistics]]

Timer Statistics

Use the following dotted name pattern for timer statistics:

[source,oac_no_warn]
----
server.applications.appname.ejbmodulename.timers.ejbname.statistic
----

The statistics available for timers are listed in the following table.

[[GSADG889]][[sthref36]][[gelob]]


Table 8-9 Timer Monitoring Statistics

[width="100%",cols="28%,16%,56%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`numtimerscreated` |CountStatistic |Number of timers created in the
system.

|`numtimersdelivered` |CountStatistic |Number of timers delivered by the
system.

|`numtimersremoved` |CountStatistic |Number of timers removed from the
system.
|=======================================================================


[[ablvg]][[GSADG00652]][[http-service-statistics]]

HTTP Service Statistics
+++++++++++++++++++++++

The HTTP service fits into the tree of objects as shown in
link:#ghlin[HTTP Service Tree Hierarchy].

[[ghqdi]][[GSADG00059]][[http-service-virtual-server-statistics]]

HTTP Service Virtual Server Statistics

Use the following dotted name pattern for HTTP service virtual server
statistics:

[source,oac_no_warn]
----
server.http-service.virtual-server.request.statistic
----

The HTTP service statistics for virtual servers are shown in the
following table.

[[GSADG891]][[sthref37]][[gelnm]]


Table 8-10 HTTP Service Virtual Server Monitoring Statistics

[width="100%",cols="21%,16%,63%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`count200` |CountStatistic |Number of responses with a status code
equal to 200

|`count2xx` |CountStatistic |Number of responses with a status code in
the 2xx range

|`count302` |CountStatistic |Number of responses with a status code
equal to 302

|`count304` |CountStatistic |Number of responses with a status code
equal to 304

|`count3xx` |CountStatistic |Number of responses with a status code
equal in the 3xx range

|`count400` |CountStatistic |Number of responses with a status code
equal to 400

|`count401` |CountStatistic |Number of responses with a status code
equal to 401

|`count403` |CountStatistic |Number of responses with a status code
equal to 403

|`count404` |CountStatistic |Number of responses with a status code
equal to 404

|`count4xx` |CountStatistic |Number of responses with a status code
equal in the 4xx range

|`count503` |CountStatistic |Number of responses with a status code
equal to 503

|`count5xx` |CountStatistic |Number of responses with a status code
equal in the 5xx range

|`countother` |CountStatistic |Number of responses with a status code
outside the 2xx, 3xx, 4xx, and 5xx range

|`errorcount` |CountStatistic |Cumulative value of the error count, with
error count representing the number of cases where the response code was
greater than or equal to 400

|`hosts` |StringStatistic |The host (alias) names of the virtual server

|`maxtime` |CountStatistic |Longest response time for a request; not a
cumulative value, but the largest response time from among the response
times

|`processingtime` |CountStatistic |Cumulative value of the times taken
to process each request, with processing time being the average of
request processing times over the request count

|`requestcount` |CountStatistic |Cumulative number of requests processed
so far

|`state` |StringStatistic |The state of the virtual server
|=======================================================================


[[gjjyb]][[GSADG00653]][[jersey-statistics]]

Jersey Statistics
+++++++++++++++++

Jersey fits into the tree of objects as shown in
link:#abluw[Applications Tree Hierarchy].

Use the following dotted name pattern for Jersey statistics:

[source,oac_no_warn]
----
server.applications.jersey-application.jersey.resources.resource-0.hitcount.statistic
----

The statistics available for Jersey are shown in the following table.

[[GSADG892]][[sthref38]][[gjjys]]


Table 8-11 Jersey Statistics

[width="100%",cols="33%,21%,46%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`resourcehitcount` |CountStatistic |Number of hits on this resource
class

|`rootresourcehitcount` |CountStatistic |Number of hits on this root
resource class
|=======================================================================


[[ablvi]][[GSADG00654]][[jmsconnector-service-statistics]]

JMS/Connector Service Statistics
++++++++++++++++++++++++++++++++

The JMS/Connector Service fits into the tree of objects as shown in
link:#ablva[JMS/Container Service Tree Hierarchy].

JMS/Connector Service statistics are shown in the following sections:

* link:#giszy[Connector Connection Pool Statistics (JMS)]
* link:#giszh[Connector Work Management Statistics (JMS)]

[[giszy]][[GSADG00060]][[connector-connection-pool-statistics-jms]]

Connector Connection Pool Statistics (JMS)

Use the following dotted name pattern for JMS/Connector Service
connection pool statistics:

[source,oac_no_warn]
----
server.connector-service.resource-adapter-1.connection-pool.statistic
----

JMS/Connector Service statistics available for the connector connection
pools are shown in the following table.


[NOTE]
=======================================================================

In order to improve system performance, connection pools are initialized
lazily; that is, a pool is not initialized until an application first
uses the pool or the pool is explicitly pinged. Monitoring statistics
for a connection pool are not available until the pool is initialized.

=======================================================================


[[GSADG893]][[sthref39]][[gelot]]


Table 8-12 Connector Connection Pool Monitoring Statistics (JMS)

[width="100%",cols="37%,16%,47%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`averageconnwaittime` |CountStatistic |Average wait time of connections
before they are serviced by the connection pool.

|`connectionrequestwaittime` |RangeStatistic |The longest and shortest
wait times of connection requests. The current value indicates the wait
time of the last request that was serviced by the pool.

|`numconnfailedvalidation` |CountStatistic |Total number of connections
in the connection pool that failed validation from the start time until
the last sample time.

|`numconnused` |RangeStatistic |Total number of connections that are
currently being used, as well as information about the maximum number of
connections that were used (the high water mark).

|`numconnfree` |RangeStatistic |Total number of free connections in the
pool as of the last sampling.

|`numconntimedout` |CountStatistic |Total number of connections in the
pool that timed out between the start time and the last sample time.

|`numconncreated` |CountStatistic |Number of physical connections, in
milliseconds, that were created since the last reset.

|`numconndestroyed` |CountStatistic |Number of physical connections that
were destroyed since the last reset.

|`numconnacquired` |CountStatistic |Number of logical connections
acquired from the pool.

|`numconnreleased` |CountStatistic |Number of logical connections
released to the pool.

|`waitqueuelenght` |CountStatistic |Number of connection requests in the
queue waiting to be serviced.
|=======================================================================


[[giszh]][[GSADG00061]][[connector-work-management-statistics-jms]]

Connector Work Management Statistics (JMS)

Use the following dotted name pattern for JMS/Connector Service work
management statistics:

[source,oac_no_warn]
----
server.connector-service.resource-adapter-1.work-management.statistic
----

JMS/Connector Service statistics available for connector work management
are listed in the following table.

[[GSADG894]][[sthref40]][[gelnz]]


Table 8-13 Connector Work Management Monitoring Statistics (JMS)

[width="100%",cols="28%,16%,56%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`activeworkcount` |RangeStatistic |Number of work objects executed by
the connector.

|`completedworkcount` |CountStatistic |Number of work objects that were
completed.

|`rejectedworkcount` |CountStatistic |Number of work objects rejected by
the GlassFish Server.

|`submittedworkcount` |CountStatistic |Number of work objects submitted
by a connector module.

|`waitqueuelength` |RangeStatistic |Number of work objects waiting in
the queue before executing.

|`workrequestwaittime` |RangeStatistic |Longest and shortest wait of a
work object before it gets executed.
|=======================================================================


[[ablvm]][[GSADG00655]][[jvm-statistics]]

JVM Statistics
++++++++++++++

The JVM fits into the tree of objects as show in link:#ghlic[JVM Tree
Hierarchy].

The statistics that are available for the Virtual Machine for Java
platform (Java Virtual Machine) or JVM machine are shown in the
following sections:

* link:#ablvn[JVM Class Loading System Statistics]
* link:#ghqfh[JVM Compilation System Statistics]
* link:#ghqea[JVM Garbage Collectors Statistics]
* link:#ghqdn[JVM Memory Statistics]
* link:#ghqec[JVM Operating System Statistics]
* link:#ghqby[JVM Runtime Statistics]

[[ablvn]][[GSADG00062]][[jvm-class-loading-system-statistics]]

JVM Class Loading System Statistics

Use the following dotted name pattern for JVM class loading system
statistics:

[source,oac_no_warn]
----
server.jvm.class-loading-system.statistic
----

With Java SE, additional monitoring information can be obtained from the
JVM. Set the monitoring level to LOW to enable the display of this
additional information. Set the monitoring level to HIGH to also view
information pertaining to each live thread in the system. More
information about the additional monitoring features for Java SE is
available in
http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/technotes/guides/management/[Monitoring
and Management for the Java Platform] .

The Java SE monitoring tools are discussed at
`http://docs.oracle.com/javase/8/docs/technotes/tools/`.

The statistics that are available for class loading in the JVM for Java
SE are shown in the following table.

[[GSADG895]][[sthref41]][[gelow]]


Table 8-14 JVM Monitoring Statistics for Java SE Class Loading

[width="100%",cols="31%,16%,53%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`loadedclasscount` |CountStatistic |Number of classes that are
currently loaded in the JVM

|`totalloadedclasscount` |CountStatistic |Total number of classes that
have been loaded since the JVM began execution

|`unloadedclasscount` |CountStatistic |Number of classes that have been
unloaded from the JVM since the JVM began execution
|=======================================================================


The statistics available for threads in the JVM in Java SE are shown in
the following table.

[[GSADG896]][[sthref42]][[geloa]]


Table 8-15 JVM Monitoring Statistics for Java SE - Threads

[width="100%",cols="35%,16%,49%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`allthreadids` |StringStatistic |List of all live thread ids.

|`currentthreadcputime` |CountStatistic |CPU time for the current thread
(in nanoseconds) if CPU time measurement is enabled. If CPU time
measurement is disabled, returns -1.

|`daemonthreadcount` |CountStatistic |Current number of live daemon
threads.

|`monitordeadlockedthreads` |StringStatistic |List of thread ids that
are monitor deadlocked.

|`peakthreadcount` |CountStatistic |Peak live thread count since the JVM
started or the peak was reset.

|`threadcount` |CountStatistic |Current number of live daemon and
non-daemon threads.

|`totalstartedthreadcount` |CountStatistic |Total number of threads
created and/or started since the JVM started.
|=======================================================================


[[ghqfh]][[GSADG00063]][[jvm-compilation-system-statistics]]

JVM Compilation System Statistics

Use the following dotted name pattern for JVM compilation system
statistics:

[source,oac_no_warn]
----
server.jvm.compilation-system.statistic
----

The statistics that are available for compilation in the JVM for Java SE
are shown in the following table.

[[GSADG897]][[sthref43]][[gelnt]]


Table 8-16 JVM Monitoring Statistics for Java SE Compilation

[width="100%",cols="34%,20%,46%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`name-current` |StringStatistic |Name of the current compiler

|`totalcompilationtime` |CountStatistic |Accumulated time (in
milliseconds) spent in compilation
|=======================================================================


[[ghqea]][[GSADG00064]][[jvm-garbage-collectors-statistics]]

JVM Garbage Collectors Statistics

Use the following dotted name pattern for JVM garbage collectors
statistics:

[source,oac_no_warn]
----
server.jvm.garbage-collectors.statistic
----

The statistics that are available for garbage collection in the JVM for
Java SE are shown in the following table.

[[GSADG898]][[sthref44]][[gelox]]


Table 8-17 JVM Monitoring Statistics for Java SE Garbage Collectors

[width="100%",cols="23%,16%,61%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`collectioncount` |CountStatistic |Total number of collections that
have occurred

|`collectiontime` |CountStatistic |Accumulated time (in milliseconds)
spent in collection
|=======================================================================


[[ghqdn]][[GSADG00065]][[jvm-memory-statistics]]

JVM Memory Statistics

Use the following dotted name pattern for JVM memory statistics:

[source,oac_no_warn]
----
server.jvm.memory.statistic
----

The statistics that are available for memory in the JVM for Java SE are
shown in the following table.

[[GSADG899]][[sthref45]][[gelnx]]


Table 8-18 JVM Monitoring Statistics for Java SE Memory

[width="100%",cols="44%,16%,40%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`committedheapsize` |CountStatistic |Amount of heap memory (in bytes)
that is committed for the JVM to use

|`committednonheapsize` |CountStatistic |Amount of non-heap memory (in
bytes) that is committed for the JVM to use

|`initheapsize` |CountStatistic |Size of the heap initially requested by
the JVM

|`initnonheapsize` |CountStatistic |Size of the non-heap area initially
requested by the JVM

|`maxheapsize` |CountStatistic |Maximum amount of heap memory (in bytes)
that can be used for memory management

|`maxnonheapsize` |CountStatistic |Maximum amount of non-heap memory (in
bytes) that can be used for memory management

|`objectpendingfinalizationcount` |CountStatistic |Approximate number of
objects that are pending finalization

|`usedheapsize` |CountStatistic |Size of the heap currently in use

|`usednonheapsize` |CountStatistic |Size of the non-heap area currently
in use
|=======================================================================


[[ghqec]][[GSADG00066]][[jvm-operating-system-statistics]]

JVM Operating System Statistics

Use the following dotted name pattern for JVM operating system
statistics:

[source,oac_no_warn]
----
server.jvm.operating-system.statistic
----

The statistics that are available for the operating system for the JVM
machine in Java SE are shown in the following table.

[[GSADG900]][[sthref46]][[gelog]]


Table 8-19 JVM Statistics for the Java SE Operating System

[width="100%",cols="28%,16%,56%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`arch-current` |StringStatistic |Operating system architecture

|`availableprocessors` |CountStatistic |Number of processors available
to the JVM

|`name-current` |StringStatistic |Operating system name

|`version-current` |StringStatistic |Operating system version
|=======================================================================


[[ghqby]][[GSADG00067]][[jvm-runtime-statistics]]

JVM Runtime Statistics

Use the following dotted name pattern for JVM runtime statistics:

[source,oac_no_warn]
----
server.jvm.runtime.statistic
----

The statistics that are available for the runtime in the JVM runtime for
Java SE are shown in the following table.

[[GSADG901]][[sthref47]][[gelop]]


Table 8-20 JVM Monitoring Statistics for Java SE Runtime

[width="100%",cols="42%,16%,42%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`classpath-current` |StringStatistic |Classpath that is used by the
system class loader to search for class files

|`inputarguments-current` |StringStatistic |Input arguments passed to
the JVM; not including arguments to the `main` method

|`managementspecversion-current` |StringStatistic |Management
specification version implemented by the JVM

|`name-current` |StringStatistic |Name representing the running JVM

|`specname-current` |StringStatistic |JVM specification name

|`specvendor-current` |StringStatistic |JVM specification vendor

|`specversion-current` |StringStatistic |JVM specification version

|`uptime` |CountStatistic |Uptime of the JVM (in milliseconds)

|`vmname-current` |StringStatistic |JVM implementation name

|`vmvendor-current` |StringStatistic |JVM implementation vendor

|`vmversion-current` |StringStatistic |JVM implementation version

| | |

| | |
|=======================================================================


[[gjipy]][[GSADG00656]][[network-statistics]]

Network Statistics
++++++++++++++++++

Network fits into the tree of objects as shown in link:#giznj[Network
Tree Hierarchy].

Network statistics are described in the following sections:

* link:#gjiqu[Network Keep Alive Statistics]
* link:#gjjom[Network Connection Queue Statistics]
* link:#gjjpi[Network File Cache Statistics]
* link:#gjjpp[Network Thread Pool Statistics]

[[gjiqu]][[GSADG00068]][[network-keep-alive-statistics]]

Network Keep Alive Statistics

Use the following dotted name pattern for network keep alive statistics:

[source,oac_no_warn]
----
server.network.type-of-listener.keep-alive.statistic
----

Statistics available for network keep alive are shown in the following
table.

[[GSADG902]][[sthref48]][[gjirp]]


Table 8-21 Network Keep Alive Statistics

[width="100%",cols="25%,16%,59%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`countconnections` |CountStatistic |Number of connections in keep-alive
mode.

|`counttimeouts` |CountStatistic |Number of keep-alive connections that
timed out.

|`secondstimeouts` |CountStatistic |Keep-alive timeout value in seconds.

|`maxrequests` |CountStatistic |Maximum number of requests allowed on a
single keep-alive connection.

|`countflushes` |CountStatistic |Number of keep-alive connections that
were closed.

|`counthits` |CountStatistic |Number of requests received by connections
in keep-alive mode.

|`countrefusals` |CountStatistic |Number of keep-alive connections that
were rejected.
|=======================================================================


[[gjjom]][[GSADG00069]][[network-connection-queue-statistics]]

Network Connection Queue Statistics

Use the following dotted name pattern for network connection queue
statistics:

[source,oac_no_warn]
----
server.network.type-of-listener.connection-queue.statistic
----

Statistics available for network connection queue are shown in the
following table.

[[GSADG903]][[sthref49]][[gjjxc]]


Table 8-22 Network Connection Queue Statistics

[width="100%",cols="40%,16%,44%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`countopenconnections` |CountStatistic |The number of open/active
connections

|`countoverflows` |CountStatistic |Number of times the queue has been
too full to accommodate a connection

|`countqueued` |CountStatistic |Number of connections currently in the
queue

|`countqueued15minutesaverage` |CountStatistic |Average number of
connections queued in the last 15 minutes

|`countqueued1minuteaverage` |CountStatistic |Average number of
connections queued in the last 1 minute

|`countqueued5minutesaverage` |CountStatistic |Average number of
connections queued in the last 5 minutes

|`counttotalconnections` |CountStatistic |Total number of connections
that have been accepted

|`counttotalqueued` |CountStatistic |Total number of connections that
have been queued

|`maxqueued` |CountStatistic |Maximum size of the connection queue

|`peakqueued` |CountStatistic |Largest number of connections that were
in the queue simultaneously

|`tickstotalqueued` |CountStatistic |(Unsupported) Total number of ticks
that connections have spent in the queue
|=======================================================================


[[gjjpi]][[GSADG00070]][[network-file-cache-statistics]]

Network File Cache Statistics

Use the following dotted name pattern for network file cache statistics:

[source,oac_no_warn]
----
server.network.type-of-listener.file-cache.statistic
----

Statistics available for network file cache are shown in the following
table.

[[GSADG904]][[sthref50]][[gjjpd]]


Table 8-23 Network File Cache Statistics

[width="100%",cols="28%,16%,56%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`contenthits` |CountStatistic |Number of hits on cached file content

|`contentmisses` |CountStatistic |Number of misses on cached file
content

|`heapsize` |CountStatistic |Current cache size in bytes

|`hits` |CountStatistic |Number of cache lookup hits

|`infohits` |CountStatistic |Number of hits on cached file info

|`infomisses` |CountStatistic |Number of misses on cached file info

|`mappedmemorysize` |CountStatistic |Size of mapped memory used for
caching in bytes

|`maxheapsize` |CountStatistic |Maximum heap space used for cache in
bytes

|`maxmappedmemorysize` |CountStatistic |Maximum memory map size used for
caching in bytes

|`misses` |CountStatistic |Number of cache lookup misses data type

|`opencacheentries` |CountStatistic |Number of current open cache
entries
|=======================================================================


[[gjjpp]][[GSADG00071]][[network-thread-pool-statistics]]

Network Thread Pool Statistics

Use the following dotted name pattern for network thread pool
statistics:

[source,oac_no_warn]
----
server.network.type-of-listener.thread-pool.statistic
----

Statistics available for network thread pool are shown in the following
table.

[[GSADG905]][[sthref51]][[gjjov]]


Table 8-24 Network Thread Pool Statistics

[width="100%",cols="28%,16%,56%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`corethreads` |CountStatistic |Core number of threads in the thread
pool

|`currentthreadcount` |CountStatistic |Provides the number of request
processing threads currently in the listener thread pool

|`currentthreadsbusy` |CountStatistic |Provides the number of request
processing threads currently in use in the listener thread pool serving
requests

|`maxthreads` |CountStatistic |Maximum number of threads allowed in the
thread pool

|`totalexecutedtasks` |CountStatistic |Provides the total number of
tasks, which were executed by the thread pool
|=======================================================================


[[ablvj]][[GSADG00657]][[orb-statistics-connection-manager]]

ORB Statistics (Connection Manager)
+++++++++++++++++++++++++++++++++++

The ORB fits into the tree of objects as shown in link:#ablvb[ORB Tree
Hierarchy].

Use the following dotted name patterns for ORB statistics:

[source,oac_no_warn]
----
server.orb.transport.connectioncache.inbound.statistic
server.orb.transport.connectioncache.outbound.statistic
----

The statistics available for the connection manager in an ORB are listed
in the following table.

[[GSADG906]][[sthref52]][[gelqw]]


Table 8-25 ORB Monitoring Statistics (Connection Manager)

[width="100%",cols="24%,26%,50%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`connectionsidle` |CountStatistic |Total number of connections that are
idle to the ORB

|`connectionsinuse` |CountStatistic |Total number of connections in use
to the ORB

|`totalconnections` |BoundedRangeStatistic |Total number of connections
to the ORB
|=======================================================================


[[gipzv]][[GSADG00658]][[resource-statistics-connection-pool]]

Resource Statistics (Connection Pool)
+++++++++++++++++++++++++++++++++++++

By monitoring connection pool resources you can measure performance and
capture resource usage at runtime. Connections are expensive and
frequently cause performance bottlenecks in applications. It is
important to monitor how a connection pool is releasing and creating new
connections and how many threads are waiting to retrieve a connection
from a particular pool.

The connection pool resources fit into the tree of objects as shown in
link:#giqdo[Resources Tree Hierarchy].

Use the following dotted name pattern for general connection pool
statistics:

[source,oac_no_warn]
----
server.resources.pool-name.statistic
----

Use the following dotted name pattern for application-scoped connection
pool statistics:

[source,oac_no_warn]
----
server.applications.application-name.resources.pool-name.statistic
----

Use the following dotted name pattern for module-scoped connection pool
statistics:

[source,oac_no_warn]
----
server.applications.application-name.module-name.resources.pool-name.statistic
----

The connection pool statistics are shown in the following tables.


[NOTE]
=======================================================================

In order to improve system performance, connection pools are initialized
lazily; that is, a pool is not initialized until an application first
uses the pool or the pool is explicitly pinged. Monitoring statistics
for a connection pool are not available until the pool is initialized.

=======================================================================


[[GSADG907]][[sthref53]][[gelqa]]


Table 8-26 General Resource Monitoring Statistics (Connection Pool)

[width="100%",cols="43%,16%,41%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`averageconnwaittime` |CountStatistic |Average wait-time-duration per
successful connection request

|`connrequestwaittime` |RangeStatistic |Longest and shortest wait times,
in milliseconds, of connection requests since the last sampling. current
value indicates the wait time of the last request that was serviced by
the pool

|`numconnacquired` |CountStatistic |Number of logical connections
acquired from the pool since the last sampling

|`numconncreated` |CountStatistic |Number of physical connections that
were created by the pool since the last reset

|`numconndestroyed` |CountStatistic |Number of physical connections that
were destroyed since the last reset

|`numconnfailedvalidation` |CountStatistic |Number of connections in the
connection pool that failed validation from the start time until the
last sampling time

|`numconnfree` |RangeStatistic |Number of free connections in the pool
as of the last sampling

|`numconnnotsuccessfullymatched` |CountStatistic |Number of connections
rejected during matching

|`numconnreleased` |CountStatistic |Number of connections released back
to the pool since the last sampling

|`numconnsuccessfullymatched` |CountStatistic |Number of connections
successfully matched

|`numconntimedout` |CountStatistic |Number of connections in the pool
that timed out between the start time and the last sampling time

|`numconnused` |RangeStatistic |Number of connections that are currently
being used, as well as information about the maximum number of
connections that were used (high water mark)

|`frequsedsqlqueries` |StringStatistic |List of the most frequently used
SQL queries (Available only when SQL Tracing is enabled)

|`numpotentialconnleak` |CountStatistic |Number of potential connection
leaks

|`numpotentialstatementleak` |CountStatistic |Number of potential
statement leaks (Available only when Statement Leak Dectection is
enabled)

|`numstatementcachehit` |CountStatistic |Number of statements that were
found in the statement cache (Available only when the Statement Cache is
enabled)

|`numstatementcachemiss` |CountStatistic |Number of statements that were
not found in the statement cache (Available only when the Statement
Cache is enabled)

|`waitqueuelength` |CountStatistic |Number of connection requests in the
queue waiting to be serviced
|=======================================================================


[[GSADG908]][[sthref54]][[gktcp]]


Table 8-27 Application Specific Resource Monitoring Statistics
(Connection Pool)

[width="100%",cols="23%,16%,61%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`numconnacquired` |CountStatistic |Number of logical connections
acquired from the pool since the last sampling

|`numconnreleased` |CountStatistic |Number of connections released back
to the pool since the last sampling

|`numconnused` |RangeStatistic |Number of connections that are currently
being used, as well as information about the maximum number of
connections that were used (high water mark)
|=======================================================================


[[gjiov]][[GSADG00659]][[security-statistics]]

Security Statistics
+++++++++++++++++++

Security fits into the tree of objects as shown in link:#gjios[Security
Tree Hierarchy].

Statistics available for security are shown in the following sections:

* link:#gjira[EJB Security Statistics]
* link:#gjirn[Web Security Statistics]
* link:#gjirj[Realm Security Statistics]

[[gjira]][[GSADG00072]][[ejb-security-statistics]]

EJB Security Statistics

Use the following dotted name pattern for EJB security statistics:

[source,oac_no_warn]
----
server.security.ejb.statistic
----

The statistics available for EJB security are listed in the following
table.

[[GSADG909]][[sthref55]][[gjirc]]


Table 8-28 EJB Security Monitoring Statistics

[width="100%",cols="40%,18%,42%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`policyconfigurationcount` |CountStatistic |Number of policy
configuration

|`securitymanagercount` |CountStatistic |Number of EJB security managers
|=======================================================================


[[gjirn]][[GSADG00073]][[web-security-statistics]]

Web Security Statistics

Use the following dotted name pattern for web security statistics:

[source,oac_no_warn]
----
server.security.web.statistic
----

The statistics available for web security are listed in the following
table.

[[GSADG910]][[sthref56]][[gjiqv]]


Table 8-29 Web Security Monitoring Statistics

[width="100%",cols="40%,16%,44%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`websecuritymanagercount` |CountStatistic |Number of security managers

|`webpolicyconfigurationcount` |CountStatistic |Number of policy
configuration objects
|=======================================================================


[[gjirj]][[GSADG00074]][[realm-security-statistics]]

Realm Security Statistics

Use the following dotted name pattern for realm security statistics:

[source,oac_no_warn]
----
server.security.realm.statistic
----

The statistics available for realm security are listed in the following
table.

[[GSADG911]][[sthref57]][[gjirq]]


Table 8-30 Realm Security Monitoring Statistics

[width="100%",cols="32%,22%,46%",options="header",]
|==============================================
|Statistic |Data Type |Description
|`realmcount` |CountStatistic |Number of realms
|==============================================


[[ablvk]][[GSADG00660]][[thread-pool-statistics]]

Thread Pool Statistics
++++++++++++++++++++++

The thread pool fits into the tree of objects as shown in
link:#ablvc[Thread Pool Tree Hierarchy].

The statistics available for thread pools are shown in the following
sections:

* link:#gitct[Thread Pool Monitoring Statistics]
* link:#gitce[JVM Statistics for Java SE-Thread Information]

[[gitct]][[GSADG00075]][[thread-pool-monitoring-statistics]]

Thread Pool Monitoring Statistics

Use the following dotted name pattern for thread pool statistics:

[source,oac_no_warn]
----
server.thread-pool.thread-pool.statistic
----

The statistics available for the thread pool are shown in the following
table.

[[GSADG912]][[sthref58]][[gelqt]]


Table 8-31 Thread Pool Monitoring Statistics

[width="100%",cols="37%,26%,37%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`averagetimeinqueue` |BoundedRangeStatistic |Average amount of time (in
milliseconds) a request waited in the queue before being processed

|`averageworkcompletiontime` |BoundedRangeStatistic |Average amount of
time (in milliseconds) taken to complete an assignment

|`currentbusythreads` |CountStatistic |Number of busy threads

|`currentnumberofthreads` |BoundedRangeStatistic |Current number of
request processing threads

|`numberofavailablethreads` |CountStatistic |Number of available threads

|`numberofworkitemsinqueue` |BoundedRangeStatistic |Current number of
work items waiting in queue

|`totalworkitemsadded` |CountStatistic |Total number of work items added
to the work queue as of last sampling
|=======================================================================


[[gitce]][[GSADG00076]][[jvm-statistics-for-java-se-thread-information]]

JVM Statistics for Java SE-Thread Information

The statistics available for `ThreadInfo` in the JVM in Java SE are
shown in the following table.

[[GSADG913]][[sthref59]][[geloy]]


Table 8-32 JVM Monitoring Statistics for Java SE - Thread Info

[width="100%",cols="20%,16%,64%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`blockedcount` |CountStatistic |Total number of times that the thread
entered the `BLOCKED` state.

|`blockedtime` |CountStatistic |Time elapsed (in milliseconds) since the
thread entered the `BLOCKED` state. Returns -1 if thread contention
monitoring is disabled.

|`lockname` |StringStatistic |String representation of the monitor lock
that the thread is blocked to enter or waiting to be notified through
the `Object.wait` method.

|`lockownerid` |CountStatistic |ID of the thread that holds the monitor
lock of an object on which this thread is blocking.

|`lockownername` |StringStatistic |Name of the thread that holds the
monitor lock of the object this thread is blocking on.

|`stacktrace` |StringStatistic |Stack trace associated with this thread.

|`threadid` |CountStatistic |ID of the thread.

|`threadname` |StringStatistic |Name of the thread.

|`threadstate` |StringStatistic |State of the thread.

|`waitedtime` |CountStatistic |Elapsed time (in milliseconds) that the
thread has been in a `WAITING` state. Returns -1 if thread contention
monitoring is disabled.

|`waitedcount` |CountStatistic |Total number of times the thread was in
`WAITING` or `TIMED_WAITING` states.
|=======================================================================


[[ablvl]][[GSADG00661]][[transaction-service-statistics]]

Transaction Service Statistics
++++++++++++++++++++++++++++++

The transaction service allows the client to freeze the transaction
subsystem in order to roll back transactions and determine which
transactions are in process at the time of the freeze. The transaction
service fits into the tree of objects as shown in
link:#gitci[Transactions Service Tree Hierarchy].

Use the following dotted name pattern for transaction service
statistics:

[source,oac_no_warn]
----
server.transaction-service.statistic
----

The statistics available for the transaction service are shown in the
following table.

[[GSADG914]][[sthref60]][[gelpl]]


Table 8-33 Transaction Service Monitoring Statistics

[width="100%",cols="23%,16%,61%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`activecount` |CountStatistic |Number of transactions currently active.

|`activeids` |StringStatistic |The ID's of the transactions that are
currently active. Every such transaction can be rolled back after
freezing the transaction service.

|`committedcount` |CountStatistic |Number of transactions that have been
committed.

|`rolledbackcount` |CountStatistic |Number of transactions that have
been rolled back.

|`state` |StringStatistic |Indicates whether or not the transaction has
been frozen.
|=======================================================================


[[ablvf]][[GSADG00662]][[web-statistics]]

Web Statistics
++++++++++++++

The web module fits into the tree of objects as shown in link:#ghlff[Web
Tree Hierarchy].

The available web statistics shown in the following sections:

* link:#gjkaz[Web Module Servlet Statistics]
* link:#ghqge[Web JSP Statistics]
* link:#ghqga[Web Request Statistics]
* link:#ghqfu[Web Servlet Statistics]
* link:#ghqfr[Web Session Statistics]

[[gjkaz]][[GSADG00077]][[web-module-servlet-statistics]]

Web Module Servlet Statistics

Use the following dotted name pattern for web module servlet statistics:

[source,oac_no_warn]
----
server.applications.web-module.virtual-server.servlet.statistic
server.applications.application.web-module.virtual-server.servlet.statistic
----

The available web module servlet statistics are shown in the following
table.

[[GSADG915]][[sthref61]][[gjkba]]


Table 8-34 Web Module Servlet Statistics

[width="100%",cols="21%,16%,63%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`errorcount` |CountStatistic |Cumulative number of cases where the
response code is greater than or equal to 400.

|`maxtime` |CountStatistic |Maximum amount of time the web container
waits for requests.

|`processingtime` |CountStatistic |Cumulative value of the amount of
time required to process each request. The processing time is the
average of request processing times divided by the request count.

|`requestcount` |CountStatistic |The total number of requests processed
so far.

|`servicetime` |CountStatistic |Aggregate response time in milliseconds.
|=======================================================================


[[ghqge]][[GSADG00079]][[web-jsp-statistics]]

Web JSP Statistics

Use the following dotted name pattern for web JSP statistics:

[source,oac_no_warn]
----
server.applications.web-module.virtual-server.statistic
server.applications.application.web-module.virtual-server.statistic
----

The available web JSP statistics are shown in the following table.

[[GSADG917]][[sthref62]][[givgh]]


Table 8-35 Web JSP Monitoring Statistics

[width="100%",cols="24%,16%,60%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`jspcount-current` |RangeStatistic |Number of active JSP pages

|`jsperrorcount` |CountStatistic |Total number of errors triggered by
JSP page invocations

|`jspreloadedcount` |CountStatistic |Total number of JSP pages that were
reloaded

|`totaljspcount` |CountStatistic |Total number of JSP pages ever loaded
|=======================================================================


[[ghqga]][[GSADG00080]][[web-request-statistics]]

Web Request Statistics

Use the following dotted name pattern for web request statistics:

[source,oac_no_warn]
----
server.applications.web-module.virtual-server.statistic
server.applications.application.web-module.virtual-server.statistic
----

The available web request statistics are shown in the following table.

[[GSADG918]][[sthref63]][[gjisw]]


Table 8-36 Web Request Monitoring Statistics

[width="100%",cols="21%,16%,63%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`errorcount` |CountStatistic |Cumulative value of the error count, with
error count representing the number of cases where the response code was
greater than or equal to 400

|`maxtime` |CountStatistic |Longest response time for a request; not a
cumulative value, but the largest response time from among the response
times

|`processingtime` |CountStatistic |Average request processing time, in
milliseconds

|`requestcount` |CountStatistic |Cumulative number of the requests
processed so far
|=======================================================================


[[ghqfu]][[GSADG00081]][[web-servlet-statistics]]

Web Servlet Statistics

Use the following dotted name pattern for web servlet statistics:

[source,oac_no_warn]
----
server.applications.web-module.virtual-server.statistic
server.applications.application.web-module.virtual-server.statistic
----

The available web servlet statistics are shown in the following table.

[[GSADG919]][[sthref64]][[ghqiu]]


Table 8-37 Web Servlet Monitoring Statistics

[width="100%",cols="37%,16%,47%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`activeservletsloadedcount` |RangeStatistic |Number of currently loaded
servlets

|`servletprocessingtimes` |CountStatistic |Cumulative servlet processing
times , in milliseconds

|`totalservletsloadedcount` |CountStatistic |Cumulative number of
servlets that have been loaded into the web module
|=======================================================================


[[ghqfr]][[GSADG00082]][[web-session-statistics]]

Web Session Statistics

Use the following dotted name pattern for web session statistics:

[source,oac_no_warn]
----
server.applications.web-module.virtual-server.statistic
server.applications.application.web-module.virtual-server.statistic
----

The available web session statistics are shown in the following table.

[[GSADG920]][[sthref65]][[gellc]]


Table 8-38 Web Session Monitoring Statistics

[width="100%",cols="34%,16%,50%",options="header",]
|=======================================================================
|Statistic |Data Type |Description
|`activatedsessionstotal` |CountStatistic |Total number of activated
sessions

|`activesessionscurrent` |RangeStatistic |Number of currently active
sessions

|`activesessionshigh` |CountStatistic |Maximum number of concurrently
active sessions

|`expiredsessionstotal` |CountStatistic |Total number of expired
sessions

|`passivatedsessionstotal` |CountStatistic |Total number of passivated
sessions

|`persistedsessionstotal` |CountStatistic |Total number of persisted
sessions

|`rejectedsessionstotal` |CountStatistic |Total number of rejected
sessions

|`sessionstotal` |CountStatistic |Total number of sessions created
|=======================================================================


[[giwqm]][[GSADG00561]][[configuring-jconsole-to-view-glassfish-server-monitoring-data]]

Configuring JConsole to View GlassFish Server Monitoring Data
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Java SE provides tools to connect to an MBean Server and view the MBeans
registered with the server. JConsole is one such popular JMX Connector
Client and is available as part of the standard Java SE distribution.
When you configure JConsole for use with GlassFish Server, GlassFish
Server becomes the JMX Connector's server end and JConsole becomes the
JMX connector's client end.

[[ggpfh]][[GSADG00390]][[to-connect-jconsole-to-glassfish-server]]

To Connect JConsole to GlassFish Server
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Java SE 6 enhances management and monitoring of the virtual machine by
including a Platform MBean Server and by including managed beans
(MBeans) to configure the virtual machine.

To view all MBeans, GlassFish Server provides a configuration of the
standard JMX connector server called System JMX Connector Server. As
part of GlassFish Server startup, an instance of this JMX Connector
Server is started. Any compliant JMX connector client can connect to the
server using the JMX Connector Server.

By default, GlassFish Server is configured with a non-secure System JMX
Connector Server. If this is an issue, the JMX connector can be removed.
However, access can be restricted to a specific IP address (for example,
the loopback address) by setting `address` to `locahost`.

1.  Start the domain. +
For instructions, see link:domains.html#ggoda[To Start a Domain].
2.  Start JConsole using this format: JDK_HOME`/bin/jconsole` +
For example: +
[source,oac_no_warn]
----
/usr/java/bin/jconsole
----
The JConsole Connect to Agent window is displayed.
3.  Click the Remote tab and type the host name and port. +
Always connect remotely with JConsole, otherwise MBeans will not load
automatically.
4.  Click Connect.
5.  In the Remote Process text box, specify the JMX Service URL. +
For example: +
[source,oac_no_warn]
----
service:jmx:rmi:///jndi/rmi://localhost:8686/jmxrmi 
----
The JMX Service URL is emitted by the server at startup, looking
something like this: +
[source,oac_no_warn]
----
[#|2009-12-03T10:25:17.737-0800|INFO|glassfishv3.0|
x..system.tools.admin.org.glassfish.server|_ThreadID=20;
_ThreadName=Thread-26;|JMXStartupService: Started JMXConnector, JMXService 
URL = service:jmx:rmi://localhost:8686/jndi/rmi://localhost:8686/jmxrmi|#]
----
However, in most cases, simply entering `host:port` is fine, such as,
192.168.1.150:8686. The long Service URL is not needed. +

[NOTE]
=======================================================================

Another host name can be substituted for `localhost`. The default port
number (8686) could change if the `jmx-connector` configuration has been
modified.

=======================================================================

6.  Click Connect. +
In the JConsole window you will see all your MBeans, JVM information,
and so on, in various tabs. Most of the useful MBeans are to be found in
the `amx` and `java.lang` domains.

[[GSADG921]]

See Also

For more information about JConsole, see
`http://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html`.


