From 4bd56380bc2bc34719ab8391c34eba00aafdb38e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Leonard=20G=C3=B6hrs?= Date: Wed, 14 Dec 2022 13:23:14 +0100 Subject: [PATCH] [collectd 6] mmc: port to collectd 6 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Leonard Göhrs --- src/mmc.c | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/src/mmc.c b/src/mmc.c index e802f9ea2..6ab286f56 100644 --- a/src/mmc.c +++ b/src/mmc.c @@ -85,16 +85,28 @@ static int mmc_config(const char *key, const char *value) { return 0; } -static void mmc_submit(const char *dev_name, const char *type, gauge_t value) { - value_list_t vl = VALUE_LIST_INIT; +static void mmc_submit(const char *dev_name, char *type, gauge_t value) { + metric_family_t fam = { + .name = type, + .type = METRIC_TYPE_GAUGE, + }; + + metric_t m = { + .family = &fam, + .value = (value_t){.gauge = value}, + }; - vl.values = &(value_t){.gauge = value}; - vl.values_len = 1; - sstrncpy(vl.plugin, PLUGIN_NAME, sizeof(vl.plugin)); - sstrncpy(vl.plugin_instance, dev_name, sizeof(vl.plugin_instance)); - sstrncpy(vl.type, type, sizeof(vl.type)); + metric_label_set(&m, "device", dev_name); + metric_family_metric_append(&fam, m); + + int status = plugin_dispatch_metric_family(&fam); + if (status != 0) { + ERROR(PLUGIN_NAME ": plugin_dispatch_metric_family failed: %s", + STRERROR(status)); + } - plugin_dispatch_values(&vl); + metric_reset(&m); + metric_family_metric_reset(&fam); } static int mmc_read_manfid(struct udev_device *mmc_dev, int *value) { -- 2.47.2