systemd-bootchart.xml revision e7ecdfc15cee7a90da23d89c228ada5560ebb3a4
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok<?xml version='1.0'?> <!--*-nxml-*-->
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok<!--
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok This file is part of systemd.
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok Copyright 2012 Intel Corporation
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok Authors:
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok Auke Kok <auke-jan.h.kok@intel.com>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas William Giokas <1007380@gmail.com>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok systemd is free software; you can redistribute it and/or modify it
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok under the terms of the GNU Lesser General Public License as published by
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok the Free Software Foundation; either version 2.1 of the License, or
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok (at your option) any later version.
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok systemd is distributed in the hope that it will be useful, but
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok WITHOUT ANY WARRANTY; without even the implied warranty of
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok Lesser General Public License for more details.
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok You should have received a copy of the GNU Lesser General Public License
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok along with systemd; If not, see <http://www.gnu.org/licenses/>.
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok-->
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
56ba3c78ae35065064c4289a0c8e22a81256af20Zbigniew Jędrzejewski-Szmek<refentry id="systemd-bootchart" conditional='ENABLE_BOOTCHART'>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <refentryinfo>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <title>systemd-bootchart</title>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <productname>systemd</productname>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <authorgroup>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <author>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <contrib>Developer</contrib>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <firstname>Auke</firstname>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <surname>Kok</surname>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <email>auke-jan.h.kok@intel.com</email>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </author>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </authorgroup>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </refentryinfo>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <refmeta>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <refentrytitle>systemd-bootchart</refentrytitle>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <manvolnum>1</manvolnum>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </refmeta>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <refnamediv>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <refname>systemd-bootchart</refname>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <refpurpose>Boot performance graphing tool</refpurpose>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </refnamediv>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <refsect1>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <title>Description</title>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <para>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <command>systemd-bootchart</command> is a
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek tool, usually run at system startup, that
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek collects the CPU load, disk load, memory
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek usage, as well as per-process information from
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek a running system. Collected results are output
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek as an SVG graph. Normally, systemd-bootchart
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek is invoked by the kernel by passing
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <option>init=<filename>/usr/lib/systemd/systemd-bootchart</filename></option>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek on the kernel commandline. systemd-bootchart will then
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek fork the real init off to resume normal system
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek startup, while monitoring and logging startup
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek information in the background.
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek </para>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <para>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek After collecting a certain amount of data
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek (usually 15-30 seconds, default 20 s) the
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek logging stops and a graph is generated from
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek the logged information. This graph contains
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek vital clues as to which resources are being used,
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek in which order, and where possible problems
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek exist in the startup sequence of the system.
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek It is essentially a more detailed version of
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek the <command>systemd-analyze</command>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <command>plot</command> function.
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek </para>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <para>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek Of course, bootchart can also be used at any
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek moment in time to collect and graph some data
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek for an amount of time. It is
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek recommended to use the <option>--rel</option>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek switch in this case.
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek </para>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <para>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek Bootchart does not require root privileges,
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek and will happily run as a normal user.
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek </para>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <para>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek Bootchart graphs are by default written
e7ecdfc15cee7a90da23d89c228ada5560ebb3a4Zbigniew Jędrzejewski-Szmek time-stamped in <filename>/run/log</filename>
e7ecdfc15cee7a90da23d89c228ada5560ebb3a4Zbigniew Jędrzejewski-Szmek and saved to the journal with
e7ecdfc15cee7a90da23d89c228ada5560ebb3a4Zbigniew Jędrzejewski-Szmek <varname>MESSAGE_ID=9f26aa562cf440c2b16c773d0479b518</varname>.
e7ecdfc15cee7a90da23d89c228ada5560ebb3a4Zbigniew Jędrzejewski-Szmek Journal field <varname>BOOTCHART=</varname> contains
e7ecdfc15cee7a90da23d89c228ada5560ebb3a4Zbigniew Jędrzejewski-Szmek the bootchart in SVG format.
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek </para>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </refsect1>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <refsect1>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <title>Invocation</title>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <para><command>systemd-bootchart</command> can be invoked in several different ways:</para>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
ccc9a4f9ffdab069b0b785627c48962fdadf6d46Zbigniew Jędrzejewski-Szmek <variablelist>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <varlistentry>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <term><emphasis>Kernel invocation</emphasis></term>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <listitem><para>The kernel can invoke
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <command>systemd-bootchart</command>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek instead of the init process. In turn,
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <command>systemd-bootchart</command>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek will invoke <command>/sbin/init</command>.
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek </para></listitem>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </varlistentry>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <varlistentry>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <term><emphasis>Started as a standalone program</emphasis></term>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <listitem><para>One can execute
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <command>systemd-bootchart</command>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek as normal application from the
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek commandline. In this mode it is highly
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek recommended to pass the
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <option>-r</option> flag in order to
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek not graph the time elapsed since boot
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek and before systemd-bootchart was
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek started, as it may result in extremely
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek large graphs. </para></listitem>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </varlistentry>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </variablelist>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </refsect1>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <refsect1>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <title>Options</title>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <para>These options can also be set in the
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <filename>/etc/systemd/bootchart.conf</filename>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek file. See
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>bootchart.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek </para>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <variablelist>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <term><option>-n</option></term>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <term><option>--sample <replaceable>N</replaceable></option></term>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <listitem><para>Specify the number of
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek samples, <replaceable>N</replaceable>,
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek to record. Samples will be recorded at
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek intervals defined with <option>--freq</option>.
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek </para></listitem>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas </varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <term><option>-f</option></term>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <term><option>--freq <replaceable>f</replaceable></option></term>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <listitem><para>Specify the sample log
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek frequency, a positive real <replaceable>f</replaceable>, in Hz.
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek Most systems can cope with values up to 25-50 without
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas creating too much overhead.</para></listitem>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas </varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <term><option>-r</option></term>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <term><option>--rel</option></term>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <listitem><para>Use relative times instead of absolute
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas times. This is useful for using bootchart at post-boot
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek time to profile an already booted system. Without this
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek option the graph would become extremely large. If set, the
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas horizontal axis starts at the first recorded sample
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek instead of time 0.0.</para></listitem>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas </varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <term><option>-F</option></term>
6d2679917919f1d59bf677d719fb84aedf8b9558Zbigniew Jędrzejewski-Szmek <term><option>--no-filter</option></term>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <listitem><para>Disable filtering of tasks that
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas did not contribute significantly to the boot. Processes
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas that are too short-lived (only seen in one sample) or
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas that do not consume any significant CPU time (less than
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek 0.001 s) will not be displayed in the output graph.
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas </para></listitem>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas </varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas
78da2cd926937935741ce86bd53c8b546cca6f7aHarald Hoyer <varlistentry>
78da2cd926937935741ce86bd53c8b546cca6f7aHarald Hoyer <term><option>-C</option></term>
78da2cd926937935741ce86bd53c8b546cca6f7aHarald Hoyer <term><option>--cmdline</option></term>
78da2cd926937935741ce86bd53c8b546cca6f7aHarald Hoyer <listitem><para>Display the full command line with arguments of processes,
78da2cd926937935741ce86bd53c8b546cca6f7aHarald Hoyer instead of only the process name.
78da2cd926937935741ce86bd53c8b546cca6f7aHarald Hoyer </para></listitem>
78da2cd926937935741ce86bd53c8b546cca6f7aHarald Hoyer </varlistentry>
78da2cd926937935741ce86bd53c8b546cca6f7aHarald Hoyer
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <term><option>-o</option></term>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <term><option>--output <replaceable>path</replaceable></option></term>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <listitem><para>Specify the output folder for the
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek graphs. By default, bootchart writes the graphs to
895aeb27795c00f365ce3b30b1dca549b4f5468eWilliam Giokas <filename>/run/log</filename>.</para></listitem>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas </varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <term><option>-i</option></term>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <term><option>--init <replaceable>path</replaceable></option></term>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <listitem><para>Use this init binary. Defaults to
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <command>/sbin/init</command>.
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas </para></listitem>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas </varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <term><option>-p</option></term>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <term><option>--pss</option></term>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <listitem><para>Enable logging and graphing
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek of processes' PSS (Proportional Set Size)
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek memory consumption. See <filename>filesystems/proc.txt</filename>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek in the kernel documentation for an
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek explanation of this field.
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek </para></listitem>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas </varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <term><option>-e</option></term>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <term><option>--entropy</option></term>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <listitem><para>Enable logging and graphing
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas of the kernel random entropy pool size.</para></listitem>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas </varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <term><option>-x</option></term>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <term><option>--scale-x <replaceable>N</replaceable></option></term>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <listitem><para>Horizontal scaling factor for all variable
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas graph components.</para></listitem>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas </varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <term><option>-y</option></term>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <term><option>--scale-y <replaceable>N</replaceable></option></term>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas <listitem><para>Vertical scaling factor for all variable
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas graph components.</para></listitem>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas </varlistentry>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas </variablelist>
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas
5797606612b5b37dbba5d90b39665cdf7f7a1b11William Giokas
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </refsect1>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <refsect1>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <title>Output</title>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <para><command>systemd-bootchart</command> generates SVG graphs. In order to render those
1959c6ce940786d33f91e19c41441bf4c9f6a768Thomas Hindoe Paaboel Andersen on a graphical display any SVG capable viewer can be used. It should be
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok noted that the SVG render engines in most browsers (including Chrome
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok and Firefox) are many times faster than dedicated graphical applications
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek like Gimp and Inkscape. Just point your browser at <ulink url="file:///run/log/" />!
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas </para>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas </refsect1>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <refsect1>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <title>History</title>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <para>This version of bootchart was implemented from
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek scratch, but is inspired by former bootchart
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek incantations:</para>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <variablelist>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <varlistentry>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <term><emphasis>Original bash</emphasis></term>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <listitem><para>The original bash/shell code implemented
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas bootchart. This version created a compressed tarball for
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas processing with external applications. This version did
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas not graph anything, only generated data.</para></listitem>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas </varlistentry>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <varlistentry>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <term><emphasis>Ubuntu C Implementation</emphasis></term>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <listitem><para>This version replaced the shell version with
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas a fast and efficient data logger, but also did not graph
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas the data.</para></listitem>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas </varlistentry>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <varlistentry>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <term><emphasis>Java bootchart</emphasis></term>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <listitem><para>This was the original graphing application
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas for charting the data, written in java.</para></listitem>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas </varlistentry>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <varlistentry>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <term><emphasis>pybootchartgui.py</emphasis></term>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <listitem><para>pybootchart created a graph from the data
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas collected by either the bash or C version.</para></listitem>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas </varlistentry>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas </variablelist>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <para>The version of bootchart you are using now combines both the data
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas collection and the charting into a single application, making it more
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas efficient and simpler. There are no longer any timing issues with the data
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas collector and the grapher, as the graphing cannot be run until the data
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas has been collected. Also, the data kept in memory is reduced to the absolute
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas minimum needed.</para>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas </refsect1>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <refsect1>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <title>See Also</title>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <para>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <citerefentry><refentrytitle>bootchart.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </para>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </refsect1>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok <refsect1>
c3fec6715df4df7bfec9a0d0315e8f17b53eeb8eWilliam Giokas <title>Bugs</title>
1e447e0a3cb3e98827938a182593056ddbb13b29William Giokas <para>systemd-bootchart does not get the model information for the hard drive
1e447e0a3cb3e98827938a182593056ddbb13b29William Giokas unless the root device is specified with <code>root=/dev/sdxY</code>. Using
1e447e0a3cb3e98827938a182593056ddbb13b29William Giokas UUIDs or PARTUUIDs will boot fine, but the hard drive model will not be
1e447e0a3cb3e98827938a182593056ddbb13b29William Giokas added to the chart.</para>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <para>For bugs, please contact the author and current maintainer:</para>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <simplelist>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek <member>Auke Kok <email>auke-jan.h.kok@intel.com</email></member>
f1c24fea94e19cf2108abbeed1d36ded7102ab98Zbigniew Jędrzejewski-Szmek </simplelist>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok </refsect1>
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok
83fdc450aa8f79941bec84488ffd5bf8eadab18eAuke Kok</refentry>