- Mark up DTrace with a &dtrace; entity for eliminating further spelling

mistakes

Reviewed by:	manolis, keramida, trhodes
This commit is contained in:
Gabor Pali 2008-11-20 20:59:51 +00:00
parent 5e306063fe
commit aeaf4529f1
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=33266
3 changed files with 37 additions and 32 deletions

View file

@ -22,44 +22,44 @@ that might make this chapter too large.
</authorgroup>
</chapterinfo>
<title>DTrace</title>
<title>&dtrace;</title>
<sect1 id="dtrace-synopsis">
<title>Synopsis</title>
<indexterm><primary>DTrace</primary></indexterm>
<indexterm><primary>&dtrace;</primary></indexterm>
<indexterm>
<primary>DTrace support</primary>
<see>DTrace</see>
<primary>&dtrace; support</primary>
<see>&dtrace;</see>
</indexterm>
<para>DTrace, also known as Dynamic Tracing, was developed by
<para>&dtrace;, also known as Dynamic Tracing, was developed by
&sun; as a tool for locating performance bottlenecks
in production and pre-production systems. It is not, in any way,
a debugging tool, but a tool for real time system analysis to
locate performance and other issues.</para>
<para>DTrace is a remarkable profiling tool, with an impressive
<para>&dtrace; is a remarkable profiling tool, with an impressive
array of features for diagnosing system issues. It may also be
used to run pre-written scripts to take advantage of its
capabilities. Users may even author their own utilities using
the DTrace D Language, allowing them to customize their profiling
the &dtrace; D Language, allowing them to customize their profiling
based on specific needs.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>What DTrace is and what features it provides.</para>
<para>What &dtrace; is and what features it provides.</para>
</listitem>
<listitem>
<para>Differences between the &solaris; DTrace implementation
<para>Differences between the &solaris; &dtrace; implementation
and the one provided by &os;.</para>
</listitem>
<listitem>
<para>How to enable and use DTrace on &os;.</para>
<para>How to enable and use &dtrace; on &os;.</para>
</listitem>
</itemizedlist>
@ -104,11 +104,11 @@ that might make this chapter too large.
<sect1 id="dtrace-implementation">
<title>Implementation Differences</title>
<para>While the DTrace in &os; is very similar to that found
<para>While the &dtrace; in &os; is very similar to that found
in &solaris;, differences exist that should be explained before
continuing. The primary difference users will notice is that
on &os;, DTrace needs to be specifically enabled. There are
kernel options and modules which must be enabled for DTrace to
on &os;, &dtrace; needs to be specifically enabled. There are
kernel options and modules which must be enabled for &dtrace; to
work properly. These will be explained later.</para>
<para>There is a <literal>DDB_CTF</literal> kernel option which
@ -132,29 +132,29 @@ that might make this chapter too large.
allows tracing <function>malloc()</function> by type in the
&os; kernel.</para>
<para>Only <username>root</username> may use DTrace on &os;.
<para>Only <username>root</username> may use &dtrace; on &os;.
This is related to security differences, &solaris; has a few
low level security checks which do not yet exist in &os;. As
such, the <devicename>/dev/dtrace/dtrace</devicename> is strictly
limited to <username>root</username> users only.</para>
<para>Finally, the DTrace software falls under &sun;'s
<para>Finally, the &dtrace; software falls under &sun;'s
<acronym>CDDL</acronym> license. The <literal>Common Development
and Distribution License</literal> comes with &os;, see the
<filename>/usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE</filename>
or view it online at
<ulink url="http://www.opensolaris.org/os/licensing"></ulink>.</para>
<para>This license means that a &os; kernel with the DTrace options
<para>This license means that a &os; kernel with the &dtrace; options
is still <acronym>BSD</acronym> licensed; however the
<acronym>CDDL</acronym> kicks in when the modules are distributed
in binary form, or the binaries are loaded.</para>
</sect1>
<sect1 id="dtrace-enable">
<title>Enabling DTrace Support</title>
<title>Enabling &dtrace; Support</title>
<para>To enable support for DTrace, add the following lines to
<para>To enable support for &dtrace;, add the following lines to
the kernel configuration file:</para>
<programlisting>options KDTRACE_HOOKS
@ -167,7 +167,7 @@ options DDB_CTF</programlisting>
<programlisting>options KDTRACE_FRAME</programlisting>
<para>This option provides support for the <acronym>FBT</acronym>
feature. DTrace will work without this option; however, there
feature. &dtrace; will work without this option; however, there
will be limited support for function boundary tracing.</para>
</note>
@ -190,14 +190,14 @@ options DDB_CTF</programlisting>
<para>After rebooting and allowing the new kernel to be loaded
into memory, support for the Korn shell should be added. This
is needed as the DTrace toolkit has several utilities written
is needed as the &dtrace; toolkit has several utilities written
in <command>ksh</command>. Install the
<filename role="package">shells/ksh93</filename>. It is also
possible to run these tools under
<filename role="package">shells/pdksh</filename> or
<filename role="package">shells/mksh</filename>.</para>
<para>Finally, obtain the current DTrace toolkit. The current
<para>Finally, obtain the current &dtrace; toolkit. The current
version is available at
<ulink url="http://www.opensolaris.org/os/community/dtrace/dtracetoolkit/"></ulink>.
There is an install mechanism included; however, installation
@ -205,26 +205,26 @@ options DDB_CTF</programlisting>
</sect1>
<sect1 id="dtrace-using">
<title>Using DTrace</title>
<title>Using &dtrace;</title>
<para>Before making use of DTrace functionality, the DTrace device
<para>Before making use of &dtrace; functionality, the &dtrace; device
must exist. To load the device, issue the following
command:</para>
<screen>&prompt.root; <userinput>kldload dtraceall</userinput></screen>
<para>DTrace support should now be available. To view all probes
<para>&dtrace; support should now be available. To view all probes
the administrator may now execute the following command:</para>
<screen>&prompt.root; <userinput>dtrace -l | more</userinput></screen>
<para>All output is passed to the <command>more</command>
utility as it will quickly overflow the screen buffer. At
this point, DTrace should be considered working. It is now
this point, &dtrace; should be considered working. It is now
time to review the toolkit.</para>
<para>The toolkit is a collection of ready-made scripts to run
with DTrace to collect system information. There are scripts
with &dtrace; to collect system information. There are scripts
to check open files, memory, <acronym>CPU</acronym> usage and
a lot more. Extract the scripts with the following
command:</para>
@ -247,14 +247,14 @@ options DDB_CTF</programlisting>
<important>
<para>At this point it is prudent to remind the reader that
DTrace support in &os; is <emphasis>incomplete</emphasis>
&dtrace; support in &os; is <emphasis>incomplete</emphasis>
and <emphasis>experimental</emphasis>. Many of these scripts
will not work as they are either too &solaris;-specific or
use probes which are unsupported at this time.</para>
</important>
<para>At the time of this writing only two of the scripts of the
DTrace Toolkit are fully supported in &os;:
&dtrace; Toolkit are fully supported in &os;:
the <filename>hotkernel</filename>
and <filename>procsystime</filename> scripts. These are the two
we will explore in the following parts of this section.</para>
@ -371,8 +371,8 @@ Elapsed Times for processes csh,
<sect1 id="dtrace-language">
<title>The D Language</title>
<para>The DTrace Toolkit includes many scripts in the special language of
DTrace. This language is called <quote>the D language</quote> by &sun;
<para>The &dtrace; Toolkit includes many scripts in the special language of
&dtrace;. This language is called <quote>the D language</quote> by &sun;
documentation, and it is very similar to C++. An in depth
discussion of the language is beyond the scope of this document. It is
extensively discussed

View file

@ -428,9 +428,9 @@
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="dtrace">, DTrace</emphasis></term>
<term><emphasis><xref linkend="dtrace">, &dtrace;</emphasis></term>
<listitem>
<para>Describes how to configure and use the DTrace tool from &sun;
<para>Describes how to configure and use the &dtrace; tool from &sun;
in &os;. Dynamic tracing can help locate performance issues, by
performing real time system analysis.</para>
</listitem>

View file

@ -50,6 +50,11 @@ used in both environments.
<!ENTITY xorg "Xorg">
<!ENTITY xorg.version "7.3">
<!-- Use an entity for DTrace to avoid spelling
mistakes stem from unusual capitalization -->
<!ENTITY dtrace "DTrace">
<!-- The currently released version of FreeBSD. This value is used to
create some links on web sites and such, so do NOT change it until
it's really release time -->