]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
counters: introduce SCPerfSetupPrivate for thread setup
authorVictor Julien <victor@inliniac.net>
Sat, 23 May 2015 11:24:08 +0000 (13:24 +0200)
committerVictor Julien <victor@inliniac.net>
Tue, 26 May 2015 15:56:56 +0000 (17:56 +0200)
src/counters.h
src/detect.c
src/tm-threads.c
src/unix-manager.c

index e930019a05814ff0491271684ba364c94ae574d1..72e62f5b197d205bda005468a47277eadda890ba 100644 (file)
@@ -191,6 +191,16 @@ void SCPerfCounterAddUI64(struct ThreadVars_ *, uint16_t, uint64_t);
         }                                                                       \
     } while (0)
 
+#define SCPerfSetupPrivate(tv)                                                  \
+    do {                                                                        \
+        SCPerfGetAllCountersArray(&(tv)->perf_public_ctx,                       \
+                                  &(tv)->perf_private_ctx);                     \
+                                                                                \
+        SCPerfAddToClubbedTMTable(((tv)->thread_group_name != NULL) ?           \
+                                   (tv)->thread_group_name : (tv)->name,        \
+                                  &(tv)->perf_public_ctx);                      \
+    } while (0)
+
 #ifdef BUILD_UNIX_SOCKET
 #include <jansson.h>
 TmEcode SCPerfOutputCounterSocket(json_t *cmd,
index 6823ed91253844ff494047f579331682641fcbc6..b95d5859cb9c274f8277e703df87321a37166b29 100644 (file)
@@ -11263,9 +11263,7 @@ static int SigTestDetectAlertCounter(void)
     DetectEngineThreadCtxInit(&tv, de_ctx, (void *)&det_ctx);
 
     /* init counters */
-    SCPerfGetAllCountersArray(&tv.perf_public_ctx, &tv.perf_private_ctx);
-    SCPerfAddToClubbedTMTable((tv.thread_group_name != NULL) ?
-            tv.thread_group_name : tv.name, &tv.perf_public_ctx);
+    SCPerfSetupPrivate(&tv);
 
     p = UTHBuildPacket((uint8_t *)"boo", strlen("boo"), IPPROTO_TCP);
     Detect(&tv, p, det_ctx, NULL, NULL);
index 32076874e3122d35c0c3c910b92e42ea7c372b6c..f6c2802c821be46f4762a39fb167ecc089be21f6 100644 (file)
@@ -322,9 +322,7 @@ void *TmThreadsSlotPktAcqLoop(void *td)
         }
     }
 
-    SCPerfGetAllCountersArray(&tv->perf_public_ctx, &tv->perf_private_ctx);
-    SCPerfAddToClubbedTMTable((tv->thread_group_name != NULL) ?
-            tv->thread_group_name : tv->name, &tv->perf_public_ctx);
+    SCPerfSetupPrivate(tv);
 
     TmThreadsSetFlag(tv, THV_INIT_DONE);
 
@@ -455,9 +453,7 @@ void *TmThreadsSlotVar(void *td)
         }
     }
 
-    SCPerfGetAllCountersArray(&tv->perf_public_ctx, &tv->perf_private_ctx);
-    SCPerfAddToClubbedTMTable((tv->thread_group_name != NULL) ?
-            tv->thread_group_name : tv->name, &tv->perf_public_ctx);
+    SCPerfSetupPrivate(tv);
 
     TmThreadsSetFlag(tv, THV_INIT_DONE);
 
@@ -597,9 +593,7 @@ static void *TmThreadsManagement(void *td)
     memset(&s->slot_pre_pq, 0, sizeof(PacketQueue));
     memset(&s->slot_post_pq, 0, sizeof(PacketQueue));
 
-    SCPerfGetAllCountersArray(&tv->perf_public_ctx, &tv->perf_private_ctx);
-    SCPerfAddToClubbedTMTable((tv->thread_group_name != NULL) ?
-            tv->thread_group_name : tv->name, &tv->perf_public_ctx);
+    SCPerfSetupPrivate(tv);
 
     TmThreadsSetFlag(tv, THV_INIT_DONE);
 
index 266f78a305f3a92b9617040e0194447b164d3aa6..094c2d1f8565e4d72d0f992a1ad3eb24735f7c3f 100644 (file)
@@ -868,8 +868,7 @@ static TmEcode UnixManager(ThreadVars *th_v, void *thread_data)
     /* set the thread name */
     SCLogDebug("%s started...", th_v->name);
 
-    SCPerfGetAllCountersArray(&th_v->perf_public_ctx, &th_v->perf_private_ctx);
-    SCPerfAddToClubbedTMTable(th_v->name, &th_v->perf_public_ctx);
+    SCPerfSetupPrivate(th_v);
 
     if (UnixNew(&command) == 0) {
         int failure_fatal = 0;