]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
counters: consolidate counters after all ThreadInit functions of a thread have run...
authorVictor Julien <victor@inliniac.net>
Thu, 26 Sep 2013 16:34:36 +0000 (18:34 +0200)
committerVictor Julien <victor@inliniac.net>
Thu, 26 Sep 2013 16:34:36 +0000 (18:34 +0200)
src/decode.c
src/detect-engine.c
src/detect.c
src/source-mpipe.c
src/stream-tcp.c
src/tm-threads.c

index b0471e3d9fa9353e2aaa43886856e4bcc1cdbda8..1185c94e702b1508c091917aec6987aa478f2244 100644 (file)
@@ -394,9 +394,6 @@ void DecodeRegisterPerfCounters(DecodeThreadVars *dtv, ThreadVars *tv)
         SCPerfTVRegisterCounter("defrag.max_frag_hits", tv,
             SC_PERF_TYPE_UINT64, "NULL");
 
-    tv->sc_perf_pca = SCPerfGetAllCountersArray(&tv->sc_perf_pctx);
-    SCPerfAddToClubbedTMTable(tv->name, &tv->sc_perf_pctx);
-
     return;
 }
 
index 70340d82e5664171fc115367960c1467cdbeb641..313e0dbe91b6b39b25971f5e00f178723150b10e 100644 (file)
@@ -1225,9 +1225,6 @@ TmEcode DetectEngineThreadCtxInit(ThreadVars *tv, void *initdata, void **data)
     /** alert counter setup */
     det_ctx->counter_alerts = SCPerfTVRegisterCounter("detect.alert", tv,
                                                       SC_PERF_TYPE_UINT64, "NULL");
-    tv->sc_perf_pca = SCPerfGetAllCountersArray(&tv->sc_perf_pctx);
-    SCPerfAddToClubbedTMTable((tv->thread_group_name != NULL) ? tv->thread_group_name : tv->name,
-                              &tv->sc_perf_pctx);
 
     /* pass thread data back to caller */
     *data = (void *)det_ctx;
index 143e5eae9eb7f9470bc5f5d11d491089863bc594..b344e42128033f96e8b01507b10c5ccb577e01c0 100644 (file)
@@ -10482,6 +10482,10 @@ static int SigTestDetectAlertCounter(void)
     tv.name = "detect_test";
     DetectEngineThreadCtxInit(&tv, de_ctx, (void *)&det_ctx);
 
+    /* init counters */
+    tv.sc_perf_pca = SCPerfGetAllCountersArray(&tv.sc_perf_pctx);
+    SCPerfAddToClubbedTMTable((tv.thread_group_name != NULL) ?
+            tv.thread_group_name : tv.name, &tv.sc_perf_pctx);
 
     p = UTHBuildPacket((uint8_t *)"boo", strlen("boo"), IPPROTO_TCP);
     Detect(&tv, p, det_ctx, NULL, NULL);
index e343b2edf407702e0e161c2c4a3c28ccac923b11..14af9bfdbfb33ddc28199150a11e952e8c7125d0 100644 (file)
@@ -428,8 +428,6 @@ static void MpipeRegisterPerfCounters(MpipeThreadVars *ptv, ThreadVars *tv)
     ptv->counter_no_buffers_7 = SCPerfTVRegisterCounter("mpipe.no_buf7", tv,
                                                         SC_PERF_TYPE_UINT64,
                                                         "NULL");
-    tv->sc_perf_pca = SCPerfGetAllCountersArray(&tv->sc_perf_pctx);
-    SCPerfAddToClubbedTMTable(tv->name, &tv->sc_perf_pctx);
 }
 
 static const gxio_mpipe_buffer_size_enum_t gxio_buffer_sizes[] = {
index c3551b2adf742e59a3f8cf2f4e7dcdbcbf95cb4f..12d23f2830bd6069b19596e61ef7cf2b77acde97 100644 (file)
@@ -4526,9 +4526,6 @@ TmEcode StreamTcpThreadInit(ThreadVars *tv, void *initdata, void **data)
                                                         SC_PERF_TYPE_UINT64,
                                                         "NULL");
 
-    tv->sc_perf_pca = SCPerfGetAllCountersArray(&tv->sc_perf_pctx);
-    SCPerfAddToClubbedTMTable(tv->name, &tv->sc_perf_pctx);
-
     SCLogDebug("StreamTcp thread specific ctx online at %p, reassembly ctx %p",
                 stt, stt->ra_ctx);
 
index cc783e056df608f579c1fecde8a69dfcf161c1bb..0bc8fe4f5202473da05ae0596ed04ee3d5948a59 100644 (file)
@@ -157,6 +157,10 @@ void *TmThreadsSlot1NoIn(void *td)
     memset(&s->slot_pre_pq, 0, sizeof(PacketQueue));
     memset(&s->slot_post_pq, 0, sizeof(PacketQueue));
 
+    tv->sc_perf_pca = SCPerfGetAllCountersArray(&tv->sc_perf_pctx);
+    SCPerfAddToClubbedTMTable((tv->thread_group_name != NULL) ?
+            tv->thread_group_name : tv->name, &tv->sc_perf_pctx);
+
     TmThreadsSetFlag(tv, THV_INIT_DONE);
 
     while (run) {
@@ -263,6 +267,10 @@ void *TmThreadsSlot1NoOut(void *td)
     memset(&s->slot_pre_pq, 0, sizeof(PacketQueue));
     memset(&s->slot_post_pq, 0, sizeof(PacketQueue));
 
+    tv->sc_perf_pca = SCPerfGetAllCountersArray(&tv->sc_perf_pctx);
+    SCPerfAddToClubbedTMTable((tv->thread_group_name != NULL) ?
+            tv->thread_group_name : tv->name, &tv->sc_perf_pctx);
+
     TmThreadsSetFlag(tv, THV_INIT_DONE);
 
     while (run) {
@@ -352,6 +360,10 @@ void *TmThreadsSlot1NoInOut(void *td)
     memset(&s->slot_pre_pq, 0, sizeof(PacketQueue));
     memset(&s->slot_post_pq, 0, sizeof(PacketQueue));
 
+    tv->sc_perf_pca = SCPerfGetAllCountersArray(&tv->sc_perf_pctx);
+    SCPerfAddToClubbedTMTable((tv->thread_group_name != NULL) ?
+            tv->thread_group_name : tv->name, &tv->sc_perf_pctx);
+
     TmThreadsSetFlag(tv, THV_INIT_DONE);
 
     while (run) {
@@ -438,7 +450,12 @@ void *TmThreadsSlot1(void *td)
     memset(&s->slot_post_pq, 0, sizeof(PacketQueue));
     SCMutexInit(&s->slot_post_pq.mutex_q, NULL);
 
+    tv->sc_perf_pca = SCPerfGetAllCountersArray(&tv->sc_perf_pctx);
+    SCPerfAddToClubbedTMTable((tv->thread_group_name != NULL) ?
+            tv->thread_group_name : tv->name, &tv->sc_perf_pctx);
+
     TmThreadsSetFlag(tv, THV_INIT_DONE);
+
     while (run) {
         if (TmThreadsCheckFlag(tv, THV_PAUSE)) {
             TmThreadsSetFlag(tv, THV_PAUSED);
@@ -670,6 +687,10 @@ void *TmThreadsSlotPktAcqLoop(void *td) {
         SCMutexInit(&slot->slot_post_pq.mutex_q, NULL);
     }
 
+    tv->sc_perf_pca = SCPerfGetAllCountersArray(&tv->sc_perf_pctx);
+    SCPerfAddToClubbedTMTable((tv->thread_group_name != NULL) ?
+            tv->thread_group_name : tv->name, &tv->sc_perf_pctx);
+
     TmThreadsSetFlag(tv, THV_INIT_DONE);
 
     while(run) {
@@ -770,6 +791,10 @@ void *TmThreadsSlotVar(void *td)
         SCMutexInit(&s->slot_post_pq.mutex_q, NULL);
     }
 
+    tv->sc_perf_pca = SCPerfGetAllCountersArray(&tv->sc_perf_pctx);
+    SCPerfAddToClubbedTMTable((tv->thread_group_name != NULL) ?
+            tv->thread_group_name : tv->name, &tv->sc_perf_pctx);
+
     TmThreadsSetFlag(tv, THV_INIT_DONE);
 
     s = (TmSlot *)tv->tm_slots;