]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
unix-socket: add commands to print engine stats
authorGiuseppe Longo <glongo@stamus-networks.com>
Fri, 9 Oct 2015 07:27:08 +0000 (09:27 +0200)
committerVictor Julien <victor@inliniac.net>
Fri, 8 Dec 2017 14:22:57 +0000 (15:22 +0100)
This permits to print engine stats through
unix socket.

src/unix-manager.c

index a232c76ccd0c13db02581016f21cf32fdecc4606..b07417b4d8bc6a6d625a0e5d64303e0c8754d59a 100644 (file)
@@ -29,6 +29,8 @@
 #include "runmodes.h"
 #include "conf.h"
 
+#include "output-json-stats.h"
+
 #include "util-privs.h"
 #include "util-debug.h"
 #include "util-device.h"
@@ -664,8 +666,32 @@ static TmEcode UnixManagerReloadRules(json_t *cmd, json_t *server_msg, void *dat
     SCReturnInt(TM_ECODE_OK);
 }
 
+static TmEcode UnixManagerReloadTimeCommand(json_t *cmd,
+                                            json_t *server_msg, void *data)
+{
+    SCEnter();
+    TmEcode retval;
+    json_t *jdata = NULL;
+
+    retval = OutputEngineStatsReloadTime(&jdata);
+    json_object_set_new(server_msg, "message", jdata);
+    SCReturnInt(retval);
+}
+
+static TmEcode UnixManagerRulesetStatsCommand(json_t *cmd,
+                                              json_t *server_msg, void *data)
+{
+    SCEnter();
+    TmEcode retval;
+    json_t *jdata = NULL;
+
+    retval = OutputEngineStatsRuleset(&jdata);
+    json_object_set_new(server_msg, "message", jdata);
+    SCReturnInt(retval);
+}
+
 static TmEcode UnixManagerConfGetCommand(json_t *cmd,
-                                  json_t *server_msg, void *data)
+                                         json_t *server_msg, void *data)
 {
     SCEnter();
 
@@ -875,6 +901,8 @@ int UnixManagerInit(void)
     UnixManagerRegisterCommand("conf-get", UnixManagerConfGetCommand, &command, UNIX_CMD_TAKE_ARGS);
     UnixManagerRegisterCommand("dump-counters", StatsOutputCounterSocket, NULL, 0);
     UnixManagerRegisterCommand("reload-rules", UnixManagerReloadRules, NULL, 0);
+    UnixManagerRegisterCommand("ruleset-reload-time", UnixManagerReloadTimeCommand, NULL, 0);
+    UnixManagerRegisterCommand("ruleset-stats", UnixManagerRulesetStatsCommand, NULL, 0);
     UnixManagerRegisterCommand("register-tenant-handler", UnixSocketRegisterTenantHandler, &command, UNIX_CMD_TAKE_ARGS);
     UnixManagerRegisterCommand("unregister-tenant-handler", UnixSocketUnregisterTenantHandler, &command, UNIX_CMD_TAKE_ARGS);
     UnixManagerRegisterCommand("register-tenant", UnixSocketRegisterTenant, &command, UNIX_CMD_TAKE_ARGS);