From: Aurelien DARRAGON Date: Mon, 22 Jul 2024 13:24:26 +0000 (+0200) Subject: MINOR: sink: add processed events counter in sft X-Git-Tag: v3.1-dev4~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=709b3db941d4e4dd4613618d893f6bcb46ddac02;p=thirdparty%2Fhaproxy.git MINOR: sink: add processed events counter in sft Add a new struct member to sft structure named e_processed in order to track the total number of events processed by sft applets. sink_forward_oc_io_handler() and sink_forward_io_handler() now make use of ring_dispatch_messages() optional value added in the previous commit in order to increase the number of processed events. --- diff --git a/include/haproxy/sink-t.h b/include/haproxy/sink-t.h index d5e1cec57d..990aa72d66 100644 --- a/include/haproxy/sink-t.h +++ b/include/haproxy/sink-t.h @@ -40,6 +40,7 @@ struct sink_forward_target { struct server *srv; // used server struct appctx *appctx; // appctx of current session size_t ofs; // ring buffer reader offset + size_t e_processed; // processed events struct sink *sink; // the associated sink struct sink_forward_target *next; __decl_thread(HA_SPINLOCK_T lock); // lock to protect current struct diff --git a/src/sink.c b/src/sink.c index 29b68a0189..16597b2111 100644 --- a/src/sink.c +++ b/src/sink.c @@ -353,6 +353,7 @@ static void _sink_forward_io_handler(struct appctx *appctx, struct sink *sink = sft->sink; struct ring *ring = sink->ctx.ring; size_t ofs, last_ofs; + size_t processed; int ret = 0; if (unlikely(se_fl_test(appctx->sedesc, (SE_FL_EOS|SE_FL_ERROR)))) { @@ -383,7 +384,8 @@ static void _sink_forward_io_handler(struct appctx *appctx, MT_LIST_DELETE(&appctx->wait_entry); ret = ring_dispatch_messages(ring, appctx, &sft->ofs, &last_ofs, 0, - msg_handler, NULL); + msg_handler, &processed); + sft->e_processed += processed; if (ret) { /* let's be woken up once new data arrive */