chiark / gitweb /
Reindent man pages to 2ch
[elogind.git] / man / systemd-bootchart.xml
index f87f8212577e3eb09405c2cec9f5bf115380e6a0..ab883c262dd0c8aa133d5d5793fd8e59b8dec361 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0'?> <!--*-nxml-*-->
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-        "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
 
 <!--
   This file is part of systemd.
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 -->
 
-<refentry id="systemd-bootchart" conditional='ENABLE_BOOTCHART'>
-        <refentryinfo>
-                <title>systemd-bootchart</title>
-                <productname>systemd</productname>
-
-                <authorgroup>
-                        <author>
-                                <contrib>Developer</contrib>
-                                <firstname>Auke</firstname>
-                                <surname>Kok</surname>
-                                <email>auke-jan.h.kok@intel.com</email>
-                        </author>
-                </authorgroup>
-        </refentryinfo>
-
-        <refmeta>
-                <refentrytitle>systemd-bootchart</refentrytitle>
-                <manvolnum>1</manvolnum>
-        </refmeta>
-
-        <refnamediv>
-                <refname>systemd-bootchart</refname>
-                <refpurpose>Boot performance analysis graphing tool</refpurpose>
-        </refnamediv>
-
-        <refsect1>
-                <title>Description</title>
-
-                <para>systemd-bootchart is a tool used to analyze a boot sequence.
-                It collects system information pertaining to the CPU and disk load, as
-                well as per-process information, and then creates a chart with this
-                information. Usually it is invoked by setting the init to
-                <filename>systemd-bootchart</filename> on the kernel command line. It
-                be run after boot to analyze running processes, though it is recommended
-                to use the <option>--rel</option> switch when doing this.</para>
-
-                <para>After collecting a certain amount of data (default: 20 seconds) it
-                will write the SVG chart to <filename>/run/log</filename>. This chart
-                can be used to find problems in the start up sequence and where these
-                problems exist. It is essentially a more detailed version of the
-                systemd-analyze plot function.</para>
-
-        </refsect1>
-
-        <refsect1>
-                <title>Invocation</title>
-
-                <para>systemd-bootchart can be invoked in several different ways:</para>
-
-                <variablelist>
-
-                        <varlistentry>
-                                <term><emphasis>Kernel invocation</emphasis></term>
-                                <listitem><para>The kernel can invoke systemd-bootchart
-                                instead of the init process. In itself, systemd-bootchart
-                                will invoke <filename>/sbin/init</filename> if invoked in
-                                this manner.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><emphasis>Started as a standalone program</emphasis></term>
-                                <listitem><para>One can execute systemd-bootchart as
-                                normal application from the commandline. In this mode
-                                it is highly recommended to pass the "-r" flag in order
-                                to not graph the time elapsed since boot and before
-                                systemd-bootchart was started, as it may result in
-                                extremely large graphs.
-                                </para></listitem>
-                        </varlistentry>
-                </variablelist>
-        </refsect1>
-
-        <refsect1>
-                <title>Options</title>
-
-                <para>These options can be set globally in the <filename>/etc/systemd/bootchart.conf</filename>
-                file.</para>
-
-                <variablelist>
-
-                        <varlistentry>
-                                <term><option>-n</option></term>
-                                <term><option>--sample N</option></term>
-                                <listitem><para>Specify the amount of samples, N, to
-                                record total before bootchart exits. Each sample will
-                                record at intervals defined by --freq.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><option>-f</option></term>
-                                <term><option>--freq N</option></term>
-                                <listitem><para>Specify the sample log frequency, N.
-                                This can be a fractional number, but must be larger than
-                                0.0. Most systems can cope with values under 25-50 without
-                                creating too much overhead.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><option>-r</option></term>
-                                <term><option>--rel</option></term>
-                                <listitem><para>Use relative times instead of absolute
-                                times. This is useful for using bootchart at post-boot
-                                time to profile an already booted system, otherwise the
-                                graph would become extremely large. If set, the
-                                horizontal axis starts at the first recorded sample
-                                instead of time=0.0.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><option>-F</option></term>
-                                <term><option>--filter</option></term>
-                                <listitem><para>Disable filtering of tasks tasks that
-                                did not contribute significantly to the boot. Processes
-                                that are too short-lived (only seen in one sample) or
-                                that do not consume any significant CPU time (less than
-                                0.001sec) will not be displayed in the output graph.
-                                </para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><option>-o</option></term>
-                                <term><option>--output [path]</option></term>
-                                <listitem><para>Configures the output folder for writing
-                                the graphs. By default, bootchart writes the graphs to
-                                <filename>/run/log</filename>.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><option>-i</option></term>
-                                <term><option>--init [path]</option></term>
-                                <listitem><para>Set init binary to run. Defaults to
-                                <filename>/sbin/init</filename>.
-                                </para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><option>-p</option></term>
-                                <term><option>--pss</option></term>
-                                <listitem><para>Enable logging and graphing
-                                of processes PSS memory consumption.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><option>-e</option></term>
-                                <term><option>--entropy</option></term>
-                                <listitem><para>Enable logging and graphing
-                                of the kernel random entropy pool size.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><option>-x</option></term>
-                                <term><option>--scale-x N</option></term>
-                                <listitem><para>Horizontal scaling factor for all variable
-                                graph components.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><option>-y</option></term>
-                                <term><option>--scale-y N</option></term>
-                                <listitem><para>Vertical scaling factor for all variable
-                                graph components.</para></listitem>
-                        </varlistentry>
-
-                </variablelist>
-
-
-        </refsect1>
-
-        <refsect1>
-                <title>Output</title>
-
-                <para>systemd-bootchart generates SVG graphs. In order to render these
-                on a graphical display any SVG capable viewer can be used. It should be
-                noted that the SVG render engines in most browsers (including Chrome
-                and Firefox) are many times faster than dedicated graphical applications
-                like Gimp and Inkscape.  Just point your browser at "file:///run/log"!
-                </para>
-        </refsect1>
-
-        <refsect1>
-                <title>History</title>
-
-                <para>This version of bootchart was implemented from scratch, but inspired
-                  by former bootchart incantations:</para>
-
-                <variablelist>
-                        <varlistentry>
-                                <term><emphasis>Original bash</emphasis></term>
-                                <listitem><para>The original bash/shell code implemented
-                                bootchart. This version created a compressed tarball for
-                                processing with external applications. This version did
-                                not graph anything, only generated data.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><emphasis>Ubuntu C Implementation</emphasis></term>
-                                <listitem><para>This version replaced the shell version with
-                                a fast and efficient data logger, but also did not graph
-                                the data.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><emphasis>Java bootchart</emphasis></term>
-                                <listitem><para>This was the original graphing application
-                                for charting the data, written in java.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><emphasis>pybootchartgui.py</emphasis></term>
-                                <listitem><para>pybootchart created a graph from the data
-                                collected by either the bash or C version.</para></listitem>
-                        </varlistentry>
-                </variablelist>
-
-                <para>The version of bootchart you are using now combines both the data
-                collection and the charting into a single application, making it more
-                efficient and simpler. There are no longer any timing issues with the data
-                collector and the grapher, as the graphing cannot be run until the data
-                has been collected. Also, the data kept in memory is reduced to the absolute
-                minimum needed.</para>
-
-
-        </refsect1>
-
-        <refsect1>
-                <title>See Also</title>
-                <para>
-                        <citerefentry><refentrytitle>bootchart.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-                </para>
-        </refsect1>
-
-        <refsect1>
-                <title>Bugs</title>
-                <para>For bugs, please contact the author or current maintainer:</para>
-                <varlistentry>
-                        <term>Auke Kok</term>
-                        <term><emphasis>auke-jan.h.kok@intel.com</emphasis></term>
-                </varlistentry>
-        </refsect1>
+<refentry id="systemd-bootchart" conditional='ENABLE_BOOTCHART'
+    xmlns:xi="http://www.w3.org/2001/XInclude">
+
+  <refentryinfo>
+    <title>systemd-bootchart</title>
+    <productname>systemd</productname>
+
+    <authorgroup>
+      <author>
+        <contrib>Developer</contrib>
+        <firstname>Auke</firstname>
+        <surname>Kok</surname>
+        <email>auke-jan.h.kok@intel.com</email>
+      </author>
+    </authorgroup>
+  </refentryinfo>
+
+  <refmeta>
+    <refentrytitle>systemd-bootchart</refentrytitle>
+    <manvolnum>1</manvolnum>
+  </refmeta>
+
+  <refnamediv>
+    <refname>systemd-bootchart</refname>
+    <refpurpose>Boot performance graphing tool</refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      <command>systemd-bootchart</command> is a tool, usually run at
+      system startup, that collects the CPU load, disk load, memory
+      usage, as well as per-process information from a running system.
+      Collected results are output as an SVG graph. Normally,
+      systemd-bootchart is invoked by the kernel by passing
+      <option>init=<filename>/usr/lib/systemd/systemd-bootchart</filename></option>
+      on the kernel command line. systemd-bootchart will then fork the
+      real init off to resume normal system startup, while monitoring
+      and logging startup information in the background.
+    </para>
+    <para>
+      After collecting a certain amount of data (usually 15-30
+      seconds, default 20 s) the logging stops and a graph is
+      generated from the logged information. This graph contains vital
+      clues as to which resources are being used, in which order, and
+      where possible problems exist in the startup sequence of the
+      system. It is essentially a more detailed version of the
+      <command>systemd-analyze plot</command> function.
+    </para>
+    <para>
+      Of course, bootchart can also be used at any moment in time to
+      collect and graph some data for an amount of time. It is
+      recommended to use the <option>--rel</option> switch in this
+      case.
+    </para>
+    <para>
+      Bootchart does not require root privileges, and will happily run
+      as a normal user.
+    </para>
+    <para>
+      Bootchart graphs are by default written time-stamped in
+      <filename>/run/log</filename> and saved to the journal with
+      <varname>MESSAGE_ID=9f26aa562cf440c2b16c773d0479b518</varname>.
+      Journal field <varname>BOOTCHART=</varname> contains the
+      bootchart in SVG format.
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>Invocation</title>
+
+    <para><command>systemd-bootchart</command> can be invoked in several different ways:</para>
+
+    <variablelist>
+
+      <varlistentry>
+        <term><emphasis>Kernel invocation</emphasis></term>
+        <listitem><para>The kernel can invoke
+        <command>systemd-bootchart</command> instead of the init
+        process. In turn, <command>systemd-bootchart</command> will
+        invoke <command>/usr/lib/systemd/systemd</command>.
+        </para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><emphasis>Started as a standalone program</emphasis></term>
+        <listitem><para>One can execute
+        <command>systemd-bootchart</command> as normal application
+        from the command line. In this mode it is highly recommended
+        to pass the <option>-r</option> flag in order to not graph the
+        time elapsed since boot and before systemd-bootchart was
+        started, as it may result in extremely large graphs. The time
+        elapsed since boot might also include any time that the system
+        was suspended.</para></listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
+  <refsect1>
+    <title>Options</title>
+
+    <para>These options can also be set in the
+    <filename>/etc/systemd/bootchart.conf</filename> file. See
+    <citerefentry project='man-pages'><refentrytitle>bootchart.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+    </para>
+
+    <variablelist>
+      <xi:include href="standard-options.xml" xpointer="help" />
+
+      <varlistentry>
+        <term><option>-n</option></term>
+        <term><option>--sample <replaceable>N</replaceable></option></term>
+        <listitem><para>Specify the number of samples,
+        <replaceable>N</replaceable>, to record. Samples will be
+        recorded at intervals defined with <option>--freq</option>.
+        </para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-f</option></term>
+        <term><option>--freq <replaceable>f</replaceable></option></term>
+        <listitem><para>Specify the sample log frequency, a positive
+        real <replaceable>f</replaceable>, in Hz. Most systems can
+        cope with values up to 25-50 without creating too much
+        overhead.</para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-r</option></term>
+        <term><option>--rel</option></term>
+        <listitem><para>Use relative times instead of absolute times.
+        This is useful for using bootchart at post-boot time to
+        profile an already booted system. Without this option the
+        graph would become extremely large. If set, the horizontal
+        axis starts at the first recorded sample instead of time
+        0.0.</para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-F</option></term>
+        <term><option>--no-filter</option></term>
+        <listitem><para>Disable filtering of tasks that did not
+        contribute significantly to the boot. Processes that are too
+        short-lived (only seen in one sample) or that do not consume
+        any significant CPU time (less than 0.001 s) will not be
+        displayed in the output graph. </para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-C</option></term>
+        <term><option>--cmdline</option></term>
+        <listitem><para>Display the full command line with arguments
+        of processes, instead of only the process name.
+        </para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-g</option></term>
+        <term><option>--control-group</option></term>
+        <listitem><para>Display process control group
+        </para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-o</option></term>
+        <term><option>--output <replaceable>path</replaceable></option></term>
+        <listitem><para>Specify the output directory for the graphs.
+        By default, bootchart writes the graphs to
+        <filename>/run/log</filename>.</para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-i</option></term>
+        <term><option>--init <replaceable>path</replaceable></option></term>
+        <listitem><para>Use this init binary. Defaults to
+        <command>/usr/lib/systemd/systemd</command>.
+        </para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-p</option></term>
+        <term><option>--pss</option></term>
+        <listitem><para>Enable logging and graphing of processes' PSS
+        (Proportional Set Size) memory consumption. See
+        <filename>filesystems/proc.txt</filename> in the kernel
+        documentation for an explanation of this field.
+        </para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-e</option></term>
+        <term><option>--entropy</option></term>
+        <listitem><para>Enable logging and graphing of the kernel
+        random entropy pool size.</para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-x</option></term>
+        <term><option>--scale-x <replaceable>N</replaceable></option></term>
+        <listitem><para>Horizontal scaling factor for all variable
+        graph components.</para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-y</option></term>
+        <term><option>--scale-y <replaceable>N</replaceable></option></term>
+        <listitem><para>Vertical scaling factor for all variable graph
+        components.</para></listitem>
+      </varlistentry>
+
+    </variablelist>
+
+
+  </refsect1>
+
+  <refsect1>
+    <title>Output</title>
+
+    <para><command>systemd-bootchart</command> generates SVG graphs.
+    In order to render those on a graphical display any SVG capable
+    viewer can be used. It should be noted that the SVG render engines
+    in most browsers (including Chrome and Firefox) are many times
+    faster than dedicated graphical applications like Gimp and
+    Inkscape. Just point your browser at
+    <ulink url="file:///run/log/" />!
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>History</title>
+
+    <para>This version of bootchart was implemented from scratch, but
+    is inspired by former bootchart incantations:</para>
+
+    <variablelist>
+      <varlistentry>
+        <term><emphasis>Original bash</emphasis></term>
+        <listitem><para>The original bash/shell code implemented
+        bootchart. This version created a compressed tarball for
+        processing with external applications. This version did not
+        graph anything, only generated data.</para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><emphasis>Ubuntu C Implementation</emphasis></term>
+        <listitem><para>This version replaced the shell version with a
+        fast and efficient data logger, but also did not graph the
+        data.</para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><emphasis>Java bootchart</emphasis></term>
+        <listitem><para>This was the original graphing application for
+        charting the data, written in java.</para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><emphasis>pybootchartgui.py</emphasis></term>
+        <listitem><para>pybootchart created a graph from the data
+        collected by either the bash or C version.</para></listitem>
+      </varlistentry>
+    </variablelist>
+
+    <para>The version of bootchart you are using now combines both the
+    data collection and the charting into a single application, making
+    it more efficient and simpler. There are no longer any timing
+    issues with the data collector and the grapher, as the graphing
+    cannot be run until the data has been collected. Also, the data
+    kept in memory is reduced to the absolute minimum needed.</para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+
+    <para>
+      <citerefentry project='man-pages'><refentrytitle>bootchart.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Bugs</title>
+
+    <para>systemd-bootchart does not get the model information for the
+    hard drive unless the root device is specified with
+    <code>root=/dev/sdxY</code>. Using UUIDs or PARTUUIDs will boot
+    fine, but the hard drive model will not be added to the
+    chart.</para>
+    <para>For bugs, please contact the author and current maintainer:</para>
+    <simplelist>
+      <member>Auke Kok <email>auke-jan.h.kok@intel.com</email></member>
+    </simplelist>
+  </refsect1>
 
 </refentry>