* loggers. Initialized at first use. */
static StatsTable stats_table = { NULL, NULL, 0, 0, 0, {0 , 0}};
static SCMutex stats_table_mutex = SCMUTEX_INITIALIZER;
+static int stats_loggers_active = 1;
static uint16_t counters_global_id = 0;
}
if (!OutputStatsLoggersRegistered()) {
- SCLogWarning(SC_WARN_NO_STATS_LOGGERS, "stats are enabled but no loggers are active");
- stats_enabled = FALSE;
- SCReturn;
+ stats_loggers_active = 0;
+
+ /* if the unix command socket is enabled we do the background
+ * stats sync just in case someone runs 'dump-counters' */
+ int unix_socket = 0;
+ if (ConfGetBool("unix-command.enabled", &unix_socket) != 1)
+ unix_socket = 0;
+ if (unix_socket == 0) {
+ SCLogWarning(SC_WARN_NO_STATS_LOGGERS, "stats are enabled but no loggers are active");
+ stats_enabled = FALSE;
+ SCReturn;
+ }
}
/* Store the engine start time */
}
/* invoke logger(s) */
- OutputStatsLog(tv, td, &stats_table);
+ if (stats_loggers_active) {
+ OutputStatsLog(tv, td, &stats_table);
+ }
return 1;
}