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