src/plugin.[ch]: Store the hostname in a global variable to minimize calls to `gethos...
authorFlorian Forster <sifnfors@faui06.informatik.uni-erlangen.de>
Mon, 15 Jan 2007 13:00:10 +0000 (14:00 +0100)
committerFlorian Forster <sifnfors@faui06.informatik.uni-erlangen.de>
Mon, 15 Jan 2007 13:00:10 +0000 (14:00 +0100)
src/load.c
src/nfs.c
src/plugin.c
src/plugin.h
src/traffic.c

index 2cc761b..3e60a43 100644 (file)
@@ -69,13 +69,7 @@ static void load_submit (double snum, double mnum, double lnum)
        vl.values = values;
        vl.values_len = 3;
        vl.time = time (NULL);
-       /* FIXME: do this globally */
-       if (gethostname (vl.host, sizeof (vl.host)) != 0)
-       {
-               syslog (LOG_ERR, "load plugin: gethostname failed: %s",
-                               strerror (errno));
-               return;
-       }
+       strcpy (vl.host, hostname);
        strcpy (vl.plugin, "load");
        strcpy (vl.plugin_instance, "");
        strcpy (vl.type_instance, "");
index d6e8516..f585b97 100644 (file)
--- a/src/nfs.c
+++ b/src/nfs.c
@@ -205,13 +205,7 @@ static void nfs_procedures_submit (const char *plugin_instance,
        vl.values = values;
        vl.values_len = 1;
        vl.time = time (NULL);
-       /* FIXME: do this globally */
-       if (gethostname (vl.host, sizeof (vl.host)) != 0)
-       {
-               syslog (LOG_ERR, "load plugin: gethostname failed: %s",
-                               strerror (errno));
-               return;
-       }
+       strcpy (vl.host, hostname);
        strcpy (vl.plugin, "nfs");
        strncpy (vl.plugin_instance, plugin_instance,
                        sizeof (vl.plugin_instance));
index 857643d..b40d62a 100644 (file)
@@ -39,6 +39,8 @@ static llist_t *list_data_set;
 
 static char *plugindir = NULL;
 
+char hostname[DATA_MAX_NAME_LEN] = "localhost";
+
 /*
  * Static functions
  */
@@ -238,6 +240,8 @@ void plugin_init_all (void)
        int (*callback) (void);
        llentry_t *le;
 
+       gethostname (hostname, sizeof (hostname));
+
        if (list_init == NULL)
                return;
 
@@ -298,7 +302,10 @@ int plugin_dispatch_values (const char *name, const value_list_t *vl)
 
        le = llist_search (list_data_set, name);
        if (le == NULL)
+       {
+               DBG ("No such dataset registered: %s", name);
                return (-1);
+       }
 
        ds = (data_set_t *) le->value;
 
index 3b94ff7..107078e 100644 (file)
@@ -77,6 +77,8 @@ typedef struct complain_s
        unsigned int delay;    /* how many more iterations we still need to wait */
 } complain_t;
 
+extern char hostname[DATA_MAX_NAME_LEN];
+
 /*
  * NAME
  *  plugin_set_dir
index 59b59e8..5c5e4f7 100644 (file)
@@ -237,14 +237,7 @@ static void if_submit (const char *dev, const char *type,
        vl.values = values;
        vl.values_len = 2;
        vl.time = time (NULL);
-
-       /* FIXME: do this globally */
-       if (gethostname (vl.host, sizeof (vl.host)) != 0)
-       {
-               syslog (LOG_ERR, "load plugin: gethostname failed: %s",
-                               strerror (errno));
-               return;
-       }
+       strcpy (vl.host, hostname);
        strcpy (vl.plugin, "interface");
        strcpy (vl.plugin_instance, "");
        strncpy (vl.type_instance, dev, sizeof (vl.type_instance));