[systemd-devel] [PATCH V2] man: Add even more to the bootchart man page

William Giokas 1007380 at gmail.com
Wed Feb 13 15:54:49 PST 2013


Essentially transfer the 'README' file in src/bootchart to the man page
for easier reading by users.
---
 man/systemd-bootchart.xml | 120 ++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 106 insertions(+), 14 deletions(-)

diff --git a/man/systemd-bootchart.xml b/man/systemd-bootchart.xml
index a3fea05..22412d3 100644
--- a/man/systemd-bootchart.xml
+++ b/man/systemd-bootchart.xml
@@ -54,10 +54,64 @@
         <refsect1>
                 <title>Description</title>
 
-                <para>Systemd-bootchart is an boot time analysis tool. It represents
-                various aspects of the system as graph elements. These graph
-                elements allow the user to determine resource usage, efficiency
-                and performance issues.</para>
+                <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>History</title>
+
+                <para>This version of bootchart was implemented from scratch, but inspired
+                  by former bootchart incantations:</para>
+
+                <variablelist>
+                        <varlistentry>
+                                <term><option>Original bash</option></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><option>Ubuntu C Implementation</option></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><option>Java bootchart</option></term>
+                                <listitem><para>This was the original graphing application
+                                for charting the data, written in java.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>pybootchartgui.py</option></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>
 
@@ -69,15 +123,15 @@
                 <variablelist>
 
                         <varlistentry>
-                                <title>Kernel invocation</title>
+                                <term><option>Kernel invocation</option></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 matter.</para></listitem>
+                                this manner.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
-                                <title>Started as a standalone program</title>
+                                <term><option>Started as a standalone program</option></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
@@ -92,6 +146,9 @@
         <refsect1>
                 <title>Options</title>
 
+                <para>These options can be set globally in the <filename>/etc/systemd/bootchart.conf</filename>
+                file.</para>
+
                 <variablelist class='bootchart-directives'>
 
                         <varlistentry>
@@ -108,7 +165,7 @@
                                 <listitem><para>Specify the sample log frequency.
                                 This can be a fractional number, but must be larger than
                                 0.0. Most systems can cope with values under 25-50 without
-                                impacting boot time severely.</para></listitem>
+                                creating too much overhead.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
@@ -185,19 +242,54 @@
         <refsect1>
                 <title>Output</title>
 
-                <para>Systemd-bootchart generates SVG graphs. In order to render these
+                <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:///var/log"!
+                like Gimp and Inkscape.  Just point your browser at "file:///run/log"!
+                </para>
+        </refsect1>
+
+        <refsect1>
+                <title>Requirements</title>
+
+                <para>systemd-bootchart requires glibc. Your kernel must also have support
+                for the procfs pseudo-file system. These proc ouptut options must be enabled
+                at a minimum:</para>
+
+                <variablelist>
+
+                        <varlistentry>
+                                <term><option>CONFIG_PROC_FS</option></term>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>CONFIG_SCHEDSTATS</option></term>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><option>CONFIG_SCHED_DEBUG</option></term>
+                        </varlistentry>
+
+                </variablelist>
+
+                <para>No graphics library is required to generate the SVG output file.</para>
+
+        </refsect1>
+
+        <refsect1>
+                <title>See Also</title>
+                <para>
+                        <citerefentry><refentrytitle>bootchart.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                 </para>
         </refsect1>
 
         <refsect1>
-                  <title>See Also</title>
-                  <para>
-                          <citerefentry><refentrytitle>bootchart.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-                  </para>
+                <title>Bugs</title>
+                <para>For bugs, please contact the author or current maintainer:</para>
+                <varlistentry>
+                        <term>Auke Kok</term>
+                        <term><option>auke-jan.h.kok at intel.com</option></term>
+                </varlistentry>
         </refsect1>
 
 </refentry>
-- 
1.8.1.3.566.gaa39828



More information about the systemd-devel mailing list