Files
zuul/doc/source/troubleshooting.rst
Jeremy Stanley d47001542e Better document service command-line switches
Improve the command-line option info at the start of the Operation
page to be a bit more verbose about -f in order to make it easier to
keyword search for, and include information on -d as well. Also link
to this from the Troubleshooting page, since increasing log detail
is likely to be one of the first steps before using the lower-level
tools mentioned there.

Change-Id: I369215df64a2dae22baa65cd010baaa3ec0b2c30
2022-02-11 14:48:41 +00:00

997 B

Troubleshooting

In addition to inspecting service debug logs <operation>, some advanced troubleshooting options are provided below. These are generally very low-level and are not normally required.

Thread Dumps and Profiling

If you send a SIGUSR2 to one of the daemon processes, it will dump a stack trace for each running thread into its debug log. It is written under the log bucket zuul.stack_dump. This is useful for tracking down deadlock or otherwise slow threads:

sudo kill -USR2 `cat /var/run/zuul/executor.pid`
view /var/log/zuul/executor-debug.log +/zuul.stack_dump

When yappi (Yet Another Python Profiler) is available, additional functions' and threads' stats are emitted as well. The first SIGUSR2 will enable yappi, on the second SIGUSR2 it dumps the information collected, resets all yappi state and stops profiling. This is to minimize the impact of yappi on a running system.