Articles : JVM Monitoring and Management Specification :

Native Support:

The sections above discussed the general requirements that any monitoring model has to support. The API also provides guidelines for a native interface that can be used to externalize the JVM monitoring data. Most of the time JVM data collected through monitoring is used internally for self monitoring the JVM. These are cases when this JVM data needs to be externalized so that JVMs can be monitored externally. Typical users are system administrators who would need this data to do continuous production monitoring. Other users could be IT support engineers who need the JVM data to troubleshoot problems in production and finally, development teams which require production data to enhance performance.

The Monitoring API proposes a native interface to externalize the monitoring data discussed above. These interfaces can be defined by the utilizing the "self-describing extensions" defined in the JVM tools interface (JVMTI) outlined in the JSR 163.

The native interface should support late binding of native agents without a JVM restart and connection to multiple agents and will help in the coordination of these multiple agents. They shall provide multi-thread safe operation. The native system shall provide facilities to monitor the life cycle of classes.

Related Specifications:

JVMTI:

The Java Virtual Machine Tool Interface (JVMTI) is defined as part of the JSR 163 and is an API designed for developing tools for monitoring and development. It provides a mechanism to query the state of a JVM and control execution of applications running in a JVM. JVMTI can be used for profiling, debugging, monitoring and thread analysis to name a few. JVMTI can also help monitor events and then notify JVMTI client of any events they are registered to receive. The clients are usually thin and can be controlled by the same JVM or by a separate JVM. Tools can be directly written to the JVMTI or by using the high level interfaces defined by the API. The JVMTI is an extension of the Java Platform Debugger Architecture (JPDA).

JVMDI

The Java Virtual Machine Debug Interface (JVMDI) is a programming interface used by debuggers and other programming tools. JVMDI clients run in the same virtual machine in which the application being debugged is running and access JVMDI through a native interface. The native interface works with minimal intrusion on the part of a debugging tool. JVMDI describes the facilities provided by a JVM which can help in debugging the applications running under that JVM. JVMDI is one layer within the Java Platform Debugger Architecture (JPDA). The JPDA is briefly discussed below.

JPDA:

The JPDA provides the infrastructure required for building debugger applications for the Java 2 Platform. JPDA is included in the J2SE 1.3 version. This API provides a standard interface to write debugging tools, irrespective of the platform, operating system and the JVM implementation.

Conclusion:

The JVM Monitoring API is just a proposed guideline for third party tool developers to create monitoring tools. The API is not a self-contained specification for developing tools but uses relevant portions of the JVMTI so that details are not duplicated. Ultimately the API would go as part of the JSR 163 where general specifications for tool developing would be defined.

Print Article


Benoy Jose is a web developer with over six years of experience in J2EE and Microsoft technologies. He is a Sun Cetified programmer and enjoys writing technical and non-technical articles for various magazines.


How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.