[libgtop] Add command tracing in glibtop_call_l when debugging.



commit 1156794b3342e0259cad4b4dcdb778ea14b4e1da
Author: Benoit Dejean <bdejean gmail com>
Date:   Sun Jun 21 15:35:26 2015 +0200

    Add command tracing in glibtop_call_l when debugging.

 lib/command.c |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)
---
diff --git a/lib/command.c b/lib/command.c
index 9342fd6..2c26861 100644
--- a/lib/command.c
+++ b/lib/command.c
@@ -20,6 +20,7 @@
 */
 
 #include <config.h>
+#include <glibtop/error.h>
 #include <glibtop/read.h>
 #include <glibtop/write.h>
 #include <glibtop/read_data.h>
@@ -41,6 +42,44 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
         * send it together with command, so we only need one system call instead
         * of two. */
 
+#ifdef LIBGTOP_ENABLE_DEBUG
+       g_assert(command >= GLIBTOP_CMND_QUIT && command < GLIBTOP_MAX_CMND);
+       switch (command) {
+#define DEBUG_CALL(CMD) case (CMD): glibtop_warn_r(server, "CALL: command %s sending %lu bytes", #CMD, 
(unsigned long)send_size); break
+         DEBUG_CALL(GLIBTOP_CMND_QUIT);
+         DEBUG_CALL(GLIBTOP_CMND_SYSDEPS);
+         DEBUG_CALL(GLIBTOP_CMND_CPU);
+         DEBUG_CALL(GLIBTOP_CMND_MEM);
+         DEBUG_CALL(GLIBTOP_CMND_SWAP);
+         DEBUG_CALL(GLIBTOP_CMND_UPTIME);
+         DEBUG_CALL(GLIBTOP_CMND_LOADAVG);
+         DEBUG_CALL(GLIBTOP_CMND_SHM_LIMITS);
+         DEBUG_CALL(GLIBTOP_CMND_MSG_LIMITS);
+         DEBUG_CALL(GLIBTOP_CMND_SEM_LIMITS);
+         DEBUG_CALL(GLIBTOP_CMND_PROCLIST);
+         DEBUG_CALL(GLIBTOP_CMND_PROC_STATE);
+         DEBUG_CALL(GLIBTOP_CMND_PROC_UID);
+         DEBUG_CALL(GLIBTOP_CMND_PROC_MEM);
+         DEBUG_CALL(GLIBTOP_CMND_PROC_TIME);
+         DEBUG_CALL(GLIBTOP_CMND_PROC_SIGNAL);
+         DEBUG_CALL(GLIBTOP_CMND_PROC_KERNEL);
+         DEBUG_CALL(GLIBTOP_CMND_PROC_SEGMENT);
+         DEBUG_CALL(GLIBTOP_CMND_PROC_ARGS);
+         DEBUG_CALL(GLIBTOP_CMND_PROC_MAP);
+         DEBUG_CALL(GLIBTOP_CMND_MOUNTLIST);
+         DEBUG_CALL(GLIBTOP_CMND_FSUSAGE);
+         DEBUG_CALL(GLIBTOP_CMND_NETLOAD);
+         DEBUG_CALL(GLIBTOP_CMND_PPP);
+         DEBUG_CALL(GLIBTOP_CMND_NETLIST);
+         DEBUG_CALL(GLIBTOP_CMND_PROC_OPEN_FILES);
+         DEBUG_CALL(GLIBTOP_CMND_PROC_WD);
+         DEBUG_CALL(GLIBTOP_CMND_PROC_AFFINITY);
+       default:
+         glibtop_error_r(server, "CALL: command UNKNOWN(%d) sending %lu bytes", command, (unsigned 
long)send_size); break;
+       }
+#undef DEBUG_CALL
+#endif
+
        if (send_size <= _GLIBTOP_PARAM_SIZE) {
                memcpy (cmnd.parameter, send_buf, send_size);
                cmnd.size = send_size;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]