I'd like to be able to debug the execution order of the jobs started by Upstart (ideally without injecting dumping code into every job file). How can I do this?
3 Answers
Boot your system adding '--debug
' to the grub command line, and once the system has booted, look at your system log file (for example '/var/log/syslog
' on modern versions of Ubuntu). This will give you information on events emitted and jobs changing state. Here's an example of the format:
http://upstart.ubuntu.com/cookbook/#if-job-is-not-currently-running
See also:

- 1,980
Run initctl2dot
command and view the upstart.dot
with your favorite Graphviz dot viewer it outputted for nice graphical view on how the system boots.

- 3,952
-
Further info on this approach is here: http://askubuntu.com/questions/28281/what-events-are-available-for-upstart – Elder Geek Aug 06 '14 at 20:41
/var/log/boot.log
should give you some indication about when jobs are firing but you might want to change the logging verbosity at boot so you can better see things.
There's more about that and other techniques on Upstart's Debugging page.

- 293,335