[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r25140 - gnunet/src/sysmon
From: |
gnunet |
Subject: |
[GNUnet-SVN] r25140 - gnunet/src/sysmon |
Date: |
Mon, 26 Nov 2012 14:56:27 +0100 |
Author: wachs
Date: 2012-11-26 14:56:27 +0100 (Mon, 26 Nov 2012)
New Revision: 25140
Modified:
gnunet/src/sysmon/gnunet-daemon-sysmon.c
Log:
- more changes
Modified: gnunet/src/sysmon/gnunet-daemon-sysmon.c
===================================================================
--- gnunet/src/sysmon/gnunet-daemon-sysmon.c 2012-11-26 13:33:24 UTC (rev
25139)
+++ gnunet/src/sysmon/gnunet-daemon-sysmon.c 2012-11-26 13:56:27 UTC (rev
25140)
@@ -27,6 +27,13 @@
#include "gnunet_util_lib.h"
#include "gnunet_statistics_service.h"
+enum operation
+{
+ o_internal,
+ o_command
+};
+
+
enum type
{
t_static,
@@ -39,26 +46,76 @@
v_string
};
+/**
+ * A system property to monitor
+ */
struct SysmonProperty
{
+ /**
+ * Next element in in the DLL
+ */
struct SysmonProperty *next;
+
+ /**
+ * Previous element in in the DLL
+ */
struct SysmonProperty *prev;
- char * desc;
- int type;
- int value_type;
- struct GNUNET_TIME_Relative interval;
+ /**
+ * Description used for statistics valuesd
+ */
+ char * desc;
- char * cmd;
- char * cmd_args;
- void * cmd_exec_handle;
+ /**
+ * Type
+ */
+ int type;
- uint64_t num_val;
- char * str_val;
+ /**
+ * Value type
+ */
+ int value_type;
- GNUNET_SCHEDULER_TaskIdentifier task_id;
- GNUNET_SCHEDULER_Task task;
+ /**
+ * Execution interval
+ */
+ struct GNUNET_TIME_Relative interval;
+ /**
+ * Command
+ */
+ char * cmd;
+
+ /**
+ * Command arguments
+ */
+ char * cmd_args;
+
+ /**
+ * Command execution handle
+ */
+ void * cmd_exec_handle;
+
+ /**
+ * Numerical value
+ */
+ uint64_t num_val;
+
+ /**
+ * String value
+ */
+ char * str_val;
+
+ /**
+ * Task id
+ */
+ GNUNET_SCHEDULER_TaskIdentifier task_id;
+
+ /**
+ * Task handle
+ */
+ GNUNET_SCHEDULER_Task task;
+
};
/**
@@ -80,7 +137,6 @@
/**
* Shutdown task
*/
-
GNUNET_SCHEDULER_TaskIdentifier end_task;
struct SysmonProperty *sp_head;
@@ -175,9 +231,25 @@
return;
}
+ switch (sp->value_type) {
+ case v_numeric:
+ if (1 != sscanf (line, "%lu", &sp->num_val))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Command output was not a
numerical value: `%s'\n", line);
+ return;
+ }
+ break;
+ case v_string:
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "NOT IMPLEMENTED\n");
+ break;
+ default:
+ break;
+ }
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Property output: `%s'\n", line);
+ put_property (sp);
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Property output: `%s'\n", line);
+
}
static void
@@ -192,16 +264,12 @@
sp->cmd_exec_handle = NULL;
GNUNET_break (0);
}
-
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Trying to exec : `%s'\n", sp->cmd);
if (NULL == (sp->cmd_exec_handle = GNUNET_OS_command_run (&exec_cmd_proc, sp,
GNUNET_TIME_UNIT_SECONDS,
sp->cmd, sp->cmd,
sp->cmd_args,
NULL)))
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Property `%s': command `%s'
failed\n", sp->desc, sp->cmd);
- else
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Property `%s': command `%s' DONE\n",
sp->desc, sp->cmd);
}
static void
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r25140 - gnunet/src/sysmon,
gnunet <=