counters: remove ThreadVars from sync API

pull/14398/head
Victor Julien 8 months ago
parent 3f4af00fdd
commit c27d0b4192

@ -396,7 +396,7 @@ TmEcode ReceivePfringLoop(ThreadVars *tv, void *data, void *slot)
TmqhOutputPacketpool(ptv->tv, p);
SCReturnInt(TM_ECODE_FAILED);
}
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
}
return TM_ECODE_OK;

@ -475,15 +475,15 @@ static void *StatsMgmtThread(void *arg)
return NULL;
}
void StatsSyncCounters(ThreadVars *tv)
void StatsSyncCounters(StatsThreadContext *stats)
{
StatsUpdateCounterArray(&tv->stats.priv, &tv->stats.pub);
StatsUpdateCounterArray(&stats->priv, &stats->pub);
}
void StatsSyncCountersIfSignalled(ThreadVars *tv)
void StatsSyncCountersIfSignalled(StatsThreadContext *stats)
{
if (SC_ATOMIC_GET(tv->stats.pub.sync_now)) {
StatsUpdateCounterArray(&tv->stats.priv, &tv->stats.pub);
if (SC_ATOMIC_GET(stats->pub.sync_now)) {
StatsUpdateCounterArray(&stats->priv, &stats->pub);
}
}

@ -153,8 +153,8 @@ void StatsThreadInit(StatsThreadContext *);
int StatsSetupPrivate(StatsThreadContext *, const char *);
void StatsThreadCleanup(StatsThreadContext *);
void StatsSyncCounters(struct ThreadVars_ *tv);
void StatsSyncCountersIfSignalled(struct ThreadVars_ *tv);
void StatsSyncCounters(StatsThreadContext *);
void StatsSyncCountersIfSignalled(StatsThreadContext *);
#ifdef BUILD_UNIX_SOCKET
TmEcode StatsOutputCounterSocket(json_t *cmd,

@ -114,15 +114,15 @@ static TmEcode BypassedFlowManager(ThreadVars *th_v, void *thread_data)
}
if (TmThreadsCheckFlag(th_v, THV_KILL)) {
StatsSyncCounters(th_v);
StatsSyncCounters(&th_v->stats);
return TM_ECODE_OK;
}
for (i = 0; i < FLOW_BYPASS_DELAY * 100; i++) {
if (TmThreadsCheckFlag(th_v, THV_KILL)) {
StatsSyncCounters(th_v);
StatsSyncCounters(&th_v->stats);
return TM_ECODE_OK;
}
StatsSyncCountersIfSignalled(th_v);
StatsSyncCountersIfSignalled(&th_v->stats);
SleepMsec(10);
}
}

@ -961,7 +961,7 @@ static TmEcode FlowManager(ThreadVars *th_v, void *thread_data)
}
if (TmThreadsCheckFlag(th_v, THV_KILL)) {
StatsSyncCounters(th_v);
StatsSyncCounters(&th_v->stats);
break;
}
@ -992,7 +992,7 @@ static TmEcode FlowManager(ThreadVars *th_v, void *thread_data)
SCLogDebug("woke up... %s", SC_ATOMIC_GET(flow_flags) & FLOW_EMERGENCY ? "emergency":"");
StatsSyncCountersIfSignalled(th_v);
StatsSyncCountersIfSignalled(&th_v->stats);
}
return TM_ECODE_OK;
}
@ -1172,9 +1172,9 @@ static TmEcode FlowRecycler(ThreadVars *th_v, void *thread_data)
SCLogDebug("woke up...");
StatsSyncCountersIfSignalled(th_v);
StatsSyncCountersIfSignalled(&th_v->stats);
}
StatsSyncCounters(th_v);
StatsSyncCounters(&th_v->stats);
SCLogPerf("%"PRIu64" flows processed", recycled_cnt);
return TM_ECODE_OK;
}

@ -1457,11 +1457,11 @@ TmEcode ReceiveAFPLoop(ThreadVars *tv, void *data, void *slot)
AFPSwitchState(ptv, AFP_STATE_DOWN);
continue;
}
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
}
AFPDumpCounters(ptv);
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
SCReturnInt(TM_ECODE_OK);
}

@ -562,7 +562,7 @@ static inline int DumpStatsEverySecond(AFXDPThreadVars *ptv, time_t *last_dump)
stats_dumped = 1;
}
StatsSyncCountersIfSignalled(ptv->tv);
StatsSyncCountersIfSignalled(&ptv->tv->stats);
return stats_dumped;
}

@ -557,7 +557,7 @@ static TmEcode ReceiveDPDKLoop(ThreadVars *tv, void *data, void *slot)
}
PeriodicDPDKDumpCounters(ptv);
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
}
SCReturnInt(TM_ECODE_OK);

@ -362,7 +362,7 @@ ReceiveErfDagLoop(ThreadVars *tv, void *data, void *slot)
SCReturnInt(TM_ECODE_FAILED);
}
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
SCLogDebug("Read %d records from stream: %d, DAG: %s",
pkts_read, dtv->dagstream, dtv->dagname);

@ -309,7 +309,7 @@ TmEcode ReceiveIPFWLoop(ThreadVars *tv, void *data, void *slot)
SCReturnInt(TM_ECODE_FAILED);
}
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
}
SCReturnInt(TM_ECODE_OK);

@ -825,7 +825,7 @@ static TmEcode ReceiveNetmapLoop(ThreadVars *tv, void *data, void *slot)
/* no events, timeout */
/* sync counters */
NetmapDumpCounters(ntv);
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
/* poll timed out, lets handle the timeout */
TmThreadsCaptureHandleTimeout(tv, NULL);
@ -848,11 +848,11 @@ static TmEcode ReceiveNetmapLoop(ThreadVars *tv, void *data, void *slot)
}
NetmapDumpCounters(ntv);
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
}
NetmapDumpCounters(ntv);
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
SCReturnInt(TM_ECODE_OK);
}

@ -470,7 +470,7 @@ TmEcode ReceiveNFLOGLoop(ThreadVars *tv, void *data, void *slot)
if (ret != 0)
SCLogWarning("nflog_handle_packet error %" PRId32 "", ret);
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
}
SCReturnInt(TM_ECODE_OK);

@ -1037,7 +1037,7 @@ TmEcode ReceiveNFQLoop(ThreadVars *tv, void *data, void *slot)
}
NFQRecvPkt(nq, ntv);
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
}
SCReturnInt(TM_ECODE_OK);
}

@ -531,7 +531,7 @@ TmEcode PcapDirectoryDispatch(PcapFileDirectoryVars *ptv)
}
}
StatsSyncCountersIfSignalled(ptv->shared->tv);
StatsSyncCountersIfSignalled(&ptv->shared->tv->stats);
if (status == TM_ECODE_FAILED) {
SCLogError("Directory %s run mode failed", ptv->filename);

@ -168,7 +168,7 @@ TmEcode PcapFileDispatch(PcapFileFileVars *ptv)
SCLogError("Pcap callback PcapFileCallbackLoop failed for %s", ptv->filename);
loop_result = TM_ECODE_FAILED;
}
StatsSyncCountersIfSignalled(ptv->shared->tv);
StatsSyncCountersIfSignalled(&ptv->shared->tv->stats);
}
SCReturnInt(loop_result);

@ -437,11 +437,11 @@ static TmEcode ReceivePcapLoop(ThreadVars *tv, void *data, void *slot)
SCReturnInt(TM_ECODE_FAILED);
}
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
}
PcapDumpCounters(ptv);
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
SCReturnInt(TM_ECODE_OK);
}

@ -420,7 +420,7 @@ TmEcode ReceiveWinDivertLoop(ThreadVars *tv, void *data, void *slot)
SCReturnInt(TM_ECODE_FAILED);
}
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
}
SCReturnInt(TM_ECODE_OK);

@ -199,7 +199,7 @@ int TmThreadTimeoutLoop(ThreadVars *tv, TmSlot *s)
}
}
SCLogDebug("flow end loop complete");
StatsSyncCounters(tv);
StatsSyncCounters(&tv->stats);
return r;
}
@ -275,7 +275,7 @@ bool SCTmThreadsSlotPacketLoopFinish(ThreadVars *tv)
TmSlot *s = tv->tm_slots;
bool rc = true;
StatsSyncCounters(tv);
StatsSyncCounters(&tv->stats);
TmThreadsSetFlag(tv, THV_FLOW_LOOP);
@ -524,7 +524,7 @@ static void *TmThreadsSlotVar(void *td)
if (!SCTmThreadsSlotPacketLoopFinish(tv)) {
goto error;
}
StatsSyncCounters(tv);
StatsSyncCounters(&tv->stats);
pthread_exit(NULL);
return NULL;
@ -575,7 +575,7 @@ static void *TmThreadsManagement(void *td)
}
if (TmThreadsCheckFlag(tv, THV_KILL)) {
StatsSyncCounters(tv);
StatsSyncCounters(&tv->stats);
}
TmThreadsSetFlag(tv, THV_RUNNING_DONE);

@ -99,7 +99,7 @@ Packet *TmqhInputFlow(ThreadVars *tv)
{
PacketQueue *q = tv->inq->pq;
StatsSyncCountersIfSignalled(tv);
StatsSyncCountersIfSignalled(&tv->stats);
SCMutexLock(&q->mutex_q);
if (q->len == 0) {

@ -48,7 +48,7 @@ Packet *TmqhInputSimple(ThreadVars *t)
{
PacketQueue *q = t->inq->pq;
StatsSyncCountersIfSignalled(t);
StatsSyncCountersIfSignalled(&t->stats);
SCMutexLock(&q->mutex_q);

@ -1178,7 +1178,7 @@ static TmEcode UnixManager(ThreadVars *th_v, void *thread_data)
close(item->fd);
SCFree(item);
}
StatsSyncCounters(th_v);
StatsSyncCounters(&th_v->stats);
break;
}

Loading…
Cancel
Save