stats: disable stats if no loggers are enabled

pull/1234/head
Victor Julien 11 years ago
parent 6252d24e0b
commit 51a540c27e

@ -190,6 +190,12 @@ static void SCPerfInitOPCtx(void)
sc_counter_tts = (uint32_t) atoi(interval); sc_counter_tts = (uint32_t) atoi(interval);
} }
if (!OutputStatsLoggersRegistered()) {
SCLogWarning(SC_WARN_NO_STATS_LOGGERS, "stats are enabled but no loggers are active");
sc_counter_enabled = FALSE;
SCReturn;
}
/* Store the engine start time */ /* Store the engine start time */
time(&sc_start_time); time(&sc_start_time);

@ -222,6 +222,13 @@ void TmModuleStatsLoggerRegister (void)
tmm_modules[TMM_STATSLOGGER].cap_flags = 0; tmm_modules[TMM_STATSLOGGER].cap_flags = 0;
} }
int OutputStatsLoggersRegistered(void)
{
if (list != NULL)
return 1;
return 0;
}
void OutputStatsShutdown(void) void OutputStatsShutdown(void)
{ {
OutputStatsLogger *logger = list; OutputStatsLogger *logger = list;

@ -48,6 +48,8 @@ int OutputRegisterStatsLogger(const char *name, StatsLogger LogFunc, OutputCtx *
void TmModuleStatsLoggerRegister (void); void TmModuleStatsLoggerRegister (void);
int OutputStatsLoggersRegistered(void);
void OutputStatsShutdown(void); void OutputStatsShutdown(void);
#endif /* __OUTPUT_STATS_H__ */ #endif /* __OUTPUT_STATS_H__ */

@ -300,6 +300,7 @@ const char * SCErrorToString(SCError err)
CASE_CODE (SC_ERR_PCIE_INIT_FAILED); CASE_CODE (SC_ERR_PCIE_INIT_FAILED);
CASE_CODE (SC_WARN_LUA_SCRIPT); CASE_CODE (SC_WARN_LUA_SCRIPT);
CASE_CODE (SC_ERR_LUA_SCRIPT); CASE_CODE (SC_ERR_LUA_SCRIPT);
CASE_CODE (SC_WARN_NO_STATS_LOGGERS);
} }
return "UNKNOWN_ERROR"; return "UNKNOWN_ERROR";

@ -289,6 +289,7 @@ typedef enum {
SC_WARN_NFLOG_SETSOCKOPT, SC_WARN_NFLOG_SETSOCKOPT,
SC_WARN_LUA_SCRIPT, SC_WARN_LUA_SCRIPT,
SC_ERR_LUA_SCRIPT, SC_ERR_LUA_SCRIPT,
SC_WARN_NO_STATS_LOGGERS,
} SCError; } SCError;
const char *SCErrorToString(SCError); const char *SCErrorToString(SCError);

Loading…
Cancel
Save