]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: debug: indicate the applet name when the task is task_run_applet()
authorWilly Tarreau <w@1wt.eu>
Wed, 21 Aug 2019 12:12:19 +0000 (14:12 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 21 Aug 2019 12:32:09 +0000 (14:32 +0200)
This allows to figure what applet is currently being executed (and likely
hung).

src/debug.c

index f378cd97f882bb2198d7792c6512fa87749f2339..3ea5ae4024b926126b2f5aa2e9be82f5400e2eff 100644 (file)
@@ -89,6 +89,7 @@ void ha_thread_dump(struct buffer *buf, int thr, int calling_tid)
 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");
@@ -109,7 +110,7 @@ void ha_task_dump(struct buffer *buf, const struct task *task, const char *pfx)
                              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" :
@@ -118,6 +119,11 @@ void ha_task_dump(struct buffer *buf, const struct task *task, const char *pfx)
                      "?",
                      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)