MINOR: contrib/prometheus-exporter: declare states for objects
in preparation to change state gauge values as labels, declare them as
enum associated with the string definition
Signed-off-by: William Dauchy <wdauchy@gmail.com>
diff --git a/contrib/prometheus-exporter/service-prometheus.c b/contrib/prometheus-exporter/service-prometheus.c
index 6397cd8..dac301f 100644
--- a/contrib/prometheus-exporter/service-prometheus.c
+++ b/contrib/prometheus-exporter/service-prometheus.c
@@ -394,21 +394,63 @@
[ST_F_HRSP_OTHER] = IST("code=\"other\""),
};
-/* Return the server status: 0=DOWN, 1=UP, 2=MAINT, 3=DRAIN, 4=NOLB. */
-static int promex_srv_status(struct server *sv)
+enum promex_front_state {
+ PROMEX_FRONT_STATE_DOWN = 0,
+ PROMEX_FRONT_STATE_UP,
+
+ PROMEX_FRONT_STATE_COUNT /* must be last */
+};
+
+const struct ist promex_front_st[PROMEX_FRONT_STATE_COUNT] = {
+ [PROMEX_FRONT_STATE_DOWN] = IST("DOWN"),
+ [PROMEX_FRONT_STATE_UP] = IST("UP"),
+};
+
+enum promex_back_state {
+ PROMEX_BACK_STATE_DOWN = 0,
+ PROMEX_BACK_STATE_UP,
+
+ PROMEX_BACK_STATE_COUNT /* must be last */
+};
+
+const struct ist promex_back_st[PROMEX_BACK_STATE_COUNT] = {
+ [PROMEX_BACK_STATE_DOWN] = IST("DOWN"),
+ [PROMEX_BACK_STATE_UP] = IST("UP"),
+};
+
+enum promex_srv_state {
+ PROMEX_SRV_STATE_DOWN = 0,
+ PROMEX_SRV_STATE_UP,
+ PROMEX_SRV_STATE_MAINT,
+ PROMEX_SRV_STATE_DRAIN,
+ PROMEX_SRV_STATE_NOLB,
+
+ PROMEX_SRV_STATE_COUNT /* must be last */
+};
+
+const struct ist promex_srv_st[PROMEX_SRV_STATE_COUNT] = {
+ [PROMEX_SRV_STATE_DOWN] = IST("DOWN"),
+ [PROMEX_SRV_STATE_UP] = IST("UP"),
+ [PROMEX_SRV_STATE_MAINT] = IST("MAINT"),
+ [PROMEX_SRV_STATE_DRAIN] = IST("DRAIN"),
+ [PROMEX_SRV_STATE_NOLB] = IST("NOLB"),
+};
+
+/* Return the server status. */
+enum promex_srv_state promex_srv_status(struct server *sv)
{
- int state = 0;
+ int state = PROMEX_SRV_STATE_DOWN;
if (sv->cur_state == SRV_ST_RUNNING || sv->cur_state == SRV_ST_STARTING) {
- state = 1;
+ state = PROMEX_SRV_STATE_UP;
if (sv->cur_admin & SRV_ADMF_DRAIN)
- state = 3;
+ state = PROMEX_SRV_STATE_DRAIN;
}
else if (sv->cur_state == SRV_ST_STOPPING)
- state = 4;
+ state = PROMEX_SRV_STATE_NOLB;
if (sv->cur_admin & SRV_ADMF_MAINT)
- state = 2;
+ state = PROMEX_SRV_STATE_MAINT;
return state;
}