]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: cli: change 'show proc' output of old processes
authorWilliam Lallemand <wlallemand@haproxy.com>
Wed, 12 Dec 2018 12:45:57 +0000 (13:45 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 12 Dec 2018 12:54:17 +0000 (13:54 +0100)
Change the output of the relative pid for the old processes, displays
"[was: X]" instead of just "X" which was confusing if you want to
connect to the CLI of an old PID.

doc/management.txt
src/cli.c

index dee7b20f54b6397df89762f6c62ec29e35a87932..03f742cf768efe9f09378065fa91c8df898def43 100644 (file)
@@ -2505,7 +2505,7 @@ Example:
   1271            worker          1               0               0d 00h00m00s
   1272            worker          2               0               0d 00h00m00s
   # old workers
-  1233            worker          1               3               0d 00h00m43s
+  1233            worker          [was: 1]        3               0d 00h00m43s
 
 
 In this example, the master has been reloaded 5 times but one of the old
index c41a8b5a1f7c3ddd26617d190d705960fa14d0d3..0bb5bb018759ff381faf6db4511bf6f12e408a81 100644 (file)
--- a/src/cli.c
+++ b/src/cli.c
@@ -1426,11 +1426,13 @@ static int cli_io_handler_show_proc(struct appctx *appctx)
                        continue;
                }
                chunk_appendf(&trash, "%-15u %-15s %-15u %-15d %dd %02dh%02dm%02ds\n", child->pid, "worker", child->relative_pid, child->reloads, up / 86400, (up % 86400) / 3600, (up % 3600) / 60, (up % 60));
-}
+       }
 
        /* displays old processes */
 
        if (old) {
+               char *msg = NULL;
+
                chunk_appendf(&trash, "# old workers\n");
                list_for_each_entry(child, &proc_list, list) {
                        up = now.tv_sec - child->timestamp;
@@ -1438,9 +1440,12 @@ static int cli_io_handler_show_proc(struct appctx *appctx)
                        if (child->type != 'w')
                                continue;
 
-                       if (child->reloads > 0)
-                               chunk_appendf(&trash, "%-15u %-15s %-15u %-15d %dd %02dh%02dm%02ds\n", child->pid, "worker", child->relative_pid, child->reloads, up / 86400, (up % 86400) / 3600, (up % 3600) / 60, (up % 60));
+                       if (child->reloads > 0) {
+                               memprintf(&msg, "[was: %u]", child->relative_pid);
+                               chunk_appendf(&trash, "%-15u %-15s %-15s %-15d %dd %02dh%02dm%02ds\n", child->pid, "worker", msg, child->reloads, up / 86400, (up % 86400) / 3600, (up % 3600) / 60, (up % 60));
+                       }
                }
+               free(msg);
        }
 
        if (ci_putchk(si_ic(si), &trash) == -1) {