]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect: add profiling for non-mpm list build & filter
authorVictor Julien <victor@inliniac.net>
Sat, 8 Nov 2014 12:23:14 +0000 (13:23 +0100)
committerVictor Julien <victor@inliniac.net>
Thu, 15 Jan 2015 10:52:26 +0000 (11:52 +0100)
src/detect.c
src/suricata-common.h
src/util-profiling.c

index aba0a2c641f49400b55da2432c8f86b9158dd8e8..eeb11eaeec79a43bd52d4df264cee919d8f9bd59 100644 (file)
@@ -1333,6 +1333,7 @@ int SigMatchSignatures(ThreadVars *th_v, DetectEngineCtx *de_ctx, DetectEngineTh
     PacketCreateMask(p, &mask, alproto, has_state, smsg, app_decoder_events);
 
     /* prefilter non_mpm list against the mask of the packet */
+    PACKET_PROFILING_DETECT_START(p, PROF_DETECT_NONMPMLIST);
     det_ctx->non_mpm_id_cnt = 0;
     uint32_t x = 0;
     for (x = 0; x < det_ctx->sgh->non_mpm_store_cnt; x++) {
@@ -1343,6 +1344,7 @@ int SigMatchSignatures(ThreadVars *th_v, DetectEngineCtx *de_ctx, DetectEngineTh
             det_ctx->non_mpm_id_array[det_ctx->non_mpm_id_cnt++] = det_ctx->sgh->non_mpm_store_array[x].id;
         }
     }
+    PACKET_PROFILING_DETECT_END(p, PROF_DETECT_NONMPMLIST);
 
     /* run the mpm for each type */
     PACKET_PROFILING_DETECT_START(p, PROF_DETECT_MPM);
index deb0e077cc8346e07581cabc27c52ee206e34964..d7126a874f8217308ffa016bd5a489b1eb1ab27c 100644 (file)
@@ -309,6 +309,7 @@ typedef enum PacketProfileDetectId_ {
     PROF_DETECT_RULES,
     PROF_DETECT_STATEFUL,
     PROF_DETECT_PREFILTER,
+    PROF_DETECT_NONMPMLIST,
     PROF_DETECT_ALERT,
     PROF_DETECT_CLEANUP,
     PROF_DETECT_GETSGH,
index 7a1ce29099315d173d02ea058bfda7fac086de6d..dfe8c7744b965906dc9cf63b5d3f28a2773ac563 100644 (file)
@@ -1035,6 +1035,7 @@ const char * PacketProfileDetectIdToString(PacketProfileDetectId id)
         CASE_CODE (PROF_DETECT_ALERT);
         CASE_CODE (PROF_DETECT_CLEANUP);
         CASE_CODE (PROF_DETECT_GETSGH);
+        CASE_CODE (PROF_DETECT_NONMPMLIST);
         case PROF_DETECT_MPM_PKT_STREAM:
             return "PROF_DETECT_MPM_PKT_STR";
         default: