<?xml version="1.0" encoding="UTF-8"?> 
<java version="1.6.0-rc" class="java.beans.XMLDecoder"> 
 <object class="org.opensolaris.chime.DisplayDescription"> 
  <void property="clearedAggregations"> 
   <array class="java.lang.String" length="0"/> 
  </void> 
  <void property="columns"> 
   <array class="org.opensolaris.chime.ColumnDescription" length="4"> 
    <void index="0"> 
     <object class="org.opensolaris.chime.ColumnDescription"> 
      <void property="hidden"> 
       <boolean>true</boolean> 
      </void> 
      <void property="name"> 
       <string>Thread ID Hidden</string> 
      </void> 
      <void property="tupleIndex"> 
       <int>0</int> 
      </void> 
     </object> 
    </void> 
    <void index="1"> 
     <object class="org.opensolaris.chime.ColumnDescription"> 
      <void property="name"> 
       <string>Thread ID</string> 
      </void> 
      <void property="sourceColumnName"> 
       <string>Thread ID Hidden</string> 
      </void> 
      <void property="valueType"> 
       <string>GROUP</string> 
      </void> 
     </object> 
    </void> 
    <void index="2"> 
     <object class="org.opensolaris.chime.ColumnDescription"> 
      <void property="name"> 
       <string>Wait Time (ns)</string> 
      </void> 
      <void property="valueType"> 
       <string>BUCKET</string> 
      </void> 
     </object> 
    </void> 
    <void index="3"> 
     <object class="org.opensolaris.chime.ColumnDescription"> 
      <void property="name"> 
       <string>Count</string> 
      </void> 
      <void property="plottable"> 
       <boolean>true</boolean> 
      </void> 
      <void property="valuePerSecond"> 
       <boolean>true</boolean> 
      </void> 
      <void property="valueType"> 
       <string>BUCKET_FREQUENCY</string> 
      </void> 
     </object> 
    </void> 
   </array> 
  </void> 
  <void property="demarcated"> 
   <boolean>true</boolean> 
  </void> 
  <void property="longDescription"> 
   <string>&lt;html&gt;Example distribution of monitor wait times from&lt;br&gt;
&lt;b&gt;DTrace and Java: Exposing Performance Problems That Once Were Hidden&lt;/b&gt;&lt;br&gt;
by &lt;i&gt;Jarod Jensen&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
(Quoted from the article):&lt;br&gt;
&apos;Perhaps you are seeing monitor contention that is affecting scalability in your application. One question you might have is: &quot;How long do I wait from the time I attempt to acquire the contended monitor until I actually enter the monitor?&quot; Now you can create a little DTrace script to answer that question.&apos;&lt;br&gt;
&lt;br&gt;
See http://www.devx.com/Java/Article/33943
&lt;br&gt;&lt;br&gt;
See also &lt;b&gt;DTrace Probes in HotSpot VM&lt;/b&gt;&lt;br&gt; 
http://java.sun.com/javase/6/docs/technotes/guides/vm/dtrace.html&lt;/html&gt;</string> 
  </void> 
  <void property="options"> 
   <array class="org.opensolaris.os.dtrace.Option" length="1"> 
    <void index="0"> 
     <object class="org.opensolaris.os.dtrace.Option"> 
      <string>zdefs</string> 
      <string>set</string> 
     </object> 
    </void> 
   </array> 
  </void> 
  <void property="programString"> 
   <string>hotspot$target:::monitor-contended-enter
{
        self-&gt;ts = timestamp;
}

hotspot$target:::monitor-contended-entered
/ self-&gt;ts /
{
        @[tid] = quantize(timestamp - self-&gt;ts);
        self-&gt;ts = 0;
}</string> 
  </void> 
  <void property="promptTarget"> 
   <boolean>true</boolean> 
  </void> 
  <void property="size"> 
   <object class="java.awt.Dimension"> 
    <int>400</int> 
    <int>541</int> 
   </object> 
  </void> 
  <void property="title"> 
   <string>Monitor Wait Times</string> 
  </void> 
  <void property="version"> 
   <int>2</int> 
  </void> 
 </object> 
</java> 
