Documentation

Engineering

Requirements (historical, not current)
One Pager
Dependencies Analysis
v3 Support Readiness Presentation (internal)
v3 Sustaining TOI (internal)
Monitoring Statistics Usage (internal)
GF v3 Probes Dashboard (internal)
Making a Module Monitorable in v3
http://wikis.sun.com/display/GlassFish/MonitorV3WithAmx

External

Oracle GlassFish Server 3.1 Administration Guide Monitoring, Chapter 8 Administering the Monitoring Service
Writing and Running JavaScript Clients to Monitor GlassFish Server
Oracle GlassFish 3.1 Add-on Component Development Guide, Chapter 5 Adding Monitoring Capabilities
Sun GlassFish Enterprise Manager DTrace Monitoring 3.0 Beta Installation and Quick Start Guide
Java EE 6 Webinar - Monitoring

Blogs

Mort Learns How to Use
Monitoring Scripting of Clusters
Mort Learns Monitoring and Admin
http://blogs.oracle.com/jenblog
How to Create a Pluggable Container
RESTful GlassFish Monitoring

Source Code Information

Management API - Public APIs and annotations - external to glassfish

Monitoring API - public APIs

Monitoring Infrastructure

  • v3/admin/monitor/src/main/java/org/glassfish/admin/monitor
    • MonitoringBootstrap.java - Discovers probe providers. Listens/handles monitoring configuration.
    • StatsProviderManagerDelegateImpl.java - Creates monitoring tree. Registers StatsProviders with Flashlight, GMBAL.
    • StatsProviderRegistry.java
  • Tree Node API/Implementation
    • v3/admin/monitor/src/main/java/org/glassfish/flashlight/
    • v3/common/internal-api/src/main/java/org/glassfish/flashlight/
  • Reporter for asadmin get -m command
    • v3/core/kernel/src/main/java/com/sun/enterprise/v3/admin/MonitoringReporter.java
  • Flashlight Framework
    • v3/flashlight - Register probes with btrace
Technologies
  • AMX** AMX loads MBeans (all MBeans or none) lazily in response to:
      • an MEJB connection
      • JMXConnector client connection
      • explicit call to bootAMX()
      • AmxPref.getAutoLoad() is true
v3 Design Information

Block Diagram
Block Diagram 2
GF Monitoring - ASArch Presentation
Monitoring Presentation for v3
v3 Express Monitoring

Defects

JIRA Sub-component name - monitoring
All
All unresolved monitoring bugs
All unresolved features/improvments
Bugs fixed in 3.1
Bugs that need devtests

Debugging
  • You can step through with the Netbeans debugger in the monitoring code, except in the flashlight area and on a probe. The JVM will crash.
  • Set monitoring logging level to FINE in logging.properties
    javax.enterprise.system.tools.monitor.level=FINE
  • Add jvm option to server-config domain.xml to turn on BTrace debugging
    <jvm-options>-javaagent:<gf install>/glassfish/target/glassfish3/glassfish/lib/monitor/btrace-agent.jar=dumpClasses=true,dumpDir=c:\tmp\dump2,debug=true,unsafe=true,noServer=true</jvm-options>
  • GMBAL debugging - In v3/admin/monitor/src/main/java/org/glassfish/admin/monitor/StatsProviderManagerDelegateImpl.java at line 722, you can change debug to true
    • mom.setJMXRegistrationDebug(false);
Tests

Admin Devtests
{{cd appserv-tests/devtests/admin/cli
ant -Dteststorun=monitoring clean all}}
Module-specific Devtests

v3 Links

http://wikis.sun.com/display/GlassFish/V2ToV3MonitoringXform
http://wikis.sun.com/display/GlassFish/V3MonitoringReviewJanLuehe
http://wikis.sun.com/display/GlassFish/MonitoringReviewComments

v2

http://glassfish.java.net/javaee5/monitoring/
http://wikis.sun.com/display/GlassFish/FaqMonitorGlassFish

S1AS80 PE

How Monitoring is Implemented in S1AS8.0 PE