<cmdsynopsis>
<command>systemd-analyze <arg choice="opt" rep="repeat">OPTIONS</arg> plot <arg choice="opt">> file.svg</arg></command>
</cmdsynopsis>
+ <cmdsynopsis>
+ <command>systemd-analyze <arg choice="opt" rep="repeat">OPTIONS</arg> dot <arg choice="opt">pattern...</arg> </command>
+ </cmdsynopsis>
</refsynopsisdiv>
<refsect1>
been started at what time, highlighting the time they
spent on initialization.</para>
+ <para><command>systemd-analyze dot</command> Generate
+ textual dependency graph description in dot format for
+ further processing with the GraphViz
+ <citerefentry><refentrytitle>dot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ tool. Use a command line like <command>systemd-analyze
+ dot | dot -Tsvg > systemd.svg</command> to generate a
+ graphical dependency tree. Unless
+ <option>--order</option> or <option>--require</option>
+ is passed the generated graph will show both ordering
+ and requirement dependencies. Optional pattern
+ globbing style specifications
+ (e.g. <filename>*.target</filename>) may be given at
+ the end. A unit dependency is included in the graph if
+ any of these patterns match either the origin or
+ destination node.</para>
+
<para>If no command is passed <command>systemd-analyze
time</command> is implied.</para>
<variablelist>
<varlistentry>
- <term><option>--h</option></term>
+ <term><option>-h</option></term>
<term><option>--help</option></term>
<listitem><para>Prints a short help
of user sessions instead of the system
manager.</para></listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><option>--order</option></term>
+ <term><option>--require</option></term>
+
+ <listitem><para>When used in
+ conjunction with the
+ <command>dot</command> command (see
+ above), selects which dependencies are
+ shown in the dependency graph. If
+ <option>--order</option> is passed
+ only dependencies of type
+ <varname>After=</varname> or
+ <varname>Before=</varname> are
+ shown. If <option>--require</option>
+ is passed only dependencies of type
+ <varname>Requires=</varname>,
+ <varname>RequiresOverridable=</varname>,
+ <varname>Requisite=</varname>,
+ <varname>RequisiteOverridable=</varname>,
+ <varname>Wants=</varname> and
+ <varname>Conflicts=</varname> are
+ shown. If neither is passed, shows
+ dependencies of all these
+ types.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--from-pattern=</option></term>
+ <term><option>--to-pattern=</option></term>
+
+ <listitem><para>When used in
+ conjunction with the
+ <command>dot</command> command (see
+ above), selects which relationships
+ are shown in the dependency graph.
+ They both require
+ <citerefentry><refentrytitle>glob</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ patterns as arguments, which are
+ matched against lefthand and
+ righthand, respectively, nodes of a
+ relationship. Each of these can be
+ used more than once which means a
+ unit name must match one of given
+ values.</para></listitem>
+ </varlistentry>
</variablelist>
</refsect1>
code otherwise.</para>
</refsect1>
+ <refsect1>
+ <title>Examples</title>
+
+ <para>This plots all dependencies of any unit whose
+ name starts with "<literal>avahi-daemon.</literal>":</para>
+
+ <programlisting>$ systemd-analyze dot 'avahi-daemon.*' | dot -Tsvg > avahi.svg
+$ eog avahi.svg</programlisting>
+
+ <para>This plots the dependencies between all known target units:</para>
+
+ <programlisting>systemd-analyze dot --to-pattern='*.target' --from-patter='*.target' | dot -Tsvg > targets.svg
+$ eog targets.svg</programlisting>
+
+
+ </refsect1>
+
<refsect1>
<title>See Also</title>
<para>