From: Victor Julien Date: Thu, 12 Feb 2015 13:14:35 +0000 (+0100) Subject: multi-detect: register counters on 'master' det_ctx X-Git-Tag: suricata-3.0RC1~214 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1127ad66b46a8322438a99b602974faaf60ff770;p=thirdparty%2Fsuricata.git multi-detect: register counters on 'master' det_ctx Otherwise counters are only registered after the stats api is already fixed. --- diff --git a/src/detect-engine.c b/src/detect-engine.c index 4ed25c094a..3c6256de0a 100644 --- a/src/detect-engine.c +++ b/src/detect-engine.c @@ -2055,6 +2055,23 @@ static DetectEngineThreadCtx *DetectEngineThreadCtxInitForMT(ThreadVars *tv) goto error; } + /* first register the counter. In delayed detect mode we exit right after if the + * rules haven't been loaded yet. */ + uint16_t counter_alerts = StatsRegisterCounter("detect.alert", tv); +#ifdef PROFILING + uint16_t counter_mpm_list = StatsRegisterAvgCounter("detect.mpm_list", tv); + uint16_t counter_nonmpm_list = StatsRegisterAvgCounter("detect.nonmpm_list", tv); + uint16_t counter_fnonmpm_list = StatsRegisterAvgCounter("detect.fnonmpm_list", tv); + uint16_t counter_match_list = StatsRegisterAvgCounter("detect.match_list", tv); +#endif + /** alert counter setup */ + det_ctx->counter_alerts = counter_alerts; +#ifdef PROFILING + det_ctx->counter_mpm_list = counter_mpm_list; + det_ctx->counter_nonmpm_list = counter_nonmpm_list; + det_ctx->counter_fnonmpm_list = counter_fnonmpm_list; + det_ctx->counter_match_list = counter_match_list; +#endif det_ctx->mt_det_ctxs = tenant_det_ctxs; det_ctx->mt_det_ctxs_cnt = max_tenant_id;