BUG/MINOR: trace/quic: make "qconn" selectable as a lockon criterion

The test was was performed but there's no way to set the option! Let's
just add "qconn" to select the quic conn when the source supports it.

This can be backported at least to 3.0, probably 2.6.
This commit is contained in:
Willy Tarreau 2024-08-06 15:21:00 +02:00
parent 0406efe9ad
commit 7a22fbd453

View File

@ -649,7 +649,11 @@ static int trace_parse_statement(char **args, char **msg)
if (src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_STRM)) if (src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_STRM))
chunk_appendf(&trash, " %c server : lock on the server that started the trace\n", chunk_appendf(&trash, " %c server : lock on the server that started the trace\n",
src->lockon == TRACE_LOCKON_SERVER ? '*' : ' '); src->lockon == TRACE_LOCKON_SERVER ? '*' : ' ');
#ifdef USE_QUIC
if (src->arg_def & TRC_ARGS_QCON)
chunk_appendf(&trash, " %c qconn : lock on the QUIC connection that started the trace\n",
src->lockon == TRACE_LOCKON_QCON ? '*' : ' ');
#endif
if (src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_QCON|TRC_ARGS_SESS|TRC_ARGS_STRM)) if (src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_QCON|TRC_ARGS_SESS|TRC_ARGS_STRM))
chunk_appendf(&trash, " %c session : lock on the session that started the trace\n", chunk_appendf(&trash, " %c session : lock on the session that started the trace\n",
src->lockon == TRACE_LOCKON_SESSION ? '*' : ' '); src->lockon == TRACE_LOCKON_SESSION ? '*' : ' ');
@ -721,6 +725,10 @@ static int trace_parse_statement(char **args, char **msg)
HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_SESSION); HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_SESSION);
HA_ATOMIC_STORE(&src->lockon_ptr, NULL); HA_ATOMIC_STORE(&src->lockon_ptr, NULL);
} }
else if ((src->arg_def & TRC_ARGS_QCON) && strcmp(name, "qconn") == 0) {
HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_QCON);
HA_ATOMIC_STORE(&src->lockon_ptr, NULL);
}
else if ((src->arg_def & TRC_ARGS_STRM) && strcmp(name, "stream") == 0) { else if ((src->arg_def & TRC_ARGS_STRM) && strcmp(name, "stream") == 0) {
HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_STREAM); HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_STREAM);
HA_ATOMIC_STORE(&src->lockon_ptr, NULL); HA_ATOMIC_STORE(&src->lockon_ptr, NULL);