From: Victor Julien Date: Thu, 23 May 2024 18:42:58 +0000 (+0200) Subject: defrag: add defrag.mgr.tracker_timeout counter X-Git-Tag: suricata-8.0.0-beta1~1222 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc05d253d2eb1f7c09a9be11517ae019e0564c79;p=thirdparty%2Fsuricata.git defrag: add defrag.mgr.tracker_timeout counter Updated by flow manager. --- diff --git a/etc/schema.json b/etc/schema.json index 3bb9d4de20..8bcd1b0d79 100644 --- a/etc/schema.json +++ b/etc/schema.json @@ -5227,6 +5227,15 @@ } }, "additionalProperties": false + }, + "mgr": { + "type": "object", + "properties": { + "tracker_timeout": { + "type": "integer" + } + }, + "additionalProperties": false } }, "additionalProperties": false diff --git a/src/flow-manager.c b/src/flow-manager.c index cd124a3c45..5bbc2e88b7 100644 --- a/src/flow-manager.c +++ b/src/flow-manager.c @@ -606,6 +606,7 @@ typedef struct FlowManagerThreadData_ { FlowCounters cnt; FlowManagerTimeoutThread timeout; + uint16_t counter_defrag_timeout; } FlowManagerThreadData; static void FlowCountersInit(ThreadVars *t, FlowCounters *fc) @@ -678,6 +679,7 @@ static TmEcode FlowManagerThreadInit(ThreadVars *t, const void *initdata, void * *data = ftd; FlowCountersInit(t, &ftd->cnt); + ftd->counter_defrag_timeout = StatsRegisterCounter("defrag.mgr.tracker_timeout", t); PacketPoolInit(); return TM_ECODE_OK; @@ -875,7 +877,10 @@ static TmEcode FlowManager(ThreadVars *th_v, void *thread_data) } if (other_last_sec == 0 || other_last_sec < (uint32_t)SCTIME_SECS(ts)) { if (ftd->instance == 0) { - DefragTimeoutHash(ts); + uint32_t defrag_cnt = DefragTimeoutHash(ts); + if (defrag_cnt) { + StatsAddUI64(th_v, ftd->counter_defrag_timeout, defrag_cnt); + } HostTimeoutHash(ts); IPPairTimeoutHash(ts); HttpRangeContainersTimeoutHash(ts);