mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-11 03:31:36 +00:00
MINOR: quic: filter closing conn on "show quic"
Reduce default "show quic" output by masking connection on closing/draing state due to a CONNECTION_CLOSE emission/reception. These connections can still be displayed using the special argument "all". This should be backported up to 2.7.
This commit is contained in:
parent
2eda63b447
commit
3f9758ecab
@ -2966,10 +2966,11 @@ show resolvers [<resolvers section id>]
|
||||
too_big: too big response
|
||||
outdated: number of response arrived too late (after an other name server)
|
||||
|
||||
show quic
|
||||
show quic [all]
|
||||
Dump information on all active QUIC frontend connections. This command is
|
||||
restricted and can only be issued on sockets configured for levels "operator"
|
||||
or "admin".
|
||||
or "admin". By default, connections on closing or draining state are not
|
||||
displayed. Use the extra argument "all" to include them in the output.
|
||||
|
||||
show servers conn [<backend>]
|
||||
Dump the current and idle connections state of the servers belonging to the
|
||||
|
@ -7624,8 +7624,11 @@ struct show_quic_ctx {
|
||||
unsigned int epoch;
|
||||
struct bref bref; /* back-reference to the quic-conn being dumped */
|
||||
unsigned int thr;
|
||||
int flags;
|
||||
};
|
||||
|
||||
#define QC_CLI_FL_SHOW_ALL 0x1 /* show closing/draining connections */
|
||||
|
||||
static int cli_parse_show_quic(char **args, char *payload, struct appctx *appctx, void *private)
|
||||
{
|
||||
struct show_quic_ctx *ctx = applet_reserve_svcctx(appctx, sizeof(*ctx));
|
||||
@ -7633,8 +7636,12 @@ static int cli_parse_show_quic(char **args, char *payload, struct appctx *appctx
|
||||
if (!cli_has_level(appctx, ACCESS_LVL_OPER))
|
||||
return 1;
|
||||
|
||||
if (*args[2] && strcmp(args[2], "all") == 0)
|
||||
ctx->flags |= QC_CLI_FL_SHOW_ALL;
|
||||
|
||||
ctx->epoch = _HA_ATOMIC_FETCH_ADD(&qc_epoch, 1);
|
||||
ctx->thr = 0;
|
||||
ctx->flags = 0;
|
||||
|
||||
LIST_INIT(&ctx->bref.users);
|
||||
|
||||
@ -7699,6 +7706,12 @@ static int cli_io_handler_dump_quic(struct appctx *appctx)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!ctx->flags & QC_CLI_FL_SHOW_ALL &&
|
||||
qc->flags & (QUIC_FL_CONN_CLOSING|QUIC_FL_CONN_DRAINING)) {
|
||||
ctx->bref.ref = qc->el_th_ctx.n;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* CIDs */
|
||||
chunk_appendf(&trash, "* %p[%02u]: scid=", qc, qc->tid);
|
||||
for (cid_len = 0; cid_len < qc->scid.len; ++cid_len)
|
||||
|
Loading…
Reference in New Issue
Block a user