Q:

Debugging the execution order of Upstart jobs

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?

A:

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:
http://upstart.ubuntu.com/cookbook/#debugging

A:

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.

