GlassFish Project - <Monitoring> home page

 New to GlassFish | Community Guidelines  | Downloads | FAQHow-Tos

Welcome to the Monitoring home page. This page is dedicated to discussing the monitoring features in GlassFish. The source code is part of the cvs repository.

The user community of Glassfish (for example, application developers, administrators etc.) is interested in viewing the runtime state of various runtime components of the application server. The information on the state of runtime components (and processes) is used to identify performance bottlenecks and tuning the system for optimal performance, to aid capacity planning, to predict failures, to do root cause analysis in case of failures and sometimes to just ensure that everything is functioning as expected.

Monitoring overall system health is of fundamental importance to understand the health of every system involved that includes Web servers, application servers, databases, back-end systems, and any other systems critical to running your Web site.


The new Call Flow feature allows monitoring of  requests flowing through the application server.
Web Services Monitoring is now part of GlassFish. Look here for more details.

Page Contents


The majority of the GlassFish code is available under the Common Development and Distribution License (CDDL) v1.0  The following page contains details about the components in GlassFish and the licenses under which they are covered.

Monitoring in GlassFish relies on JSR77, the management specification for J2EE and upon the administrative infrastructure built using Java Management eXtensions(JMX).  JSR77 proposes a standard object model for J2EE management and specifies a framework for implementing statistics provider objects. The Stats interfaces defined as part of JSR77 can be used to capture the performance data for each of the managed objects.

A user can monitor various components of GlassFish using JMX which is the primary interface to monitor runtime state. A Stats Provider MBean is registered for each of the Stats implementations and the statistics that are part of the Stats implementation are mapped to the attributes of the MBean through introspection. The system contains many Stats Provider MBeans. These MBeans may map to fine grained resources, like a method in a ejb, servlet in an application or to more coarse grained resources like the entire connection pool or transaction service. The common characteristic of these MBeans is that they all expose statistics collected at runtime as attributes, and can therefore be queried from JMX clients. The statistics themselves are rich objects like CountStatistic, BoundedRangeStatistic (as defined in JSR 77 specification). The monitoring MBeans can be accessed locally in the same JVM or from external JVMs using a JMX connector(JSR 160).

Figure 1: Monitoring Infrastructure Diagram

The monitoring code is in  admin/monitor and admin-core/monitor  packages.


Configure Monitoring level :

Monitoring can be set to "HIGH", "LOW" or "OFF" for various sub components. This can be done using the admin tools : 

Retrieving Monitoring Data:

The runtime statistics collected by GlassFish can be retrieved for vario us sub components. This can be done using admin tools :

Unit/Acceptance Tests

Running the Quicklook tests is required in this section. In addition to the Quicklook tests the monitoring module has unit tests developed which need to pass prior to checking in any code. The setup for running unit tests is the same as the Quicklook tests.

Supporting Documentation


General Information :

Information on JMX Tecnology : Understanding JMX Technology

ToDo List