| 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 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 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 Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All 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: </li>
<li><a href="#nested.class.summary">Nested</a> | </li>
<li>Field | </li>
<li>Constr | </li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li>Constr | </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"> </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 </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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </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> 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 program,
java.lang.String... 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 program,
java.lang.String... 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 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> 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<java.lang.String> 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<java.lang.String> includedAggregationNames,
java.util.Set<java.lang.String> 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 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> 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> 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 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<<a href="../../../../org/opensolaris/os/dtrace/Probe.html" title="class in org.opensolaris.os.dtrace">Probe</a>></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> 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<<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a>></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> 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<<a href="../../../../org/opensolaris/os/dtrace/Probe.html" title="class in org.opensolaris.os.dtrace">Probe</a>></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> 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<<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a>></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> 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 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 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 pid,
int 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 pid,
long 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>... 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> 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 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 option,
java.lang.String 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 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 open(<a href="../../../../org/opensolaris/os/dtrace/Consumer.OpenFlag.html" title="enum in org.opensolaris.os.dtrace">Consumer.OpenFlag</a>... 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> compile(java.lang.String program,
java.lang.String... 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> compile(java.io.File program,
java.lang.String... 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 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 enable(<a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a> 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 getProgramInfo(<a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a> 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 setOption(java.lang.String 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 unsetOption(java.lang.String 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 setOption(java.lang.String option,
java.lang.String 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 getOption(java.lang.String 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 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 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 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 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 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 go(<a href="../../../../org/opensolaris/os/dtrace/ExceptionHandler.html" title="interface in org.opensolaris.os.dtrace">ExceptionHandler</a> 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 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 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 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 addConsumerListener(<a href="../../../../org/opensolaris/os/dtrace/ConsumerListener.html" title="interface in org.opensolaris.os.dtrace">ConsumerListener</a> 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 removeConsumerListener(<a href="../../../../org/opensolaris/os/dtrace/ConsumerListener.html" title="interface in org.opensolaris.os.dtrace">ConsumerListener</a> 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> 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> getAggregate(java.util.Set<java.lang.String> 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> getAggregate(java.util.Set<java.lang.String> includedAggregationNames,
java.util.Set<java.lang.String> 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 createProcess(java.lang.String 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 grabProcess(int 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<<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a>> listProbes(<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a> 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<<a href="../../../../org/opensolaris/os/dtrace/Probe.html" title="class in org.opensolaris.os.dtrace">Probe</a>> listProbeDetail(<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a> 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<<a href="../../../../org/opensolaris/os/dtrace/ProbeDescription.html" title="class in org.opensolaris.os.dtrace">ProbeDescription</a>> listProgramProbes(<a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a> 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<<a href="../../../../org/opensolaris/os/dtrace/Probe.html" title="class in org.opensolaris.os.dtrace">Probe</a>> listProgramProbeDetail(<a href="../../../../org/opensolaris/os/dtrace/Program.html" title="class in org.opensolaris.os.dtrace">Program</a> 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 lookupKernelFunction(int 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 lookupKernelFunction(long 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 lookupUserFunction(int pid,
int 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 lookupUserFunction(int pid,
long 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 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 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 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 Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All 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: </li>
<li><a href="#nested.class.summary">Nested</a> | </li>
<li>Field | </li>
<li>Constr | </li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li>Constr | </li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>