1
========================
2
plainbox-dev-analyze (1)
3
========================
6
:ref: plainbox.impl.box.get_parser_for_sphinx
12
The ``plainbox dev analyze`` command is a direct replacement for ``plainbox
13
run`` that doesn't really run most of the jobs. Instead it offers a set of
14
reports that can be enabled (confusingly, by default no reports are enabled
15
and the command prints nothing at all) to inspect certain aspects of the
18
The only exception to the rule above is the ``--run-local`` option. With that
19
option all local jobs and their dependencies *are* started. This is
20
technically required to correctly emulate the behavior of ``plainbox run``
21
that does so unconditionally. Still, local jobs can cause harm so don't run
22
untrusted code this way (the author of this man page recalls one local job
23
that ran ``sudo reboot`` to measure bootchart data)
28
Plainbox ``dev analyze`` command offers a number of reports that can be
29
selected with their respective command line options. By default, no reports
30
are enabled which may be a little bit confusing but all options can be
31
enabled at the same time.
36
This report shows if any of the jobs have missing dependencies. It almost
37
never happens but the report is here for completeness.
42
This report shows, for each job, if it is fully automatic or if it requires
45
Estimated Duration Report
46
-------------------------
48
This report shows if Plainbox would be able to accurately estimate the
49
duration of the session. It shows details for both fully automatic and
55
This report shows if all of the selected jobs are valid. It is of lesser
56
use now that we have provider-wide validation via ``./manage.py validate``
58
Two Kinds of Job Lists
59
======================
64
This list is displayed with the ``-S`` option. It contains the ordered
65
sequence of jobs that are "desired" by the test operator to execute. This
66
list contrasts with the so-called `run list` mentioned below.
71
This list is displayed with the ``-R`` option. It contains the ordered
72
sequence of jobs that should be executed to satisfy the `desired list`
73
mentioned above. It is always a superset of the desired job list and almost
74
always includes additional jobs (such as resource jobs and other
77
The run list is of great importance. Most of the time the test operator will
78
see tests in precisely this order. The only exception is that some test
79
applications choose to pre-run local jobs. Still, if your job ordering is
80
wrong in any way, inspecting the run list is the best way to debug the