X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fload.c;h=7be594d15f26bd8b9a7de2c08f9b93b12716eff1;hb=56d9e605484d5360f483079af8160d42e148ae39;hp=491a985e432c1752a504f9f953808741c93ad76a;hpb=6360474f4aa35dd1a587b6148ff88a23e6155132;p=collectd.git diff --git a/src/load.c b/src/load.c index 491a985e..7be594d1 100644 --- a/src/load.c +++ b/src/load.c @@ -23,8 +23,6 @@ #include "common.h" #include "plugin.h" -#define MODULE_NAME "load" - #if defined(HAVE_GETLOADAVG) || defined(KERNEL_LINUX) || defined(HAVE_LIBSTATGRAB) # define LOAD_HAVE_READ 1 #else @@ -56,7 +54,7 @@ static data_set_t ds = }; #if LOAD_HAVE_READ -static void load_submit (double snum, double mnum, double lnum) +static void load_submit (gauge_t snum, gauge_t mnum, gauge_t lnum) { value_t values[3]; value_list_t vl = VALUE_LIST_INIT; @@ -66,12 +64,10 @@ static void load_submit (double snum, double mnum, double lnum) values[2].gauge = lnum; vl.values = values; - vl.values_len = 3; + vl.values_len = STATIC_ARRAY_SIZE (values); vl.time = time (NULL); - strcpy (vl.host, hostname); + strcpy (vl.host, hostname_g); strcpy (vl.plugin, "load"); - strcpy (vl.plugin_instance, ""); - strcpy (vl.type_instance, ""); plugin_dispatch_values ("load", &vl); } @@ -84,11 +80,15 @@ static int load_read (void) if (getloadavg (load, 3) == 3) load_submit (load[LOADAVG_1MIN], load[LOADAVG_5MIN], load[LOADAVG_15MIN]); else - syslog (LOG_WARNING, "load: getloadavg failed: %s", strerror (errno)); + { + char errbuf[1024]; + WARNING ("load: getloadavg failed: %s", + sstrerror (errno, errbuf, sizeof (errbuf))); + } /* #endif HAVE_GETLOADAVG */ #elif defined(KERNEL_LINUX) - double snum, mnum, lnum; + gauge_t snum, mnum, lnum; FILE *loadavg; char buffer[16]; @@ -97,19 +97,27 @@ static int load_read (void) if ((loadavg = fopen ("/proc/loadavg", "r")) == NULL) { - syslog (LOG_WARNING, "load: fopen: %s", strerror (errno)); + char errbuf[1024]; + WARNING ("load: fopen: %s", + sstrerror (errno, errbuf, sizeof (errbuf))); return; } if (fgets (buffer, 16, loadavg) == NULL) { - syslog (LOG_WARNING, "load: fgets: %s", strerror (errno)); + char errbuf[1024]; + WARNING ("load: fgets: %s", + sstrerror (errno, errbuf, sizeof (errbuf))); fclose (loadavg); return; } if (fclose (loadavg)) - syslog (LOG_WARNING, "load: fclose: %s", strerror (errno)); + { + char errbuf[1024]; + WARNING ("load: fclose: %s", + sstrerror (errno, errbuf, sizeof (errbuf))); + } numfields = strsplit (buffer, fields, 8); @@ -124,7 +132,7 @@ static int load_read (void) /* #endif KERNEL_LINUX */ #elif defined(HAVE_LIBSTATGRAB) - double snum, mnum, lnum; + gauge_t snum, mnum, lnum; sg_load_stats *ls; if ((ls = sg_get_load_stats ()) == NULL) @@ -141,12 +149,13 @@ static int load_read (void) } #endif /* LOAD_HAVE_READ */ -void module_register (void) +void module_register (modreg_e load) { - plugin_register_data_set (&ds); + if (load & MR_DATASETS) + plugin_register_data_set (&ds); + #if LOAD_HAVE_READ - plugin_register_read ("load", load_read); + if (load & MR_READ) + plugin_register_read ("load", load_read); #endif -} - -#undef MODULE_NAME +} /* void module_register */