MINOR: debug: indicate the applet name when the task is task_run_applet()
This allows to figure what applet is currently being executed (and likely
hung).
(cherry picked from commit a512b02f67a30ab5519d04f8c8b1263415321c85)
[wt: backported to improve troubleshooting when the watchdog fires]
Signed-off-by: Willy Tarreau <w@1wt.eu>
diff --git a/src/debug.c b/src/debug.c
index 3077e97..36cc9e7 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -90,6 +90,7 @@
void ha_task_dump(struct buffer *buf, const struct task *task, const char *pfx)
{
const struct stream *s = NULL;
+ const struct appctx __maybe_unused *appctx = NULL;
if (!task) {
chunk_appendf(buf, "0\n");
@@ -110,7 +111,7 @@
task->call_date ? " ns ago" : "");
chunk_appendf(buf, "%s"
- " fct=%p (%s) ctx=%p\n",
+ " fct=%p (%s) ctx=%p",
pfx,
task->process,
task->process == process_stream ? "process_stream" :
@@ -119,6 +120,11 @@
"?",
task->context);
+ if (task->process == task_run_applet && (appctx = task->context))
+ chunk_appendf(buf, "(%s)\n", appctx->applet->name);
+ else
+ chunk_appendf(buf, "\n");
+
if (task->process == process_stream && task->context)
s = (struct stream *)task->context;
else if (task->process == task_run_applet && task->context)