Current File : //usr/share/lib/java/javadoc/dtrace/api/org/opensolaris/os/dtrace/Consumer.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Consumer</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Consumer";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../org/opensolaris/os/dtrace/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Consumer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/opensolaris/os/dtrace/AvgValue.html" title="class in org.opensolaris.os.dtrace"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/opensolaris/os/dtrace/Consumer.OpenFlag.html" title="enum in org.opensolaris.os.dtrace"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/opensolaris/os/dtrace/Consumer.html" target="_top">Frames</a></li>
<li><a href="Consumer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.opensolaris.os.dtrace</div>
<h2 title="Interface Consumer" class="title">Interface Consumer</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/LocalConsumer.html" title="class in org.opensolaris.os.dtrace">LocalConsumer</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Consumer</span></pre>
<div class="block">Interface to the native DTrace library, each instance is a single
 DTrace consumer.  To consume the output of DTrace program actions,
 <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#addConsumerListener-org.opensolaris.os.dtrace.ConsumerListener-"><code>register a probe data
 listener</code></a>.  To get a snapshot of all aggregations in a D program on
 your own programmatic interval without relying on DTrace actions to
 generate that output, use the <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#getAggregate--"><code>getAggregate()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/ProbeData.html" title="class in org.opensolaris.os.dtrace"><code>ProbeData</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Aggregate.html" title="class in org.opensolaris.os.dtrace"><code>Aggregate</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Interface and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.OpenFlag.html" title="enum in org.opensolaris.os.dtrace">Consumer.OpenFlag</a></span></code>
<div class="block">Optional flags passed to <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a>.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#abort--">abort</a></span>()</code>
<div class="block">Aborts the background thread started by <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#addConsumerListener-org.opensolaris.os.dtrace.ConsumerListener-">addConsumerListener</a></span>(<a href="../../../../org/opensolaris/os/dtrace/ConsumerListener.html" title="interface in org.opensolaris.os.dtrace">ConsumerListener</a>&nbsp;l)</code>
<div class="block">Adds a listener for probe data generated by this consumer.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--">close</a></span>()</code>
<div class="block">Closes an open consumer and releases the system resources it was
 holding.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.io.File-java.lang.String...-">compile</a></span>(java.io.File&nbsp;program,
       java.lang.String...&nbsp;macroArgs)</code>
<div class="block">Compiles the given D program file.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.lang.String-java.lang.String...-">compile</a></span>(java.lang.String&nbsp;program,
       java.lang.String...&nbsp;macroArgs)</code>
<div class="block">Compiles the given D program string.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#createProcess-java.lang.String-">createProcess</a></span>(java.lang.String&nbsp;command)</code>
<div class="block">Creates a process by executing the given command on the system
 and returns the created process ID.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#enable--">enable</a></span>()</code>
<div class="block">Enables all DTrace probes compiled by this consumer.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#enable-org.opensolaris.os.dtrace.Program-">enable</a></span>(<a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a>&nbsp;program)</code>
<div class="block">Enables DTrace probes matching the given program and attaches
 information about those probes to the given program.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../org/opensolaris/os/dtrace/Aggregate.html" title="class in org.opensolaris.os.dtrace">Aggregate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#getAggregate--">getAggregate</a></span>()</code>
<div class="block">Gets a snapshot of all aggregations except those that have
 already been captured in a <a href="../../../../org/opensolaris/os/dtrace/PrintaRecord.html" title="class in org.opensolaris.os.dtrace"><code>PrintaRecord</code></a>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/opensolaris/os/dtrace/Aggregate.html" title="class in org.opensolaris.os.dtrace">Aggregate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#getAggregate-java.util.Set-">getAggregate</a></span>(java.util.Set&lt;java.lang.String&gt;&nbsp;includedAggregationNames)</code>
<div class="block">Gets a snapshot of all the specified aggregations except those
 that have already been captured in a <a href="../../../../org/opensolaris/os/dtrace/PrintaRecord.html" title="class in org.opensolaris.os.dtrace"><code>PrintaRecord</code></a>.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../org/opensolaris/os/dtrace/Aggregate.html" title="class in org.opensolaris.os.dtrace">Aggregate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#getAggregate-java.util.Set-java.util.Set-">getAggregate</a></span>(java.util.Set&lt;java.lang.String&gt;&nbsp;includedAggregationNames,
            java.util.Set&lt;java.lang.String&gt;&nbsp;clearedAggregationNames)</code>
<div class="block">Gets a snapshot of all the specified aggregations except those
 that have already been captured in a <a href="../../../../org/opensolaris/os/dtrace/PrintaRecord.html" title="class in org.opensolaris.os.dtrace"><code>PrintaRecord</code></a>, with
 the side effect of atomically clearing any subset of those
 aggregations.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#getOption-java.lang.String-">getOption</a></span>(java.lang.String&nbsp;option)</code>
<div class="block">Gets the value of a DTrace option.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#getProgramInfo-org.opensolaris.os.dtrace.Program-">getProgramInfo</a></span>(<a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a>&nbsp;program)</code>
<div class="block">Attaches information about matching DTrace probes to the given
 program.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#getVersion--">getVersion</a></span>()</code>
<div class="block">Gets the version of the native DTrace library.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--">go</a></span>()</code>
<div class="block">Begin tracing and start a background thread to consume generated
 probe data.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go-org.opensolaris.os.dtrace.ExceptionHandler-">go</a></span>(<a href="../../../../org/opensolaris/os/dtrace/ExceptionHandler.html" title="interface in org.opensolaris.os.dtrace">ExceptionHandler</a>&nbsp;h)</code>
<div class="block">Begin tracing and start a background thread to consume generated
 probe data.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#grabProcess-int-">grabProcess</a></span>(int&nbsp;pid)</code>
<div class="block">Grabs the specified process and caches its symbol tables.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#isClosed--">isClosed</a></span>()</code>
<div class="block">Reports whether or not this consumer is closed.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#isEnabled--">isEnabled</a></span>()</code>
<div class="block">Reports whether or not it is valid to call <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#isOpen--">isOpen</a></span>()</code>
<div class="block">Reports whether or not this consumer is open.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#isRunning--">isRunning</a></span>()</code>
<div class="block">Reports whether or not this consumer is running.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/Probe.html" title="class in org.opensolaris.os.dtrace">Probe</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#listProbeDetail-org.opensolaris.os.dtrace.ProbeDescription-">listProbeDetail</a></span>(<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a>&nbsp;filter)</code>
<div class="block">Lists probes that match the given probe description and includes
 detail such as stability information about each listed probe.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#listProbes-org.opensolaris.os.dtrace.ProbeDescription-">listProbes</a></span>(<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a>&nbsp;filter)</code>
<div class="block">Lists probes that match the given probe description.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/Probe.html" title="class in org.opensolaris.os.dtrace">Probe</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#listProgramProbeDetail-org.opensolaris.os.dtrace.Program-">listProgramProbeDetail</a></span>(<a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a>&nbsp;program)</code>
<div class="block">Lists probes that match the given compiled program and includes
 detail such as stability information about each listed probe.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#listProgramProbes-org.opensolaris.os.dtrace.Program-">listProgramProbes</a></span>(<a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a>&nbsp;program)</code>
<div class="block">Lists probes that match the given compiled program.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#lookupKernelFunction-int-">lookupKernelFunction</a></span>(int&nbsp;address)</code>
<div class="block">Gets the kernel function name for the given 32-bit kernel
 address.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#lookupKernelFunction-long-">lookupKernelFunction</a></span>(long&nbsp;address)</code>
<div class="block">Gets the kernel function name for the given 64-bit kernel
 address.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#lookupUserFunction-int-int-">lookupUserFunction</a></span>(int&nbsp;pid,
                  int&nbsp;address)</code>
<div class="block">Gets the user function name for the given 32-bit user address and
 process ID.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#lookupUserFunction-int-long-">lookupUserFunction</a></span>(int&nbsp;pid,
                  long&nbsp;address)</code>
<div class="block">Gets the user function name for the given 64-bit user address and
 process ID.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-">open</a></span>(<a href="../../../../org/opensolaris/os/dtrace/Consumer.OpenFlag.html" title="enum in org.opensolaris.os.dtrace">Consumer.OpenFlag</a>...&nbsp;flags)</code>
<div class="block">Opens this DTrace consumer.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#removeConsumerListener-org.opensolaris.os.dtrace.ConsumerListener-">removeConsumerListener</a></span>(<a href="../../../../org/opensolaris/os/dtrace/ConsumerListener.html" title="interface in org.opensolaris.os.dtrace">ConsumerListener</a>&nbsp;l)</code>
<div class="block">Removes a listener for probe data generated by this consumer.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#setOption-java.lang.String-">setOption</a></span>(java.lang.String&nbsp;option)</code>
<div class="block">Sets a boolean option.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#setOption-java.lang.String-java.lang.String-">setOption</a></span>(java.lang.String&nbsp;option,
         java.lang.String&nbsp;value)</code>
<div class="block">Sets the value of a DTrace option.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#stop--">stop</a></span>()</code>
<div class="block">Stops all tracing, as well as the background thread started by
 <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> to consume generated probe data.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#unsetOption-java.lang.String-">unsetOption</a></span>(java.lang.String&nbsp;option)</code>
<div class="block">Unsets a boolean option.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>open</h4>
<pre>void&nbsp;open(<a href="../../../../org/opensolaris/os/dtrace/Consumer.OpenFlag.html" title="enum in org.opensolaris.os.dtrace">Consumer.OpenFlag</a>...&nbsp;flags)
   throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Opens this DTrace consumer.  Optional flags indicate behaviors
 that can only be set at the time of opening.  Most optional
 behaviors are set using <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#setOption-java.lang.String-java.lang.String-"><code>setOption()</code></a> after opening the consumer.  In the great
 majority of cases, the consumer is opened without specifying any
 flags:
 <pre>          <code> consumer.open();</code></pre>
 Subsequent calls to set options, compile DTrace programs, enable
 probes, and run this consumer may be made from any thread.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if any of the given open flags is
 <code>null</code></dd>
<dd><code>java.lang.IllegalArgumentException</code> - if any of the given flags are
 mutually exlusive</dd>
<dd><code>java.lang.IllegalStateException</code> - if this consumer is closed or has
 already been opened</dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.io.File-java.lang.String...-"><code>compile(File program, String[] macroArgs)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.lang.String-java.lang.String...-"><code>compile(String program, String[] macroArgs)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#enable--"><code>enable()</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a></dd>
</dl>
</li>
</ul>
<a name="compile-java.lang.String-java.lang.String...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compile</h4>
<pre><a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a>&nbsp;compile(java.lang.String&nbsp;program,
                java.lang.String...&nbsp;macroArgs)
         throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Compiles the given D program string.  Optional macro arguments
 replace corresponding numbered macro variables in the D program
 starting at <code>$1</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>program</code> - program string</dd>
<dd><code>macroArgs</code> - macro substitutions for <i>$n</i> placeholders
 embedded in the given D program: <code>macroArgs[0]</code> replaces
 all occurrences of <code>$1</code>, <code>macroArgs[1]</code> replaces all
 occurrences of <code>$2</code>, and so on.  <code>$0</code> is
 automatically replaced by the executable name and should not be
 included in the <code>macroArgs</code> parameter.  See the <a
 href=http://docs.sun.com/app/docs/doc/817-6223/6mlkidliq?a=view>
 <b>Macro Arguments</b></a> section of the <b>Scripting</b>
 chapter of the <i>Solaris Dynamic Tracing Guide</i>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a non-null <code>Program</code> identifier that may be passed
 to <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#enable-org.opensolaris.os.dtrace.Program-"><code>enable()</code></a></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if the given program string or any
 of the given macro arguments is <code>null</code></dd>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a> or after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>, or if the
 consumer is closed</dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.io.File-java.lang.String...-"><code>compile(File program, String[] macroArgs)</code></a></dd>
</dl>
</li>
</ul>
<a name="compile-java.io.File-java.lang.String...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compile</h4>
<pre><a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a>&nbsp;compile(java.io.File&nbsp;program,
                java.lang.String...&nbsp;macroArgs)
         throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a>,
                java.io.IOException,
                java.lang.SecurityException</pre>
<div class="block">Compiles the given D program file.  Optional macro arguments
 replace corresponding numbered macro variables in the D program
 starting at <code>$1</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>program</code> - program file</dd>
<dd><code>macroArgs</code> - macro substitutions for <i>$n</i> placeholders
 embedded in the given D program: <code>macroArgs[0]</code> replaces
 all occurrences of <code>$1</code>, <code>macroArgs[1]</code> replaces all
 occurrences of <code>$2</code>, and so on.  <code>$0</code> is
 automatically set to the name of the given file and should not be
 included in the <code>macroArgs</code> parameter.  See the <a
 href=http://docs.sun.com/app/docs/doc/817-6223/6mlkidliq?a=view>
 <b>Macro Arguments</b></a> section of the <b>Scripting</b>
 chapter of the <i>Solaris Dynamic Tracing Guide</i>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a non-null <code>Program</code> identifier that may be passed
 to <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#enable-org.opensolaris.os.dtrace.Program-"><code>enable()</code></a></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if the given program file or any of
 the given macro arguments is <code>null</code></dd>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a> or after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>, or if the
 consumer is closed</dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dd><code>java.io.FileNotFoundException</code> - if the given program file cannot be
 opened</dd>
<dd><code>java.io.IOException</code> - if an I/O error occurs while reading the
 contents of the given program file</dd>
<dd><code>java.lang.SecurityException</code> - if a security manager exists and its
 <code>checkRead()</code> method denies read access to the file</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.lang.String-java.lang.String...-"><code>compile(String program, String[] macroArgs)</code></a></dd>
</dl>
</li>
</ul>
<a name="enable--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enable</h4>
<pre>void&nbsp;enable()
     throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Enables all DTrace probes compiled by this consumer.  Call <code>enable()</code> with no argument to enable everything this consumer has
 compiled so far (most commonly a single program, the only one to
 be compiled).  Call with one <a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace"><code>Program</code></a> at a time if you
 need information about enabled probes specific to each program.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if called before compiling at least
 one program, or if any compiled program is already enabled, or if
 <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> was already called, or if this consumer is closed</dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#enable-org.opensolaris.os.dtrace.Program-"><code>enable(Program program)</code></a></dd>
</dl>
</li>
</ul>
<a name="enable-org.opensolaris.os.dtrace.Program-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enable</h4>
<pre>void&nbsp;enable(<a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a>&nbsp;program)
     throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Enables DTrace probes matching the given program and attaches
 information about those probes to the given program.  A probe
 matched multiple times (within the same D program or in multiple
 D programs) triggers the actions associated with each matching
 occurrence every time that probe fires.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>program</code> - A <code>Program</code> identifier returned by <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.lang.String-java.lang.String...-"><code>compile(String
 program, ...)</code></a> or <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.io.File-java.lang.String...-"><code>compile(File program, ...)</code></a>:  If the given program is
 <code>null</code>, the call has the same behavior as <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#enable--"><code>enable()</code></a>
 with no argument; if the given program is non-null, the call
 enables only those probes matching that program.  In the latter
 case, the <code>Program</code> parameter is modified as a way of
 passing back information about the given program and its matching
 probes, including program stability.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the given program is non-null
 and not compiled by this <code>Consumer</code></dd>
<dd><code>java.lang.IllegalStateException</code> - if the given program is already
 enabled (or if the given program is <code>null</code> and <i>any</i>
 program is already enabled), or if <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> was already
 called, or if this consumer is closed</dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.lang.String-java.lang.String...-"><code>compile(String program, String[] macroArgs)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.io.File-java.lang.String...-"><code>compile(File program, String[] macroArgs)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#enable--"><code>enable()</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#getProgramInfo-org.opensolaris.os.dtrace.Program-"><code>getProgramInfo(Program program)</code></a></dd>
</dl>
</li>
</ul>
<a name="getProgramInfo-org.opensolaris.os.dtrace.Program-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProgramInfo</h4>
<pre>void&nbsp;getProgramInfo(<a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a>&nbsp;program)
             throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Attaches information about matching DTrace probes to the given
 program.  Attaches the same information to the given program as
 that attached by <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#enable-org.opensolaris.os.dtrace.Program-"><code>enable(Program program)</code></a> but without
 enabling the probes.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if the given program is <code>null</code></dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the given program was not
 compiled by this <code>Consumer</code></dd>
<dd><code>java.lang.IllegalStateException</code> - if called after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a></dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.lang.String-java.lang.String...-"><code>compile(String program, String[] macroArgs)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.io.File-java.lang.String...-"><code>compile(File program, String[] macroArgs)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#enable-org.opensolaris.os.dtrace.Program-"><code>enable(Program program)</code></a></dd>
</dl>
</li>
</ul>
<a name="setOption-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOption</h4>
<pre>void&nbsp;setOption(java.lang.String&nbsp;option)
        throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Sets a boolean option.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if the given option is <code>null</code></dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if a value is expected for the given
 option, or if the option is otherwise invalid</dd>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a> or after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a>, or if
 the given option is a boolean compile-time option and <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> has already been called (see <a href="../../../../org/opensolaris/os/dtrace/Option.html" title="class in org.opensolaris.os.dtrace"><code>Option</code></a> for a
 breakdown of runtime and compile-time options)</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#setOption-java.lang.String-java.lang.String-"><code>setOption(String option, String value)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#unsetOption-java.lang.String-"><code>unsetOption(String option)</code></a></dd>
</dl>
</li>
</ul>
<a name="unsetOption-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unsetOption</h4>
<pre>void&nbsp;unsetOption(java.lang.String&nbsp;option)
          throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Unsets a boolean option.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if the given option is <code>null</code></dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if the given option is not a boolean
 option, or if the option is otherwise invalid</dd>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a> or after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a>, or if
 the given option is a boolean compile-time option and <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> has already been called (see <a href="../../../../org/opensolaris/os/dtrace/Option.html" title="class in org.opensolaris.os.dtrace"><code>Option</code></a> for a
 breakdown of runtime and compile-time options)</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#setOption-java.lang.String-"><code>setOption(String option)</code></a></dd>
</dl>
</li>
</ul>
<a name="setOption-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOption</h4>
<pre>void&nbsp;setOption(java.lang.String&nbsp;option,
               java.lang.String&nbsp;value)
        throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Sets the value of a DTrace option.  If the given option affects
 compile-time behavior, it must be set before calling <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.lang.String-java.lang.String...-"><code>compile(String
 program, ...)</code></a> or <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.io.File-java.lang.String...-"><code>compile(File program, ...)</code></a> in order to have an effect
 on compilation.  Some runtime options including <a href="../../../../org/opensolaris/os/dtrace/Option.html#switchrate"><code>switchrate</code></a> and <a href="../../../../org/opensolaris/os/dtrace/Option.html#aggrate"><code>aggrate</code></a>
 are settable while a consumer is running; others must be set
 before calling <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>.  See the <a
 href=http://docs.sun.com/app/docs/doc/817-6223/6mlkidlis?a=view>
 <b>Options and Tunables</b></a> chapter of the <i>Solaris Dynamic
 Guide</i> for information about specific options.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if the given option or value is
 <code>null</code></dd>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a> or after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a>, or if
 the given option is a boolean compile-time option and <code>go()</code> has already been called (see <a href="../../../../org/opensolaris/os/dtrace/Option.html" title="class in org.opensolaris.os.dtrace"><code>Option</code></a> for a breakdown
 of runtime and compile-time options)</dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - for any of the following:
 <ul><li>The option is invalid</li>
 <li>The value is invalid for the given option</li>
 <li><code>go()</code> has been called to start this consumer, and the
 option is not settable on a running consumer (some runtime
 options, including <a href="../../../../org/opensolaris/os/dtrace/Option.html#switchrate"><code>switchrate</code></a> and
 <a href="../../../../org/opensolaris/os/dtrace/Option.html#aggrate"><code>aggrate</code></a> are settable while the consumer is
 running)</li></ul></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open(OpenFlag[] flags)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#getOption-java.lang.String-"><code>getOption(String option)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Option.html" title="class in org.opensolaris.os.dtrace"><code>Option</code></a></dd>
</dl>
</li>
</ul>
<a name="getOption-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOption</h4>
<pre>long&nbsp;getOption(java.lang.String&nbsp;option)
        throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Gets the value of a DTrace option.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the given DTrace option: If the given option
 is a boolean option and is currently unset, the returned value is
 <a href="../../../../org/opensolaris/os/dtrace/Option.html#UNSET"><code>Option.UNSET</code></a>.  If the given option is a <i>size</i>
 option, the returned value is in bytes.  If the given option is a
 <i>time</i> option, the returned value is in nanoseconds.  If the
 given option is <a href="../../../../org/opensolaris/os/dtrace/Option.html#bufpolicy"><code>bufpolicy</code></a>, the returned
 value is one of <a href="../../../../org/opensolaris/os/dtrace/Option.html#BUFPOLICY_RING"><code>BUFPOLICY_RING</code></a>,
 <a href="../../../../org/opensolaris/os/dtrace/Option.html#BUFPOLICY_FILL"><code>BUFPOLICY_FILL</code></a>, or <a href="../../../../org/opensolaris/os/dtrace/Option.html#BUFPOLICY_SWITCH"><code>BUFPOLICY_SWITCH</code></a>.  If the given option
 is <a href="../../../../org/opensolaris/os/dtrace/Option.html#bufresize"><code>bufresize</code></a>, the returned value is one
 of <a href="../../../../org/opensolaris/os/dtrace/Option.html#BUFRESIZE_AUTO"><code>BUFRESIZE_AUTO</code></a> or <a href="../../../../org/opensolaris/os/dtrace/Option.html#BUFRESIZE_MANUAL"><code>BUFRESIZE_MANUAL</code></a>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if the given option is <code>null</code></dd>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a> or after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a></dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if the given option is invalid</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#setOption-java.lang.String-"><code>setOption(String option)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#unsetOption-java.lang.String-"><code>unsetOption(String option)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#setOption-java.lang.String-java.lang.String-"><code>setOption(String option, String value)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Option.html" title="class in org.opensolaris.os.dtrace"><code>Option</code></a></dd>
</dl>
</li>
</ul>
<a name="isOpen--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOpen</h4>
<pre>boolean&nbsp;isOpen()</pre>
<div class="block">Reports whether or not this consumer is open.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if and only if <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a> has been called on this consumer and <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a> has not</dd>
</dl>
</li>
</ul>
<a name="isEnabled--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEnabled</h4>
<pre>boolean&nbsp;isEnabled()</pre>
<div class="block">Reports whether or not it is valid to call <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if and only if at least one program has been
 compiled, all compiled programs have been enabled, <code>go()</code>
 has not already been called, and <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a> has not been
 called</dd>
</dl>
</li>
</ul>
<a name="isRunning--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRunning</h4>
<pre>boolean&nbsp;isRunning()</pre>
<div class="block">Reports whether or not this consumer is running.  There may be a
 delay after calling <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> before this consumer actually
 starts running (listeners are notified by the <a href="../../../../org/opensolaris/os/dtrace/ConsumerListener.html#consumerStarted-org.opensolaris.os.dtrace.ConsumerEvent-"><code>consumerStarted()</code></a> method).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if this consumer is running, <code>false</code>
 otherwise</dd>
</dl>
</li>
</ul>
<a name="isClosed--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClosed</h4>
<pre>boolean&nbsp;isClosed()</pre>
<div class="block">Reports whether or not this consumer is closed.  A closed
 consumer cannot be reopened.
 <p>
 Note that a closed consumer is different from a consumer that has
 not yet been opened.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a> has been called on this
 consumer, <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="go--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>go</h4>
<pre>void&nbsp;go()
 throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Begin tracing and start a background thread to consume generated
 probe data.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if not <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#isEnabled--"><code>isEnabled()</code></a></dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go-org.opensolaris.os.dtrace.ExceptionHandler-"><code>go(ExceptionHandler h)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open(OpenFlag[] flags)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.lang.String-java.lang.String...-"><code>compile(String program, String[] macroArgs)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.io.File-java.lang.String...-"><code>compile(File program, String[] macroArgs)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#enable--"><code>enable()</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#stop--"><code>stop()</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a></dd>
</dl>
</li>
</ul>
<a name="go-org.opensolaris.os.dtrace.ExceptionHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>go</h4>
<pre>void&nbsp;go(<a href="../../../../org/opensolaris/os/dtrace/ExceptionHandler.html" title="interface in org.opensolaris.os.dtrace">ExceptionHandler</a>&nbsp;h)
 throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Begin tracing and start a background thread to consume generated
 probe data.  Handle any exception thrown in the consumer thread
 with the given handler.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if not <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#isEnabled--"><code>isEnabled()</code></a></dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a></dd>
</dl>
</li>
</ul>
<a name="stop--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>void&nbsp;stop()</pre>
<div class="block">Stops all tracing, as well as the background thread started by
 <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> to consume generated probe data.  A stopped
 consumer cannot be restarted.  It is necessary to <code>close()</code>
 a stopped consumer to release the system resources it holds.
 <p>
 A consumer may stop on its own in response to the <code>exit()</code>
 action (see <b><code>exit()</code></b> in the <a
 href=http://docs.sun.com/app/docs/doc/817-6223/6mlkidlhm?a=view>
 <b>Special Actions</b></a> section of the <b>Actions and
 Subroutines</b> chapter of the <i>Solaris Dynamic Tracing
 Guide</i>).  Similarly, a consumer stops automatically if it has
 at least one target process and all its target processes have
 completed (see <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#createProcess-java.lang.String-"><code>createProcess()</code></a> and <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#grabProcess-int-"><code>grabProcess()</code></a>).  A consumer also stops automatically if it
 encounters an exception while consuming probe data.  In these
 cases it is not necessary to call <code>stop()</code>.  If a consumer
 stops for any reason (an explicit call to <code>stop()</code> or any
 of the reasons just given), listeners are notified through the
 <a href="../../../../org/opensolaris/os/dtrace/ConsumerListener.html#consumerStopped-org.opensolaris.os.dtrace.ConsumerEvent-"><code>consumerStopped()</code></a> method.
 <p>
 Note that a call to <code>stop()</code> blocks until the background
 thread started by <code>go()</code> actually stops.  After <code>stop()</code> returns, a call to <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#isRunning--"><code>isRunning()</code></a> returns <code>false</code>.  If a <code>DTraceException</code> is thrown while stopping
 this consumer, it is handled by the handler passed to <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go-org.opensolaris.os.dtrace.ExceptionHandler-"><code>go(ExceptionHandler h)</code></a> (or a default handler if none is
 specified).</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> or
 if <code>stop()</code> was already called</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#abort--"><code>abort()</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a></dd>
</dl>
</li>
</ul>
<a name="abort--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abort</h4>
<pre>void&nbsp;abort()</pre>
<div class="block">Aborts the background thread started by <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>.  <code>abort()</code> is effectively the same as <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#stop--"><code>stop()</code></a> except that
 it does not block (i.e. it does not wait until the background
 thread actually stops).  <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#isRunning--"><code>isRunning()</code></a> is likely <code>true</code> immediately after a call to <code>abort()</code>, since an
 aborted consumer stops at a time specified as later.
 Specifically, a call to <code>abort()</code> stops tracing just before
 the next <a href="../../../../org/opensolaris/os/dtrace/ConsumerListener.html#intervalBegan-org.opensolaris.os.dtrace.ConsumerEvent-"><code>intervalBegan()</code></a> event and stops consuming probe data by the
 subsequent <a href="../../../../org/opensolaris/os/dtrace/ConsumerListener.html#intervalEnded-org.opensolaris.os.dtrace.ConsumerEvent-"><code>intervalEnded()</code></a> event.  When the aborted consumer actually
 stops, listeners are notified in the <a href="../../../../org/opensolaris/os/dtrace/ConsumerListener.html#consumerStopped-org.opensolaris.os.dtrace.ConsumerEvent-"><code>consumerStopped()</code></a> method, where it is convenient to <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a> the stopped consumer after requesting the final
 aggregate.
 <p>
 The <code>abort()</code> and <code>stop()</code> methods have slightly
 different behavior when called <i>just after</i> <code>go()</code> but
 <i>before</i> the consumer actually starts running:  It is
 possible to <code>stop()</code> a consumer before it starts running
 (resulting in a <code>consumerStopped()</code> event without a
 matching <code>consumerStarted()</code> event), whereas an aborted
 consumer will not stop until after it starts running, when it
 completes a single interval (that interval does not include
 sleeping to wait for traced probe data).  Calling <code>abort()</code>
 before <code>go()</code> is legal and has the same effect as calling
 it after <code>go()</code> and before the consumer starts running.
 The last behavior follows from the design: You do not know the
 state of a consumer after calling <code>abort()</code>, nor is it
 necessary to know the state of a consumer before calling <code>abort()</code>.  That may be preferable, for example, when you want to
 abort a consumer opened and started in another thread.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#stop--"><code>stop()</code></a></dd>
</dl>
</li>
</ul>
<a name="close--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>void&nbsp;close()</pre>
<div class="block">Closes an open consumer and releases the system resources it was
 holding.  If the consumer is running, <code>close()</code> will <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#stop--"><code>stop()</code></a> it automatically.  A closed consumer cannot be
 reopened.  Closing a consumer that has not yet been opened makes
 it illegal to open that consumer afterwards.  It is a no-op to
 call <code>close()</code> on a consumer that is already closed.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open(OpenFlag[] flags)</code></a></dd>
</dl>
</li>
</ul>
<a name="addConsumerListener-org.opensolaris.os.dtrace.ConsumerListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addConsumerListener</h4>
<pre>void&nbsp;addConsumerListener(<a href="../../../../org/opensolaris/os/dtrace/ConsumerListener.html" title="interface in org.opensolaris.os.dtrace">ConsumerListener</a>&nbsp;l)</pre>
<div class="block">Adds a listener for probe data generated by this consumer.</div>
</li>
</ul>
<a name="removeConsumerListener-org.opensolaris.os.dtrace.ConsumerListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeConsumerListener</h4>
<pre>void&nbsp;removeConsumerListener(<a href="../../../../org/opensolaris/os/dtrace/ConsumerListener.html" title="interface in org.opensolaris.os.dtrace">ConsumerListener</a>&nbsp;l)</pre>
<div class="block">Removes a listener for probe data generated by this consumer.</div>
</li>
</ul>
<a name="getAggregate--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAggregate</h4>
<pre><a href="../../../../org/opensolaris/os/dtrace/Aggregate.html" title="class in org.opensolaris.os.dtrace">Aggregate</a>&nbsp;getAggregate()
                throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Gets a snapshot of all aggregations except those that have
 already been captured in a <a href="../../../../org/opensolaris/os/dtrace/PrintaRecord.html" title="class in org.opensolaris.os.dtrace"><code>PrintaRecord</code></a>.  Does not clear
 any aggregation.
 <p>
 Provides a programmatic alternative to the <code>printa(</code>)
 action (see <a
 href=http://docs.sun.com/app/docs/doc/817-6223/6mlkidlhv?a=view>
 <b><code>printa()</code></b></a> in the <b>Output Formatting</b>
 chapter of the <i>Solaris Dynamic Tracing Guide</i>).</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> or
 after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a></dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#getAggregate-java.util.Set-java.util.Set-"><code>getAggregate(Set includedAggregationNames, Set
 clearedAggregationNames)</code></a></dd>
</dl>
</li>
</ul>
<a name="getAggregate-java.util.Set-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAggregate</h4>
<pre><a href="../../../../org/opensolaris/os/dtrace/Aggregate.html" title="class in org.opensolaris.os.dtrace">Aggregate</a>&nbsp;getAggregate(java.util.Set&lt;java.lang.String&gt;&nbsp;includedAggregationNames)
                throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Gets a snapshot of all the specified aggregations except those
 that have already been captured in a <a href="../../../../org/opensolaris/os/dtrace/PrintaRecord.html" title="class in org.opensolaris.os.dtrace"><code>PrintaRecord</code></a>.  Does
 not clear any aggregation.
 <p>
 Provides a programmatic alternative to the <code>printa(</code>)
 action (see <a
 href=http://docs.sun.com/app/docs/doc/817-6223/6mlkidlhv?a=view>
 <b><code>printa()</code></b></a> in the <b>Output Formatting</b>
 chapter of the <i>Solaris Dynamic Tracing Guide</i>).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>includedAggregationNames</code> - if <code>null</code>, all available
 aggregations are included; if non-null, only those aggregations
 specifically named by the given set are included</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> or
 after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a></dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#getAggregate-java.util.Set-java.util.Set-"><code>getAggregate(Set includedAggregationNames, Set
 clearedAggregationNames)</code></a></dd>
</dl>
</li>
</ul>
<a name="getAggregate-java.util.Set-java.util.Set-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAggregate</h4>
<pre><a href="../../../../org/opensolaris/os/dtrace/Aggregate.html" title="class in org.opensolaris.os.dtrace">Aggregate</a>&nbsp;getAggregate(java.util.Set&lt;java.lang.String&gt;&nbsp;includedAggregationNames,
                       java.util.Set&lt;java.lang.String&gt;&nbsp;clearedAggregationNames)
                throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Gets a snapshot of all the specified aggregations except those
 that have already been captured in a <a href="../../../../org/opensolaris/os/dtrace/PrintaRecord.html" title="class in org.opensolaris.os.dtrace"><code>PrintaRecord</code></a>, with
 the side effect of atomically clearing any subset of those
 aggregations.  Clearing an aggregation resets all of its values
 to zero without removing any of its keys.  Leave aggregations
 uncleared to get running totals, otherwise specify that an
 aggregation be cleared to get values per time interval.  Note
 that once an aggregation is captured in a <code>PrintaRecord</code>
 (as a result of the <code>printa()</code> action), it is no longer
 available to the <code>getAggregate()</code> method.
 <p>
 Provides a programmatic alternative to the <code>printa(</code>) (see
 <a
 href=http://docs.sun.com/app/docs/doc/817-6223/6mlkidlhv?a=view>
 <b><code>printa()</code></b></a> in the <b>Output Formatting</b>
 chapter of the <i>Solaris Dynamic Tracing Guide</i>) and <code>clear()</code> actions.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>includedAggregationNames</code> - if <code>null</code>, all available
 aggregations are included; if non-null, only those aggregations
 specifically named by the given set are included</dd>
<dd><code>clearedAggregationNames</code> - if <code>null</code>, all available
 aggregations are cleared; if non-null, only those aggregations
 specifically named by the given set are cleared</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> or
 after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a></dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
</dl>
</li>
</ul>
<a name="createProcess-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createProcess</h4>
<pre>int&nbsp;createProcess(java.lang.String&nbsp;command)
           throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Creates a process by executing the given command on the system
 and returns the created process ID.  The created process is
 suspended until calling <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> so that the process waits
 to do anything until this consumer has started tracing (allowing
 a process to be traced from the very beginning of its execution).
 The macro variable <code>$target</code> in a D program will be
 replaced by the process ID of the created process.  When the
 created process exits, this consumer notifies listeners through
 the <a href="../../../../org/opensolaris/os/dtrace/ConsumerListener.html#processStateChanged-org.opensolaris.os.dtrace.ProcessEvent-"><code>processStateChanged()</code></a> method.
 <p>
 See the <a
 href=http://docs.sun.com/app/docs/doc/817-6223/6mlkidlir?a=view>
 <b>Target Process ID</b></a> section of the <b>Scripting</b>
 chapter of the <i>Solaris Dynamic Tracing Guide</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>command</code> - a string whose first token is assumed to be the
 name of the command and whose subsequent tokens are the arguments
 to that command.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ID of the created process (pid)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if the given command is <code>nul</code>l</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the given command is empty or
 contains only whitespace</dd>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a> or after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>,
 or if the consumer is closed</dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if the process cannot be created</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#grabProcess-int-"><code>grabProcess(int pid)</code></a></dd>
</dl>
</li>
</ul>
<a name="grabProcess-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>grabProcess</h4>
<pre>void&nbsp;grabProcess(int&nbsp;pid)
          throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Grabs the specified process and caches its symbol tables.  The
 macro variable <code>$target</code> in a D program will be replaced by
 the process ID of the grabbed process.  When the specified
 process exits, this consumer notifies listeners through the
 <a href="../../../../org/opensolaris/os/dtrace/ConsumerListener.html#processStateChanged-org.opensolaris.os.dtrace.ProcessEvent-"><code>processStateChanged()</code></a> method.
 <p>
 See the <a
 href=http://docs.sun.com/app/docs/doc/817-6223/6mlkidlir?a=view>
 <b>Target Process ID</b></a> section of the <b>Scripting</b>
 chapter of the <i>Solaris Dynamic Tracing Guide</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pid</code> - process ID of the process to be grabbed</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a> or after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>,
 or if the consumer is closed</dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if the process cannot be grabbed</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#createProcess-java.lang.String-"><code>createProcess(String command)</code></a></dd>
</dl>
</li>
</ul>
<a name="listProbes-org.opensolaris.os.dtrace.ProbeDescription-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listProbes</h4>
<pre>java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a>&gt;&nbsp;listProbes(<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a>&nbsp;filter)
                                     throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Lists probes that match the given probe description.  See <a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace"><code>ProbeDescription</code></a> for information about pattern syntax and
 wildcarding.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - use <a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html#EMPTY"><code>ProbeDescription.EMPTY</code></a> to get all
 probes, otherwise get only those probes that match the given
 filter</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a non-null list of probe descriptions</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a> or after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>,
 or if the consumer is closed</dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open(OpenFlag[] flags)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#listProbeDetail-org.opensolaris.os.dtrace.ProbeDescription-"><code>listProbeDetail(ProbeDescription filter)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#listProgramProbes-org.opensolaris.os.dtrace.Program-"><code>listProgramProbes(Program program)</code></a></dd>
</dl>
</li>
</ul>
<a name="listProbeDetail-org.opensolaris.os.dtrace.ProbeDescription-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listProbeDetail</h4>
<pre>java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/Probe.html" title="class in org.opensolaris.os.dtrace">Probe</a>&gt;&nbsp;listProbeDetail(<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a>&nbsp;filter)
                               throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Lists probes that match the given probe description and includes
 detail such as stability information about each listed probe.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - use <a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html#EMPTY"><code>ProbeDescription.EMPTY</code></a> to get all
 probes, otherwise get only those probes that match the given
 filter</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a non-null list of probe detail</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a> or after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>,
 or if the consumer is closed</dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#listProbes-org.opensolaris.os.dtrace.ProbeDescription-"><code>listProbes(ProbeDescription filter)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#listProgramProbeDetail-org.opensolaris.os.dtrace.Program-"><code>listProgramProbeDetail(Program program)</code></a></dd>
</dl>
</li>
</ul>
<a name="listProgramProbes-org.opensolaris.os.dtrace.Program-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listProgramProbes</h4>
<pre>java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a>&gt;&nbsp;listProgramProbes(<a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a>&nbsp;program)
                                            throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Lists probes that match the given compiled program.  A probe
 matches a D program if that program contains any matching probe
 description.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>program</code> - a <code>Program</code> identifier returned by <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.lang.String-java.lang.String...-"><code>compile(String
 program, ...)</code></a> or <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.io.File-java.lang.String...-"><code>compile(File program, ...)</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a non-null list of probe descriptions</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if the given program identifier is
 <code>null</code></dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the specified program was not
 compiled by this consumer</dd>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a> or after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>,
 or if the consumer is closed</dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#listProbes-org.opensolaris.os.dtrace.ProbeDescription-"><code>listProbes(ProbeDescription filter)</code></a></dd>
</dl>
</li>
</ul>
<a name="listProgramProbeDetail-org.opensolaris.os.dtrace.Program-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listProgramProbeDetail</h4>
<pre>java.util.List&lt;<a href="../../../../org/opensolaris/os/dtrace/Probe.html" title="class in org.opensolaris.os.dtrace">Probe</a>&gt;&nbsp;listProgramProbeDetail(<a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a>&nbsp;program)
                                      throws <a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></pre>
<div class="block">Lists probes that match the given compiled program and includes
 detail such as stability information about each listed probe.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>program</code> - a <code>Program</code> identifier returned by <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.lang.String-java.lang.String...-"><code>compile(String
 program, ...)</code></a> or <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#compile-java.io.File-java.lang.String...-"><code>compile(File program, ...)</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a non-null list of probe detail</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if the given program identifier is
 <code>null</code></dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the specified program was not
 compiled by this consumer</dd>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#open-org.opensolaris.os.dtrace.Consumer.OpenFlag...-"><code>open()</code></a> or after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a>,
 or if the consumer is closed</dd>
<dd><code><a href="../../../../org/opensolaris/os/dtrace/DTraceException.html" title="class in org.opensolaris.os.dtrace">DTraceException</a></code> - if an exception occurs in the native
 DTrace library</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#listProgramProbes-org.opensolaris.os.dtrace.Program-"><code>listProgramProbes(Program program)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Consumer.html#listProbeDetail-org.opensolaris.os.dtrace.ProbeDescription-"><code>listProbeDetail(ProbeDescription filter)</code></a></dd>
</dl>
</li>
</ul>
<a name="lookupKernelFunction-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookupKernelFunction</h4>
<pre>java.lang.String&nbsp;lookupKernelFunction(int&nbsp;address)</pre>
<div class="block">Gets the kernel function name for the given 32-bit kernel
 address.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>address</code> - 32-bit kernel function address, such as the value
 of a <a href="../../../../org/opensolaris/os/dtrace/Tuple.html" title="class in org.opensolaris.os.dtrace"><code>Tuple</code></a> member in an <a href="../../../../org/opensolaris/os/dtrace/AggregationRecord.html" title="class in org.opensolaris.os.dtrace"><code>AggregationRecord</code></a> to be
 converted for display</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the result of kernel function lookup as one of the
 following:<ul><li><code>module`function</code></li>
 <li><code>module`function+offset</code></li>
 <li><code>module`address</code></li>
 <li><code>address</code></li></ul> where <code>module</code> and <code>function</code> are names, and <code>offset</code> and <code>address</code> are
 integers in hexadecimal format preceded by "<code>0x</code>".  <code>offset</code> is the number of bytes from the beginning of the
 function, included when non-zero.  <code>address</code> is simply the
 hex form of the input parameter, returned when function lookup
 fails.  The exact details of this format are subject to change.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> or
 after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#lookupKernelFunction-long-"><code>lookupKernelFunction(long address)</code></a></dd>
</dl>
</li>
</ul>
<a name="lookupKernelFunction-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookupKernelFunction</h4>
<pre>java.lang.String&nbsp;lookupKernelFunction(long&nbsp;address)</pre>
<div class="block">Gets the kernel function name for the given 64-bit kernel
 address.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>address</code> - 64-bit kernel function address</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>kernel function name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> or
 after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#lookupKernelFunction-int-"><code>lookupKernelFunction(int address)</code></a></dd>
</dl>
</li>
</ul>
<a name="lookupUserFunction-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookupUserFunction</h4>
<pre>java.lang.String&nbsp;lookupUserFunction(int&nbsp;pid,
                                    int&nbsp;address)</pre>
<div class="block">Gets the user function name for the given 32-bit user address and
 process ID.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pid</code> - ID of the user process containing the addressed
 function</dd>
<dd><code>address</code> - 32-bit user function address, such as the value
 of a <a href="../../../../org/opensolaris/os/dtrace/Tuple.html" title="class in org.opensolaris.os.dtrace"><code>Tuple</code></a> member in an <a href="../../../../org/opensolaris/os/dtrace/AggregationRecord.html" title="class in org.opensolaris.os.dtrace"><code>AggregationRecord</code></a> to be
 converted for display.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>result of user function lookup as one of the
 following:<ul> <li><code>module`function</code></li>
 <li><code>module`function+offset</code></li>
 <li><code>module`address</code></li>
 <li><code>address</code></li></ul> where <code>module</code> and <code>function</code> are names, and <code>offset</code> and <code>address</code> are
 integers in hexadecimal format preceded by "<code>0x</code>".  <code>offset</code> is the number of bytes from the beginning of the
 function, included when non-zero.  <code>address</code> is simply the
 hex form of the input parameter, returned when function lookup
 fails.  The exact details of this format are subject to change.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> or
 after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#lookupUserFunction-int-long-"><code>lookupUserFunction(int pid, long address)</code></a></dd>
</dl>
</li>
</ul>
<a name="lookupUserFunction-int-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookupUserFunction</h4>
<pre>java.lang.String&nbsp;lookupUserFunction(int&nbsp;pid,
                                    long&nbsp;address)</pre>
<div class="block">Gets the user function name for the given 64-bit user address and
 process ID.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pid</code> - ID of the user process containing the addressed
 function</dd>
<dd><code>address</code> - 64-bit user function address</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>user function name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if called before <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#go--"><code>go()</code></a> or
 after <a href="../../../../org/opensolaris/os/dtrace/Consumer.html#close--"><code>close()</code></a></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#lookupUserFunction-int-int-"><code>lookupUserFunction(int pid, int address)</code></a></dd>
</dl>
</li>
</ul>
<a name="getVersion--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getVersion</h4>
<pre>java.lang.String&nbsp;getVersion()</pre>
<div class="block">Gets the version of the native DTrace library.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>version string generated by the native DTrace library
 (same as the output of <code>dtrace(1M)</code> with the <code>-V</code>
 option)</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../org/opensolaris/os/dtrace/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Consumer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/opensolaris/os/dtrace/AvgValue.html" title="class in org.opensolaris.os.dtrace"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/opensolaris/os/dtrace/Consumer.OpenFlag.html" title="enum in org.opensolaris.os.dtrace"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/opensolaris/os/dtrace/Consumer.html" target="_top">Frames</a></li>
<li><a href="Consumer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>