<surname>Poettering</surname>
<email>lennart@poettering.net</email>
</author>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Harald</firstname>
+ <surname>Hoyer</surname>
+ <email>harald@redhat.com</email>
+ </author>
</authorgroup>
</refentryinfo>
<refsynopsisdiv>
<cmdsynopsis>
- <command>systemd-analyze <arg choice="opt" rep="repeat">OPTIONS</arg> time</command>
+ <command>systemd-analyze</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ <arg>time</arg>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <command>systemd-analyze</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ <arg choice="plain">blame</arg>
</cmdsynopsis>
<cmdsynopsis>
- <command>systemd-analyze <arg choice="opt" rep="repeat">OPTIONS</arg> blame </command>
+ <command>systemd-analyze</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ <arg choice="plain">critical-chain</arg>
+ <arg choice="opt" rep="repeat"><replaceable>UNIT</replaceable></arg>
</cmdsynopsis>
<cmdsynopsis>
- <command>systemd-analyze <arg choice="opt" rep="repeat">OPTIONS</arg> plot <arg choice="opt">> file.svg</arg></command>
+ <command>systemd-analyze</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ <arg choice="plain">plot</arg>
+ <arg choice="opt">> file.svg</arg>
</cmdsynopsis>
<cmdsynopsis>
- <command>systemd-analyze <arg choice="opt" rep="repeat">OPTIONS</arg> dot <arg choice="opt">pattern...</arg> </command>
+ <command>systemd-analyze</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ <arg choice="plain">dot</arg>
+ <arg choice="opt" rep="repeat"><replaceable>PATTERN</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
be slow simply because it waits for the initialization
of another service to complete.</para>
+ <para><command>systemd-analyze critical-chain [<replaceable>UNIT...</replaceable>]</command>
+ prints a tree of the time critical chain of units
+ (for each of the specified <replaceable>UNIT</replaceable>s
+ or for the default target otherwise).
+ The time after the unit is active or started is printed
+ after the "@" character. The time the unit takes to
+ start is printed after the "+" character.
+ Note that the output might be misleading as the
+ initialization of one service might depend on socket
+ activation and because of the parallel execution
+ of units.</para>
+
<para><command>systemd-analyze plot</command> prints
an SVG graphic detailing which system services have
been started at what time, highlighting the time they
unit name must match one of given
values.</para></listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><option>--fuzz=</option><replaceable>timespan</replaceable></term>
+
+ <listitem><para>When used in conjunction
+ with the <command>critical-chain</command>
+ command (see above), also show units, which
+ finished <replaceable>timespan</replaceable> earlier, than the
+ latest unit in the same level. The unit of
+ <replaceable>timespan</replaceable> is seconds
+ unless specified with a different unit,
+ i.e. "50ms".</para></listitem>
+ </varlistentry>
</variablelist>
</refsect1>
<title>Examples</title>
<para>This plots all dependencies of any unit whose
- name starts with "<literal>avahi-daemon.</literal>":</para>
+ name starts with <literal>avahi-daemon.</literal>:</para>
<programlisting>$ systemd-analyze dot 'avahi-daemon.*' | dot -Tsvg > avahi.svg
$ eog avahi.svg</programlisting>