aoqi@0: aoqi@0: aoqi@0: aoqi@0: Hotspot SA User Interface Notes aoqi@0: aoqi@0: aoqi@0: aoqi@0:

Hotspot SA User Interface Notes

aoqi@0: aoqi@0:

Workspace and Building

aoqi@0: aoqi@0:

aoqi@0: All the source code for the Serviceability Agent is in aoqi@0: src/share/vm/agent in the HotSport workspace aoqi@0: /net/jano.sfbay/export/disk05/hotspot/ws/1.4/sa_baseline aoqi@0:

aoqi@0: You can build the project by typing gnumake in the aoqi@0: src/share/vm/agent directory. aoqi@0:

aoqi@0: You can also use the default build target using the Ant build file (build.xml). You can download Ant from aoqi@0: http://jakarta.apache.org/ant. Documentation for Ant can be aoqi@0: found at http://jakarta.apache.org/ant/manual/index.html aoqi@0: aoqi@0: aoqi@0:

Running the project

aoqi@0: aoqi@0: aoqi@0: aoqi@0:

Feedback

aoqi@0:

aoqi@0: Refactoring of package hierarchy. All user interface components should be in aoqi@0: the ui package. Perhaps: sun.jvm.hotspot.ui.hsdb.Main for the HSDB. aoqi@0:

aoqi@0: The src\share\vm\agent area seems like a workspace so it should be organized like aoqi@0: one. In particular, I'd like to suggest the following directory layout:
aoqi@0: aoqi@0:

aoqi@0: aoqi@0:

aoqi@0: Seems like there is a lot of redundant functionality. Perhaps aoqi@0: this can be consolidated with a javax.swing.Actions architecture. aoqi@0: aoqi@0:

Tasklist

aoqi@0: aoqi@0:

aoqi@0: Stack memory pane: aoqi@0: It's one of the more useful JVM debugging tools in the SA. However, it aoqi@0: doesn't support any interaction with the text. aoqi@0:

aoqi@0: Integrations with the NetBeans architecture (plug in). See the aoqi@0: Netbeans Open APIs homepage aoqi@0: aoqi@0: aoqi@0:

aoqi@0: HSDB: Object Histogram. Column sizes should be sized according the the aoqi@0: contents. i.e, The size and count columns should be narrow enought to aoqi@0: handle the largest window. Since there is a lot of data, sorting aoqi@0: and searching should be implemented. aoqi@0:

aoqi@0: aoqi@0:

Log

aoqi@0: aoqi@0: Last modified: Tue Feb 05 19:15:12 Pacific Standard Time 2002 aoqi@0:

aoqi@0: sun.jvm.hotspot.oops.ObjectHistogram should be the underlying data aoqi@0: structure for the TableModels. It shouldnt bother with sorting the data - aoqi@0: the table model should do that. It should implement these methods: aoqi@0: aoqi@0:

aoqi@0:       public int getSize()
aoqi@0:       public ObjectHistogramElement getElementAt(int row);
aoqi@0:     
aoqi@0:

aoqi@0: ObjectHistogramElement should return the String that represents aoqi@0: the third column aoqi@0: aoqi@0: aoqi@0:


aoqi@0:
Mark Davidson
aoqi@0: aoqi@0: aoqi@0: Last modified: Tue Feb 05 20:05:13 Pacific Standard Time 2002 aoqi@0: aoqi@0: aoqi@0: