agent/make/marks_notes.html

Tue, 08 Aug 2017 15:57:29 +0800

author
aoqi
date
Tue, 08 Aug 2017 15:57:29 +0800
changeset 6876
710a3c8b516e
parent 4642
5ed317b25e23
parent 0
f90c822e73f8
permissions
-rw-r--r--

merge

aoqi@0 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
aoqi@0 2 <html>
aoqi@0 3 <head>
aoqi@0 4 <title>Hotspot SA User Interface Notes</title>
aoqi@0 5 </head>
aoqi@0 6
aoqi@0 7 <body>
aoqi@0 8 <h1>Hotspot SA User Interface Notes</h1>
aoqi@0 9
aoqi@0 10 <h2>Workspace and Building</h2>
aoqi@0 11
aoqi@0 12 <p>
aoqi@0 13 All the source code for the Serviceability Agent is in
aoqi@0 14 <code>src/share/vm/agent</code> in the HotSport workspace
aoqi@0 15 <code>/net/jano.sfbay/export/disk05/hotspot/ws/1.4/sa_baseline</code>
aoqi@0 16 <p>
aoqi@0 17 You can build the project by typing <code>gnumake</code> in the
aoqi@0 18 <code>src/share/vm/agent</code> directory.
aoqi@0 19 <p>
aoqi@0 20 You can also use the default build target using the Ant build file (build.xml). You can download Ant from
aoqi@0 21 <a href="http://jakarta.apache.org/ant">http://jakarta.apache.org/ant</a>. Documentation for Ant can be
aoqi@0 22 found at <a href="http://jakarta.apache.org/ant/manual/index.html">http://jakarta.apache.org/ant/manual/index.html</a>
aoqi@0 23
aoqi@0 24
aoqi@0 25 <h2>Running the project</h2>
aoqi@0 26
aoqi@0 27 <ul>
aoqi@0 28 <li><code>java -cp classes sun.jvm.hotspot.HSDB</code>
aoqi@0 29 </ul>
aoqi@0 30
aoqi@0 31 <h2>Feedback</h2>
aoqi@0 32 <p>
aoqi@0 33 Refactoring of package hierarchy. All user interface components should be in
aoqi@0 34 the ui package. Perhaps: sun.jvm.hotspot.ui.hsdb.Main for the HSDB.
aoqi@0 35 <p>
aoqi@0 36 The src\share\vm\agent area seems like a workspace so it should be organized like
aoqi@0 37 one. In particular, I'd like to suggest the following directory layout:<br>
aoqi@0 38
aoqi@0 39 <ul>
aoqi@0 40 <li>src: All sources that are curently under the sun directory.
aoqi@0 41 <li>classes: compiled class files.
aoqi@0 42 <li>lib: Resources like images, icons and jar files.
aoqi@0 43 <li>docs: Documentation
aoqi@0 44 <li>deploy: distribution bundles for Java Web Start.
aoqi@0 45 </ul>
aoqi@0 46
aoqi@0 47 <p>
aoqi@0 48 Seems like there is a lot of redundant functionality. Perhaps
aoqi@0 49 this can be consolidated with a <code>javax.swing.Actions</code> architecture.
aoqi@0 50
aoqi@0 51 <h2>Tasklist</h2>
aoqi@0 52
aoqi@0 53 <p>
aoqi@0 54 <b>Stack memory pane</b>:
aoqi@0 55 It's one of the more useful JVM debugging tools in the SA. However, it
aoqi@0 56 doesn't support any interaction with the text.
aoqi@0 57 <p>
aoqi@0 58 <b>Integrations with the NetBeans architecture (plug in).</b> See the
aoqi@0 59 <a href="http://openide.netbeans.org">Netbeans Open APIs homepage</a>
aoqi@0 60
aoqi@0 61
aoqi@0 62 <p>
aoqi@0 63 HSDB: Object Histogram. Column sizes should be sized according the the
aoqi@0 64 contents. i.e, The size and count columns should be narrow enought to
aoqi@0 65 handle the largest window. Since there is a lot of data, sorting
aoqi@0 66 and searching should be implemented.
aoqi@0 67 <p>
aoqi@0 68
aoqi@0 69 <h2>Log</h2>
aoqi@0 70
aoqi@0 71 <i>Last modified: Tue Feb 05 19:15:12 Pacific Standard Time 2002</i>
aoqi@0 72 <p>
aoqi@0 73 sun.jvm.hotspot.oops.ObjectHistogram should be the underlying data
aoqi@0 74 structure for the TableModels. It shouldnt bother with sorting the data -
aoqi@0 75 the table model should do that. It should implement these methods:
aoqi@0 76
aoqi@0 77 <pre>
aoqi@0 78 public int getSize()
aoqi@0 79 public ObjectHistogramElement getElementAt(int row);
aoqi@0 80 </pre>
aoqi@0 81 <p>
aoqi@0 82 ObjectHistogramElement should return the String that represents
aoqi@0 83 the third column
aoqi@0 84
aoqi@0 85
aoqi@0 86 <hr>
aoqi@0 87 <address><a href="mailto:mark.davidson@sun.com">Mark Davidson</a></address>
aoqi@0 88 <!-- Created: Mon Jan 28 14:33:47 Pacific Standard Time 2002 -->
aoqi@0 89 <!-- hhmts start -->
aoqi@0 90 Last modified: Tue Feb 05 20:05:13 Pacific Standard Time 2002
aoqi@0 91 <!-- hhmts end -->
aoqi@0 92 </body>
aoqi@0 93 </html>

mercurial