From 4fd6d15344340b7a7f6e018841b90b5bdc85a1f1 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 14 Nov 2024 15:38:25 +0100 Subject: [PATCH] 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. --- include/haproxy/mux_quic.h | 7 ++++++- src/mux_quic.c | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/include/haproxy/mux_quic.h b/include/haproxy/mux_quic.h index cc5eb1e96a51..6e497c700a84 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 84f92c55b86c..d704403d303f 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;