mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-06 11:28:00 +00:00
MINOR: mux-quic: add trace event for qcs_push_frame
Add a new qmux trace event QMUX_EV_QCS_PUSH_FRM. Its only purpose is to display the meaningful result of a qcs_push_frame invocation. A dedicated struct qcs_push_frm_trace_arg is defined to pass a series of extra args for the trace output.
This commit is contained in:
parent
fa29f33f2c
commit
fdcec3644a
@ -48,9 +48,20 @@ static const struct trace_event qmux_trace_events[] = {
|
||||
{ .mask = QMUX_EV_STRM_END, .name = "strm_end", .desc = "detaching app-layer stream" },
|
||||
#define QMUX_EV_SEND_FRM (1ULL << 13)
|
||||
{ .mask = QMUX_EV_SEND_FRM, .name = "send_frm", .desc = "sending QUIC frame" },
|
||||
/* special event dedicated to qcs_push_frame */
|
||||
#define QMUX_EV_QCS_PUSH_FRM (1ULL << 14)
|
||||
{ .mask = QMUX_EV_QCS_PUSH_FRM, .name = "qcs_push_frm", .desc = "qcs_push_frame" },
|
||||
{ }
|
||||
};
|
||||
|
||||
/* custom arg for QMUX_EV_QCS_PUSH_FRM */
|
||||
struct qcs_push_frm_trace_arg {
|
||||
size_t sent;
|
||||
int xfer;
|
||||
char fin;
|
||||
uint64_t offset;
|
||||
};
|
||||
|
||||
static const struct name_desc qmux_trace_lockon_args[4] = {
|
||||
/* arg1 */ { /* already used by the connection */ },
|
||||
/* arg2 */ { .name="qcs", .desc="QUIC stream" },
|
||||
@ -581,6 +592,14 @@ static int qcs_push_frame(struct qcs *qcs, struct buffer *out,
|
||||
LIST_APPEND(frm_list, &frm->list);
|
||||
|
||||
out:
|
||||
{
|
||||
struct qcs_push_frm_trace_arg arg = {
|
||||
.sent = b_data(out), .xfer = total, .fin = fin,
|
||||
.offset = qcs->tx.sent_offset
|
||||
};
|
||||
TRACE_LEAVE(QMUX_EV_QCS_SEND|QMUX_EV_QCS_PUSH_FRM,
|
||||
qcc->conn, qcs, &arg);
|
||||
}
|
||||
|
||||
return total;
|
||||
|
||||
@ -1187,6 +1206,12 @@ static void qmux_trace(enum trace_level level, uint64_t mask,
|
||||
|
||||
if (mask & QMUX_EV_SEND_FRM)
|
||||
qmux_trace_frm(a3);
|
||||
|
||||
if (mask & QMUX_EV_QCS_PUSH_FRM) {
|
||||
const struct qcs_push_frm_trace_arg *arg = a3;
|
||||
chunk_appendf(&trace_buf, " sent=%lu xfer=%d fin=%d offset=%lu",
|
||||
arg->sent, arg->xfer, arg->fin, arg->offset);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user