<?xml version="1.0" encoding="UTF-8"?> 
<java version="1.6.0" class="java.beans.XMLDecoder"> 
 <object class="org.opensolaris.chime.DisplayDescription"> 
  <void property="columns"> 
   <array class="org.opensolaris.chime.ColumnDescription" length="3"> 
    <void index="0"> 
     <object class="org.opensolaris.chime.ColumnDescription"> 
      <void property="name"> 
       <string>Thread</string> 
      </void> 
      <void property="tupleIndex"> 
       <int>0</int> 
      </void> 
     </object> 
    </void> 
    <void index="1"> 
     <object class="org.opensolaris.chime.ColumnDescription"> 
      <void property="name"> 
       <string>Method</string> 
      </void> 
      <void property="tupleIndex"> 
       <int>1</int> 
      </void> 
     </object> 
    </void> 
    <void index="2"> 
     <object class="org.opensolaris.chime.ColumnDescription"> 
      <void property="aggregationName"> 
       <string>method_calls</string> 
      </void> 
      <void property="name"> 
       <string>Method Count</string> 
      </void> 
      <void property="plottable"> 
       <boolean>true</boolean> 
      </void> 
     </object> 
    </void> 
   </array> 
  </void> 
  <void property="initialSort"> 
   <array class="org.opensolaris.chime.util.TableSortCriteria" length="2"> 
    <void index="0"> 
     <object class="org.opensolaris.chime.util.TableSortCriteria"> 
      <string>Method Count</string> 
      <boolean>false</boolean> 
     </object> 
    </void> 
    <void index="1"> 
     <object class="org.opensolaris.chime.util.TableSortCriteria"> 
      <string>Thread</string> 
      <boolean>false</boolean> 
     </object> 
    </void> 
   </array> 
  </void> 
  <void property="longDescription"> 
   <string>&lt;html&gt;&lt;p&gt;Displays a count of method calls for the given JVM. The target JVM must be run with the &lt;font face=&quot;Courier&quot;&gt;-XX:+ExtendedDTraceProbes&lt;/font&gt; option.  You can use the &lt;font face=&quot;Courier&quot;&gt;jinfo&lt;/font&gt; command to view and modify JVM options. This
display uses the new DTrace probes defined in JDK 6, so you need at least
JDK 6 to run this display.&lt;/p&gt;
&lt;p&gt;Use caution, &lt;font color=&quot;red&quot;&gt;enabling these extended probes or using this chime display will slow down your application significantly&lt;/font&gt;.&lt;/p&gt;
&lt;p&gt;For more information, you can see the reference &amp;ldquo;DTrace Probes in HotSpot VM&amp;rdquo; http://java.sun.com/javase/6/docs/technotes/guides/vm/dtrace.html  and also the article &amp;ldquo;DTrace and Java: Exposing Performance Problems That Once Were Hidden&amp;rdquo; by Jarod Jenson http://www.devx.com/Java/Article/33943&lt;/p&gt;&lt;/html&gt;</string> 
  </void> 
  <void property="options"> 
   <array class="org.opensolaris.os.dtrace.Option" length="6"> 
    <void index="0"> 
     <object class="org.opensolaris.os.dtrace.Option"> 
      <string>aggsize</string> 
      <string>16m</string> 
     </object> 
    </void> 
    <void index="1"> 
     <object class="org.opensolaris.os.dtrace.Option"> 
      <string>cleanrate</string> 
      <string>100ms</string> 
     </object> 
    </void> 
    <void index="2"> 
     <object class="org.opensolaris.os.dtrace.Option"> 
      <string>dynvarsize</string> 
      <string>512m</string> 
     </object> 
    </void> 
    <void index="3"> 
     <object class="org.opensolaris.os.dtrace.Option"> 
      <string>aggrate</string> 
      <string>1000ms</string> 
     </object> 
    </void> 
    <void index="4"> 
     <object class="org.opensolaris.os.dtrace.Option"> 
      <string>bufpolicy</string> 
      <string>ring</string> 
     </object> 
    </void> 
    <void index="5"> 
     <object class="org.opensolaris.os.dtrace.Option"> 
      <string>zdefs</string> 
      <string>set</string> 
     </object> 
    </void> 
   </array> 
  </void> 
  <void property="programString"> 
   <string>

/* Written by Steven Reynolds */

this char *str_ptr;
this string class_name;
this string method_name;
this string signature;

hotspot$target:::method-entry
{
    /* signature */
    this-&gt;str_ptr = (char*) copyin(arg5, arg6+1);
    this-&gt;str_ptr[arg6] = &apos;\0&apos;;
    this-&gt;signature = (string) this-&gt;str_ptr;

    /* method name */
    this-&gt;str_ptr = (char*) copyin(arg3, arg4+1);
    this-&gt;str_ptr[arg4] = &apos;\0&apos;;
    this-&gt;method_name = strjoin((string) this-&gt;str_ptr,this-&gt;signature);

    /* class name */
    this-&gt;str_ptr = (char*) copyin(arg1, arg2+1);
    this-&gt;str_ptr[arg2] = &apos;\0&apos;;
    this-&gt;class_name = strjoin((string) this-&gt;str_ptr,this-&gt;method_name);

    @method_calls[tid,this-&gt;class_name] = count();
    /*trunc(@method_calls,20);*/

    this-&gt;str_ptr = 0;
    this-&gt;class_name = 0;
    this-&gt;method_name = 0;
    this-&gt;signature = 0;
}
</string> 
  </void> 
  <void property="promptTarget"> 
   <boolean>true</boolean> 
  </void> 
  <void property="size"> 
   <object class="java.awt.Dimension"> 
    <int>631</int> 
    <int>517</int> 
   </object> 
  </void> 
  <void property="title"> 
   <string>Java Method calls</string> 
  </void> 
  <void property="version"> 
   <int>2</int> 
  </void> 
 </object> 
</java> 
