|
|
|
@ -2283,15 +2283,6 @@ static TmEcode ThreadCtxDoInit (DetectEngineCtx *de_ctx, DetectEngineThreadCtx *
|
|
|
|
|
*/
|
|
|
|
|
TmEcode DetectEngineThreadCtxInit(ThreadVars *tv, void *initdata, void **data)
|
|
|
|
|
{
|
|
|
|
|
/* 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
|
|
|
|
|
DetectEngineThreadCtx *det_ctx = SCMalloc(sizeof(DetectEngineThreadCtx));
|
|
|
|
|
if (unlikely(det_ctx == NULL))
|
|
|
|
|
return TM_ECODE_FAILED;
|
|
|
|
@ -2323,12 +2314,12 @@ TmEcode DetectEngineThreadCtxInit(ThreadVars *tv, void *initdata, void **data)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** alert counter setup */
|
|
|
|
|
det_ctx->counter_alerts = counter_alerts;
|
|
|
|
|
det_ctx->counter_alerts = StatsRegisterCounter("detect.alert", tv);
|
|
|
|
|
#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;
|
|
|
|
|
det_ctx->counter_mpm_list = StatsRegisterAvgCounter("detect.mpm_list", tv);
|
|
|
|
|
det_ctx->counter_nonmpm_list = StatsRegisterAvgCounter("detect.nonmpm_list", tv);
|
|
|
|
|
det_ctx->counter_fnonmpm_list = StatsRegisterAvgCounter("detect.fnonmpm_list", tv);
|
|
|
|
|
det_ctx->counter_match_list = StatsRegisterAvgCounter("detect.match_list", tv);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* pass thread data back to caller */
|
|
|
|
|