]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: mux-h1/show_fd: report as suspicious an entry with too many calls
authorWilly Tarreau <w@1wt.eu>
Thu, 21 Jan 2021 08:13:35 +0000 (09:13 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 21 Jan 2021 08:18:25 +0000 (09:18 +0100)
An FD entry that maps to an H1 connection whose stream was woken
up more than 1M times is now flagged as suspicious.

src/mux_h1.c

index ae50a5ef9315db0bf5b5a0883a1b6cd9b701a9c3..345161425e0e0b7b6098d77e967aec1656a01192 100644 (file)
@@ -3145,6 +3145,7 @@ static int h1_show_fd(struct buffer *msg, struct connection *conn)
 {
        struct h1c *h1c = conn->ctx;
        struct h1s *h1s = h1c->h1s;
+       int ret = 0;
 
        chunk_appendf(msg, " h1c.flg=0x%x .sub=%d .ibuf=%u@%p+%u/%u .obuf=%u@%p+%u/%u",
                      h1c->flags,  h1c->wait_event.events,
@@ -3176,12 +3177,14 @@ static int h1_show_fd(struct buffer *msg, struct connection *conn)
                                chunk_appendf(&trash, " tl.calls=%d tl.ctx=%p tl.fct=",
                                              h1s->subs->tasklet->calls,
                                              h1s->subs->tasklet->context);
+                               if (h1s->subs->tasklet->calls >= 1000000)
+                                       ret = 1;
                                resolve_sym_name(&trash, NULL, h1s->subs->tasklet->process);
                                chunk_appendf(&trash, ")");
                        }
                }
        }
-       return 0;
+       return ret;
 }