X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fvmem.c;h=ffe1826afb981270cb3fcbefe17b279baf647636;hp=98c4c2a0592f7c75bcfaf61330ee6f24e95f0ea7;hb=1159cb5d383c55a80a0db100b8f7aadcf44740a5;hpb=f2f7049e8faff8043b12d7c7548d9398d3b3ada4 diff --git a/src/vmem.c b/src/vmem.c index 98c4c2a0..ffe1826a 100644 --- a/src/vmem.c +++ b/src/vmem.c @@ -30,74 +30,62 @@ #include "plugin.h" #if KERNEL_LINUX -static const char *config_keys[] = -{ - "Verbose" -}; -static int config_keys_num = STATIC_ARRAY_SIZE (config_keys); +static const char *config_keys[] = {"Verbose"}; +static int config_keys_num = STATIC_ARRAY_SIZE(config_keys); static int verbose_output = 0; /* #endif KERNEL_LINUX */ #else -# error "No applicable input method." +#error "No applicable input method." #endif /* HAVE_LIBSTATGRAB */ -static void submit (const char *plugin_instance, const char *type, - const char *type_instance, value_t *values, int values_len) -{ +static void submit(const char *plugin_instance, const char *type, + const char *type_instance, value_t *values, int values_len) { value_list_t vl = VALUE_LIST_INIT; vl.values = values; vl.values_len = values_len; - sstrncpy (vl.plugin, "vmem", sizeof (vl.plugin)); + sstrncpy(vl.plugin, "vmem", sizeof(vl.plugin)); if (plugin_instance != NULL) - sstrncpy (vl.plugin_instance, plugin_instance, sizeof (vl.plugin_instance)); - sstrncpy (vl.type, type, sizeof (vl.type)); + sstrncpy(vl.plugin_instance, plugin_instance, sizeof(vl.plugin_instance)); + sstrncpy(vl.type, type, sizeof(vl.type)); if (type_instance != NULL) - sstrncpy (vl.type_instance, type_instance, sizeof (vl.type_instance)); + sstrncpy(vl.type_instance, type_instance, sizeof(vl.type_instance)); - plugin_dispatch_values (&vl); + plugin_dispatch_values(&vl); } /* void vmem_submit */ -static void submit_two (const char *plugin_instance, const char *type, - const char *type_instance, derive_t c0, derive_t c1) -{ +static void submit_two(const char *plugin_instance, const char *type, + const char *type_instance, derive_t c0, derive_t c1) { value_t values[] = { - { .derive = c0 }, - { .derive = c1 }, + {.derive = c0}, {.derive = c1}, }; - submit (plugin_instance, type, type_instance, - values, STATIC_ARRAY_SIZE (values)); + submit(plugin_instance, type, type_instance, values, + STATIC_ARRAY_SIZE(values)); } /* void submit_one */ -static void submit_one (const char *plugin_instance, const char *type, - const char *type_instance, value_t value) -{ - submit (plugin_instance, type, type_instance, &value, 1); +static void submit_one(const char *plugin_instance, const char *type, + const char *type_instance, value_t value) { + submit(plugin_instance, type, type_instance, &value, 1); } /* void submit_one */ -static int vmem_config (const char *key, const char *value) -{ - if (strcasecmp ("Verbose", key) == 0) - { - if (IS_TRUE (value)) +static int vmem_config(const char *key, const char *value) { + if (strcasecmp("Verbose", key) == 0) { + if (IS_TRUE(value)) verbose_output = 1; else verbose_output = 0; - } - else - { - return (-1); + } else { + return -1; } - return (0); + return 0; } /* int vmem_config */ -static int vmem_read (void) -{ +static int vmem_read(void) { #if KERNEL_LINUX derive_t pgpgin = 0; derive_t pgpgout = 0; @@ -114,17 +102,15 @@ static int vmem_read (void) FILE *fh; char buffer[1024]; - fh = fopen ("/proc/vmstat", "r"); - if (fh == NULL) - { + fh = fopen("/proc/vmstat", "r"); + if (fh == NULL) { char errbuf[1024]; - ERROR ("vmem plugin: fopen (/proc/vmstat) failed: %s", - sstrerror (errno, errbuf, sizeof (errbuf))); - return (-1); + ERROR("vmem plugin: fopen (/proc/vmstat) failed: %s", + sstrerror(errno, errbuf, sizeof(errbuf))); + return -1; } - while (fgets (buffer, sizeof (buffer), fh) != NULL) - { + while (fgets(buffer, sizeof(buffer), fh) != NULL) { char *fields[4]; int fields_num; char *key; @@ -132,19 +118,19 @@ static int vmem_read (void) derive_t counter; gauge_t gauge; - fields_num = strsplit (buffer, fields, STATIC_ARRAY_SIZE (fields)); + fields_num = strsplit(buffer, fields, STATIC_ARRAY_SIZE(fields)); if (fields_num != 2) continue; key = fields[0]; endptr = NULL; - counter = strtoll (fields[1], &endptr, 10); + counter = strtoll(fields[1], &endptr, 10); if (fields[1] == endptr) continue; endptr = NULL; - gauge = strtod (fields[1], &endptr); + gauge = strtod(fields[1], &endptr); if (fields[1] == endptr) continue; @@ -153,41 +139,30 @@ static int vmem_read (void) * * The total number of {inst} pages, e. g dirty pages. */ - if (strncmp ("nr_", key, strlen ("nr_")) == 0) - { - char *inst = key + strlen ("nr_"); - if (strcmp(inst, "dirtied") == 0 || strcmp(inst, "written") == 0) - { - value_t value = { .derive = counter }; - submit_one (NULL, "vmpage_action", inst, value); - } - else - { - value_t value = { .gauge = gauge }; - submit_one (NULL, "vmpage_number", inst, value); + if (strncmp("nr_", key, strlen("nr_")) == 0) { + char *inst = key + strlen("nr_"); + if (strcmp(inst, "dirtied") == 0 || strcmp(inst, "written") == 0) { + value_t value = {.derive = counter}; + submit_one(NULL, "vmpage_action", inst, value); + } else { + value_t value = {.gauge = gauge}; + submit_one(NULL, "vmpage_number", inst, value); } } /* * Page in and page outs. For memory and swap. */ - else if (strcmp ("pgpgin", key) == 0) - { + else if (strcmp("pgpgin", key) == 0) { pgpgin = counter; pgpgvalid |= 0x01; - } - else if (strcmp ("pgpgout", key) == 0) - { + } else if (strcmp("pgpgout", key) == 0) { pgpgout = counter; pgpgvalid |= 0x02; - } - else if (strcmp ("pswpin", key) == 0) - { + } else if (strcmp("pswpin", key) == 0) { pswpin = counter; pswpvalid |= 0x01; - } - else if (strcmp ("pswpout", key) == 0) - { + } else if (strcmp("pswpout", key) == 0) { pswpout = counter; pswpvalid |= 0x02; } @@ -195,13 +170,10 @@ static int vmem_read (void) /* * Pagefaults */ - else if (strcmp ("pgfault", key) == 0) - { + else if (strcmp("pgfault", key) == 0) { pgfault = counter; pgfaultvalid |= 0x01; - } - else if (strcmp ("pgmajfault", key) == 0) - { + } else if (strcmp("pgmajfault", key) == 0) { pgmajfault = counter; pgfaultvalid |= 0x02; } @@ -216,48 +188,38 @@ static int vmem_read (void) * Number of page allocations, refills, steals and scans. This is collected * ``per zone'', i. e. for DMA, DMA32, normal and possibly highmem. */ - else if (strncmp ("pgalloc_", key, strlen ("pgalloc_")) == 0) - { - char *inst = key + strlen ("pgalloc_"); - value_t value = { .derive = counter }; - submit_one (inst, "vmpage_action", "alloc", value); - } - else if (strncmp ("pgrefill_", key, strlen ("pgrefill_")) == 0) - { - char *inst = key + strlen ("pgrefill_"); - value_t value = { .derive = counter }; - submit_one (inst, "vmpage_action", "refill", value); - } - else if (strncmp ("pgsteal_kswapd_", key, strlen ("pgsteal_kswapd_")) == 0) - { - char *inst = key + strlen ("pgsteal_kswapd_"); - value_t value = { .derive = counter }; - submit_one (inst, "vmpage_action", "steal_kswapd", value); - } - else if (strncmp ("pgsteal_direct_", key, strlen ("pgsteal_direct_")) == 0) - { - char *inst = key + strlen ("pgsteal_direct_"); - value_t value = { .derive = counter }; - submit_one (inst, "vmpage_action", "steal_direct", value); + else if (strncmp("pgalloc_", key, strlen("pgalloc_")) == 0) { + char *inst = key + strlen("pgalloc_"); + value_t value = {.derive = counter}; + submit_one(inst, "vmpage_action", "alloc", value); + } else if (strncmp("pgrefill_", key, strlen("pgrefill_")) == 0) { + char *inst = key + strlen("pgrefill_"); + value_t value = {.derive = counter}; + submit_one(inst, "vmpage_action", "refill", value); + } else if (strncmp("pgsteal_kswapd_", key, strlen("pgsteal_kswapd_")) == + 0) { + char *inst = key + strlen("pgsteal_kswapd_"); + value_t value = {.derive = counter}; + submit_one(inst, "vmpage_action", "steal_kswapd", value); + } else if (strncmp("pgsteal_direct_", key, strlen("pgsteal_direct_")) == + 0) { + char *inst = key + strlen("pgsteal_direct_"); + value_t value = {.derive = counter}; + submit_one(inst, "vmpage_action", "steal_direct", value); } /* For backwards compatibility (somewhen before 4.2.3) */ - else if (strncmp ("pgsteal_", key, strlen ("pgsteal_")) == 0) - { - char *inst = key + strlen ("pgsteal_"); - value_t value = { .derive = counter }; - submit_one (inst, "vmpage_action", "steal", value); - } - else if (strncmp ("pgscan_kswapd_", key, strlen ("pgscan_kswapd_")) == 0) - { - char *inst = key + strlen ("pgscan_kswapd_"); - value_t value = { .derive = counter }; - submit_one (inst, "vmpage_action", "scan_kswapd", value); - } - else if (strncmp ("pgscan_direct_", key, strlen ("pgscan_direct_")) == 0) - { - char *inst = key + strlen ("pgscan_direct_"); - value_t value = { .derive = counter }; - submit_one (inst, "vmpage_action", "scan_direct", value); + else if (strncmp("pgsteal_", key, strlen("pgsteal_")) == 0) { + char *inst = key + strlen("pgsteal_"); + value_t value = {.derive = counter}; + submit_one(inst, "vmpage_action", "steal", value); + } else if (strncmp("pgscan_kswapd_", key, strlen("pgscan_kswapd_")) == 0) { + char *inst = key + strlen("pgscan_kswapd_"); + value_t value = {.derive = counter}; + submit_one(inst, "vmpage_action", "scan_kswapd", value); + } else if (strncmp("pgscan_direct_", key, strlen("pgscan_direct_")) == 0) { + char *inst = key + strlen("pgscan_direct_"); + value_t value = {.derive = counter}; + submit_one(inst, "vmpage_action", "scan_direct", value); } /* @@ -266,44 +228,35 @@ static int vmem_read (void) * number of pages moved to the active or inactive lists and freed, i. e. * removed from either list. */ - else if (strcmp ("pgfree", key) == 0) - { - value_t value = { .derive = counter }; - submit_one (NULL, "vmpage_action", "free", value); - } - else if (strcmp ("pgactivate", key) == 0) - { - value_t value = { .derive = counter }; - submit_one (NULL, "vmpage_action", "activate", value); - } - else if (strcmp ("pgdeactivate", key) == 0) - { - value_t value = { .derive = counter }; - submit_one (NULL, "vmpage_action", "deactivate", value); + else if (strcmp("pgfree", key) == 0) { + value_t value = {.derive = counter}; + submit_one(NULL, "vmpage_action", "free", value); + } else if (strcmp("pgactivate", key) == 0) { + value_t value = {.derive = counter}; + submit_one(NULL, "vmpage_action", "activate", value); + } else if (strcmp("pgdeactivate", key) == 0) { + value_t value = {.derive = counter}; + submit_one(NULL, "vmpage_action", "deactivate", value); } } /* while (fgets) */ - fclose (fh); + fclose(fh); fh = NULL; if (pgfaultvalid == 0x03) - submit_two (NULL, "vmpage_faults", NULL, pgfault, pgmajfault); + submit_two(NULL, "vmpage_faults", NULL, pgfault, pgmajfault); if (pgpgvalid == 0x03) - submit_two (NULL, "vmpage_io", "memory", pgpgin, pgpgout); + submit_two(NULL, "vmpage_io", "memory", pgpgin, pgpgout); if (pswpvalid == 0x03) - submit_two (NULL, "vmpage_io", "swap", pswpin, pswpout); + submit_two(NULL, "vmpage_io", "swap", pswpin, pswpout); #endif /* KERNEL_LINUX */ - return (0); + return 0; } /* int vmem_read */ -void module_register (void) -{ - plugin_register_config ("vmem", vmem_config, - config_keys, config_keys_num); - plugin_register_read ("vmem", vmem_read); +void module_register(void) { + plugin_register_config("vmem", vmem_config, config_keys, config_keys_num); + plugin_register_read("vmem", vmem_read); } /* void module_register */ - -/* vim: set sw=2 sts=2 ts=8 : */