duke@435: duke@435: duke@435: duke@435: Hotspot SA User Interface Notes duke@435: duke@435: duke@435: duke@435:

Hotspot SA User Interface Notes

duke@435: duke@435:

Workspace and Building

duke@435: duke@435:

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

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

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

Running the project

duke@435: duke@435: duke@435: duke@435:

Feedback

duke@435:

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

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

duke@435: duke@435:

sla@4642: Seems like there is a lot of redundant functionality. Perhaps duke@435: this can be consolidated with a javax.swing.Actions architecture. duke@435: duke@435:

Tasklist

duke@435: duke@435:

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

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

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

duke@435: duke@435:

Log

duke@435: duke@435: Last modified: Tue Feb 05 19:15:12 Pacific Standard Time 2002 duke@435:

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

duke@435:       public int getSize()
duke@435:       public ObjectHistogramElement getElementAt(int row);
duke@435:     
duke@435:

duke@435: ObjectHistogramElement should return the String that represents duke@435: the third column duke@435: duke@435: duke@435:


duke@435:
Mark Davidson
duke@435: duke@435: duke@435: Last modified: Tue Feb 05 20:05:13 Pacific Standard Time 2002 duke@435: duke@435: duke@435: