From: Florian Forster Date: Mon, 25 Dec 2023 22:00:18 +0000 (+0100) Subject: write_prometheus plugin: Emit the "target info" label as a gauge by default. X-Git-Tag: 6.0.0-rc0~23^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=646856cca69abfb8b6db29965ed87d5c265b274d;p=thirdparty%2Fcollectd.git write_prometheus plugin: Emit the "target info" label as a gauge by default. Prometheus doesn't know the "info" type metrics that OpenMetrics talks about. Instead, is has a *convention* of using a gauge metric named "target_info". --- diff --git a/src/write_prometheus.c b/src/write_prometheus.c index b6538b6c9..a09aab65f 100644 --- a/src/write_prometheus.c +++ b/src/write_prometheus.c @@ -271,8 +271,13 @@ void target_info(strbuf_t *buf, label_set_t resource) { label_set_update(&rattr, "service.name", NULL); label_set_update(&rattr, "service.instance.id", NULL); +#ifdef EXPOSE_OPEN_METRICS strbuf_print(buf, "# TYPE target info\n"); strbuf_print(buf, "# HELP target Target metadata\n"); +#else + strbuf_print(buf, "# HELP target_info Target metadata\n"); + strbuf_print(buf, "# TYPE target_info gauge\n"); +#endif strbuf_print(buf, "target_info{"); format_label_set(buf, rattr, job, instance); diff --git a/src/write_prometheus_test.c b/src/write_prometheus_test.c index 3ea85b415..851430e05 100644 --- a/src/write_prometheus_test.c +++ b/src/write_prometheus_test.c @@ -268,8 +268,8 @@ DEF_TEST(target_info) { .ptr = &(label_pair_t){"foo", "bar"}, .num = 1, }, - .want = "# TYPE target info\n" - "# HELP target Target metadata\n" + .want = "# HELP target_info Target metadata\n" + "# TYPE target_info gauge\n" "target_info{foo=\"bar\"} 1\n", }, { @@ -279,8 +279,8 @@ DEF_TEST(target_info) { .ptr = &(label_pair_t){"service.name", "unittest"}, .num = 1, }, - .want = "# TYPE target info\n" - "# HELP target Target metadata\n" + .want = "# HELP target_info Target metadata\n" + "# TYPE target_info gauge\n" "target_info{job=\"unittest\"} 1\n", }, { @@ -290,8 +290,8 @@ DEF_TEST(target_info) { .ptr = &(label_pair_t){"service.instance.id", "42"}, .num = 1, }, - .want = "# TYPE target info\n" - "# HELP target Target metadata\n" + .want = "# HELP target_info Target metadata\n" + "# TYPE target_info gauge\n" "target_info{instance=\"42\"} 1\n", }, };