< prev index next >

src/share/vm/prims/jvmti.xml

Print this page

        

@@ -11464,10 +11464,85 @@
       </parameters>
       <errors>
       </errors>
     </function>
 
+    <function id="StartHeapSampling" phase="any" num="156">
+      <synopsis>Start Heap Sampling</synopsis>
+      <description>
+        Start the heap sampler in the JVM. The function provides, via its argument, the sampling
+        rate requested and will fill internal data structures with heap allocation samples. The
+        samples are obtained via the <functionlink id="GetLiveTraces"></functionlink> function.
+      </description>
+      <origin>new</origin>
+      <capabilities>
+      </capabilities>
+      <parameters>
+        <param id="monitoring_period">
+          <jint/>
+          <description>
+            The monitoring period used for sampling. The sampler will use a statistical approach to
+            provide in average sampling every <paramlink id="monitoring_period"/> allocated bytes.
+          </description>
+        </param>
+      </parameters>
+      <errors>
+        <error id="JVMTI_ERROR_ILLEGAL_ARGUMENT">
+          <paramlink id="monitoring_period"></paramlink> is less than zero.
+        </error>
+      </errors>
+    </function>
+
+
+    <function id="GetLiveTraces" num="157">
+      <synopsis>Get Live Traces</synopsis>
+      <typedef id="jvmtiStackTraceData" label="Stack Trace Data">
+        <field id="trace">
+          <vmbuf><void/></vmbuf>
+          <description>
+            TODO(jcbeyler): Not sure if we should declare the type as non void and make a JVMTI type here.
+            It would be ASGCT_CallTrace and then would include a pointer to ASGCT_CallFrame. Would we refactor that code?
+          </description>
+        </field>
+        <field id="size">
+          <jint/>
+          <description>
+            The size of the object allocation.
+          </description>
+        </field>
+        <field id="thread_id">
+          <jlong/>
+          <description>
+            The thread id number.
+          </description>
+        </field>
+      </typedef>
+      <description>
+        Get Live Heap Sampled traces.  The fields of the <datalink id="jvmtiStackTraceData"/>
+        structure are filled in with details of the specified sampled allocation.
+      </description>
+      <origin>new</origin>
+      <capabilities>
+      </capabilities>
+      <parameters>
+        <param id="stack_traces">
+          <allocbuf outcount="num_traces"><struct>jvmtiStackTraceData</struct></allocbuf>
+          <description>
+            The stack trace array to be filled.
+          </description>
+        </param>
+        <param id="num_traces">
+          <outptr><jint/></outptr>
+          <description>
+            On output, size of the array returned via the first parameter.
+          </description>
+        </param>
+      </parameters>
+      <errors>
+      </errors>
+    </function>
+
   </category>
 
 </functionsection>
 
 <errorsection label="Error Reference">
< prev index next >