[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