ucl_object_tostring(ucl_object_lookup(top, "config_id")));
- rspamd_metrics_add_integer(&output, top,
- "rspamd_scan_time_average",
- "gauge",
- "Average messages scan time.",
- "avg_scan_time");
+ rspamd_metrics_add_double(&output, top,
+ "rspamd_scan_time_average",
+ "gauge",
+ "Average messages scan time.",
+ "avg_scan_time");
rspamd_metrics_add_integer(&output, top,
"process_start_time_seconds",
"gauge",
rspamd_printf_fstring(output, "%s %L\n", name,
ucl_object_toint(ucl_object_lookup(top, ucl_key)));
}
+
+static inline void
+rspamd_metrics_add_double(rspamd_fstring_t **output,
+ const ucl_object_t *top,
+ const char *name,
+ const char *type,
+ const char *description,
+ const char *ucl_key)
+{
+ rspamd_printf_fstring(output, "# HELP %s %s\n", name, description);
+ rspamd_printf_fstring(output, "# TYPE %s %s\n", name, type);
+ rspamd_printf_fstring(output, "%s %f\n", name,
+ ucl_object_todouble(ucl_object_lookup(top, ucl_key)));
+}
/**
* Convert metrics to the prometheus format
* @param top