From: Victor Julien Date: Sat, 23 May 2015 11:24:08 +0000 (+0200) Subject: counters: introduce SCPerfSetupPrivate for thread setup X-Git-Tag: suricata-3.0RC1~390 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=74ab84c194a915bddf36fe1d51f416c1ee830c8b;p=thirdparty%2Fsuricata.git counters: introduce SCPerfSetupPrivate for thread setup --- diff --git a/src/counters.h b/src/counters.h index e930019a05..72e62f5b19 100644 --- a/src/counters.h +++ b/src/counters.h @@ -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 TmEcode SCPerfOutputCounterSocket(json_t *cmd, diff --git a/src/detect.c b/src/detect.c index 6823ed9125..b95d5859cb 100644 --- a/src/detect.c +++ b/src/detect.c @@ -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); diff --git a/src/tm-threads.c b/src/tm-threads.c index 32076874e3..f6c2802c82 100644 --- a/src/tm-threads.c +++ b/src/tm-threads.c @@ -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); diff --git a/src/unix-manager.c b/src/unix-manager.c index 266f78a305..094c2d1f85 100644 --- a/src/unix-manager.c +++ b/src/unix-manager.c @@ -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;