Metagnostic
home

JNIPort for Dolphin Smalltalk

Overview

Contents

Players

Layers

Examples

Configuration

InFAQ

Changes

Licence


Back to Goodies

The Status Monitor's Status Page

The Status Page is a plug-in page for the Status Monitor. It displays some statistics about JNIPort and provides the means to close it down.

Status Monitor showing Status page

The statistics are updated at intervals controlled by the 'View⇒Update interval⇒' sub-menu. The statistics are:

Name Meaning
JVM name You can probably guess this one…
Status Whether it's running or has been shutdown (or died by itself).
Ghost classes Indicates whether it is configured to use ghost classes. The value may be 'Lazy' or 'Eager' if ghost classes are used at all, otherwise will be 'NotUsed'. 'Eager' means that ghosts classes are generated as soon as the class is mentioned; 'Lazy' means that their creation is postponed until they are actually used (which improves startup time markedly, but is still an experimental feature in this version of JNIPort). This is only a rough indication because ghost classes may only be in use for some Java classes.
Supports callbacks Whether it has been configured to support callbacks.
Supplementary classloaders Whether the use of supplementary classloaders is currently enabled (an experimental feature in this version of JNIPort).
Local object refs The number of references to Java objects currently held by JNIPort. The distinction between local and global is an internal matter (reflecting one of the odd features of JNI). Local references are not used at all if JNIPort has been configured to support callbacks.
Global object refs
Total object refs
Local pool allocated This is another internal matter related to JNI. The local pool is allocated by JNI; it should be large enough for all all the local references held at any one time. This number should never shrink, and may grow quite large if the finalisation process falls too far behind the allocator.
Objects created The total number of references to Java objects that have been wrapped as Smalltalk objects in the life of this runtime.
Objects released The total number of wrapper objects that have died and released their wrapped reference to a Java object.
Callback nesting The number of callbacks that are active at this time. If Dolphin is currently servicing a callback (i.e. Smalltalk code has been called from Java) then this number will be at least one. Normally it will be zero.
Registry size The size of the class registry. This is just the number of Java classes and other types that JNIPort has ever loaded.
Index size The size of the class index. This is just the number of Java classes and other types that JNIPort has ever loaded by name (the JVM>>findClass: method).
Callbacks The total number of callbacks that have been processed. This row, and the next three, will be -1 if the callback registry has not yet (lazily) initialised itself, and will not be displayed at all if callbacks are not configured.
Callback queue length The current and maximum length of the queue used for callback notifications from Java code into Smalltalk.
Callback queue max
Callbacks registered The number of callback handlers that are registered with the callback registry.
Hook queue length The current and maximum length of the queue used by JNI Helper to hold notifications of debugging events from the Java runtime until Dolphin is ready to accept them without deadlocking. These rows are not displayed if JNI Helper is not configured.
Hook queue max

Copyright © Chris Uppal, 2003-2005

Java, JNI (probably), JVM (possibly), and God knows what else, are trademarks of Sun Microsystems, Inc.