From: Christopher Faulet Date: Mon, 8 Jan 2024 07:07:30 +0000 (+0100) Subject: MINOR: applet: Add traces to debug receive/send and block/wake events X-Git-Tag: v3.0-dev3~66 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=04eca50f49f5549306d80f6b64b73ecb4ca2da1b;p=thirdparty%2Fhaproxy.git MINOR: applet: Add traces to debug receive/send and block/wake events New traces events are added to be able to debug receives and sends. --- diff --git a/src/applet.c b/src/applet.c index 71e21c23d3..6ecba835df 100644 --- a/src/applet.c +++ b/src/applet.c @@ -50,6 +50,14 @@ static const struct trace_event applet_trace_events[] = { { .mask = APPLET_EV_ERR, .name = "app_err", .desc = "error on appctx" }, #define APPLET_EV_START (1ULL << 5) { .mask = APPLET_EV_START, .name = "app_start", .desc = "start appctx" }, +#define APPLET_EV_RECV (1ULL << 6) + { .mask = APPLET_EV_START, .name = "app_receive", .desc = "RX on appctx" }, +#define APPLET_EV_SEND (1ULL << 7) + { .mask = APPLET_EV_START, .name = "app_send", .desc = "TX on appctx" }, +#define APPLET_EV_BLK (1ULL << 8) + { .mask = APPLET_EV_START, .name = "app_blk", .desc = "appctx blocked" }, +#define APPLET_EV_WAKE (1ULL << 9) + { .mask = APPLET_EV_START, .name = "app_wake", .desc = "appctx woken up" }, {} }; @@ -384,12 +392,14 @@ int appctx_buf_available(void *arg) if ((appctx->state & APPLET_INBLK_ALLOC) && b_alloc(&appctx->inbuf)) { appctx->state &= ~APPLET_INBLK_ALLOC; + TRACE_STATE("unblocking appctx, inbuf allocated", APPLET_EV_RECV|APPLET_EV_BLK|APPLET_EV_WAKE, appctx); task_wakeup(appctx->t, TASK_WOKEN_RES); return 1; } if ((appctx->state & APPLET_OUTBLK_ALLOC) && b_alloc(&appctx->outbuf)) { appctx->state &= ~APPLET_OUTBLK_ALLOC; + TRACE_STATE("unblocking appctx, outbuf allocated", APPLET_EV_SEND|APPLET_EV_BLK|APPLET_EV_WAKE, appctx); task_wakeup(appctx->t, TASK_WOKEN_RES); return 1; }