Add more space on the output to be more readable and separate old
processes from current ones.
---
 src/cli.c | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/src/cli.c b/src/cli.c
index 199d25fcf..3d3abb893 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -1398,18 +1398,36 @@ static int cli_io_handler_show_proc(struct appctx 
*appctx)
 {
        struct stream_interface *si = appctx->owner;
        struct mworker_proc *child;
+       int old = 0;
 
        if (unlikely(si_ic(si)->flags & (CF_WRITE_ERROR|CF_SHUTW)))
                return 1;
 
        chunk_reset(&trash);
 
-       chunk_printf(&trash, "# <PID> <type> <relative PID> <reloads>\n");
-       chunk_appendf(&trash, "%u %s %u %d\n", getpid(), "master", 0, -1);
+       chunk_printf(&trash, "#%-14s %-15s %-15s %-15s\n", "<PID>", "<type>", 
"<relative PID>", "<reloads>");
+       chunk_appendf(&trash, "%-15u %-15s %-15u %-15s\n", getpid(), "master", 
0, "-");
 
+       /* displays current processes */
 
+       chunk_appendf(&trash, "# workers\n");
        list_for_each_entry(child, &proc_list, list) {
-               chunk_appendf(&trash, "%u %s %u %d\n", child->pid, "worker", 
child->relative_pid, child->reloads);
+
+               if (child->reloads > 0) {
+                       old++;
+                       continue;
+               }
+               chunk_appendf(&trash, "%-15u %-15s %-15u %-15d\n", child->pid, 
"worker", child->relative_pid, child->reloads);
+}
+
+       /* displays old processes */
+
+       if (old) {
+               chunk_appendf(&trash, "# old workers\n");
+               list_for_each_entry(child, &proc_list, list) {
+                       if (child->reloads > 0)
+                               chunk_appendf(&trash, "%-15u %-15s %-15u 
%-15d\n", child->pid, "worker", child->relative_pid, child->reloads);
+               }
        }
 
        if (ci_putchk(si_ic(si), &trash) == -1) {
-- 
2.18.1


Reply via email to