65 memset(op, 0x00,
sizeof(*op));
100 while (logger && store) {
105 logger = logger->
next;
118 static TmEcode OutputStatsLogThreadInit(
ThreadVars *tv,
const void *initdata,
void **data)
123 memset(td, 0x00,
sizeof(*td));
127 SCLogDebug(
"OutputStatsLogThreadInit happy (*data %p)", *data);
136 memset(ts, 0x00,
sizeof(*ts));
141 if (td->
store == NULL) {
145 while (tmp->
next != NULL)
154 logger = logger->
next;
157 SCLogDebug(
"OutputStatsLogThreadInit happy (*data %p)", *data);
167 while (logger && store) {
174 logger = logger->
next;
187 while (logger && store) {
192 logger = logger->
next;
219 logger = next_logger;
struct OutputStatsLogger_ OutputStatsLogger
void(* ThreadExitPrintStatsFunc)(ThreadVars *, void *)
OutputLoggerThreadStore * store
int(* StatsLogger)(ThreadVars *, void *thread_data, const StatsTable *)
int OutputStatsLoggersRegistered(void)
struct OutputLoggerThreadStore_ OutputLoggerThreadStore
TmEcode(* ThreadDeinitFunc)(ThreadVars *, void *)
struct OutputLoggerThreadStore_ * next
TmEcode(* ThreadDeinit)(ThreadVars *, void *)
TmEcode OutputStatsLog(ThreadVars *tv, void *thread_data, StatsTable *st)
ThreadExitPrintStatsFunc ThreadExitPrintStats
ThreadInitFunc ThreadInit
void(* ThreadExitPrintStats)(ThreadVars *, void *)
ThreadDeinitFunc ThreadDeinit
void TmModuleStatsLoggerRegister(void)
int OutputRegisterStatsLogger(const char *name, StatsLogger LogFunc, OutputCtx *output_ctx, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
void OutputStatsShutdown(void)
TmModule tmm_modules[TMM_SIZE]
struct OutputLoggerThreadData_ OutputLoggerThreadData
TmEcode(* ThreadInit)(ThreadVars *, const void *, void **)
Per thread variable structure.
TmEcode(* ThreadInitFunc)(ThreadVars *, const void *, void **)
struct OutputStatsLogger_ * next
#define DEBUG_VALIDATE_BUG_ON(exp)