MINOR: mux: add a "show_fd" function to dump debugging information for "show fd"

This function will be called from the CLI's "show fd" command to append some
extra mux-specific information that only the mux handler can decode. This is
supposed to help collect various hints about what is happening when facing
certain anomalies.
This commit is contained in:
Willy Tarreau 2018-03-30 14:41:19 +02:00
parent e96e61cadc
commit b011d8f4c4
2 changed files with 5 additions and 1 deletions

View File

@ -306,6 +306,7 @@ struct mux_ops {
struct conn_stream *(*attach)(struct connection *); /* Create and attach a conn_stream to an outgoing connection */
void (*detach)(struct conn_stream *); /* Detach a conn_stream from an outgoing connection, when the request is done */
void (*show_fd)(struct chunk *, struct connection *); /* append some data about connection into chunk for "show fd" */
unsigned int flags; /* some flags characterizing the mux's capabilities (MX_FL_*) */
char name[8]; /* mux layer name, zero-terminated */
};

View File

@ -834,8 +834,11 @@ static int cli_io_handler_show_fd(struct appctx *appctx)
else if (li)
chunk_appendf(&trash, " fe=%s", li->bind_conf->frontend->id);
if (mux)
if (mux) {
chunk_appendf(&trash, " mux=%s mux_ctx=%p", mux->name, ctx);
if (mux->show_fd)
mux->show_fd(&trash, fdt.owner);
}
else
chunk_appendf(&trash, " nomux");
}