From: Willy Tarreau Date: Thu, 14 Nov 2024 14:38:25 +0000 (+0100) Subject: MINOR: mux-quic/h3: count glitches when they're reported X-Git-Tag: v3.1-dev13~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4fd6d15344340b7a7f6e018841b90b5bdc85a1f1;p=thirdparty%2Fhaproxy.git MINOR: mux-quic/h3: count glitches when they're reported The qcc_report_glitch() function is now replaced with a macro to support enumerating counters for each individual glitch line. For now this adds 36 such counters. The macro supports an optional description, though that is not being used for now. As a reminder, this requires to build with -DDEBUG_GLITCHES=1. --- diff --git a/include/haproxy/mux_quic.h b/include/haproxy/mux_quic.h index cc5eb1e96a..6e497c700a 100644 --- a/include/haproxy/mux_quic.h +++ b/include/haproxy/mux_quic.h @@ -12,8 +12,13 @@ #include #include +#define qcc_report_glitch(qcc, inc, ...) ({ \ + COUNT_GLITCH(__VA_ARGS__); \ + _qcc_report_glitch(qcc, inc); \ + }) + void qcc_set_error(struct qcc *qcc, int err, int app); -int qcc_report_glitch(struct qcc *qcc, int inc); +int _qcc_report_glitch(struct qcc *qcc, int inc); struct qcs *qcc_init_stream_local(struct qcc *qcc, int bidi); void qcs_send_metadata(struct qcs *qcs); struct stconn *qcs_attach_sc(struct qcs *qcs, struct buffer *buf, char fin); diff --git a/src/mux_quic.c b/src/mux_quic.c index 84f92c55b8..d704403d30 100644 --- a/src/mux_quic.c +++ b/src/mux_quic.c @@ -718,7 +718,7 @@ void qcc_set_error(struct qcc *qcc, int err, int app) /* Increment glitch counter for connection by steps. If configured * threshold reached, close the connection with an error code. */ -int qcc_report_glitch(struct qcc *qcc, int inc) +int _qcc_report_glitch(struct qcc *qcc, int inc) { const int max = global.tune.quic_frontend_glitches_threshold;