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

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Wed Feb 13 18:23:45 PST 2013


On Wed, Feb 13, 2013 at 05:54:49PM -0600, William Giokas wrote:
> 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>
I don't think that this is a good idea. It mixes semantic and visual
markup and it'll confuse make-directive-index.py badly.
Maybe <term><emphasis>Original bash</></>?

> +                                <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>
Hm, again, this will confuse automatic tools. Actually this part might
better go into README.

Zbyszek

> +
> +                        <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
> 
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel
> 


More information about the systemd-devel mailing list