diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/prometheus/PrometheusInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/prometheus/PrometheusInterceptor.java index a090df10c8..911de4d396 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/prometheus/PrometheusInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/prometheus/PrometheusInterceptor.java @@ -29,6 +29,7 @@ import java.util.concurrent.*; import java.util.regex.*; +import static com.predic8.membrane.annot.Constants.VERSION; import static com.predic8.membrane.core.http.Response.*; import static com.predic8.membrane.core.interceptor.Outcome.*; import static com.predic8.membrane.core.interceptor.balancer.BalancerUtil.*; @@ -126,6 +127,7 @@ private void collect() { private void buildPrometheusStyleResponse(Context ctx) { ctx.resetAll(); ctx.reset(); + buildVersionLine(ctx); for (Proxy r : router.getRuleManager().getRules()) { if (!ctx.seenRules.add(prometheusCompatibleName(r.getName()))) { // the prometheus format is not allowed to contain the same metric more than once @@ -159,6 +161,10 @@ private void buildPrometheusStyleResponse(Context ctx) { } + private void buildVersionLine(Context ctx) { + ctx.count.append("membrane_info{version=\"" + prometheusCompatibleName(VERSION) + "\"} 1\n"); + } + private void buildLoadBalancerLines(Context ctx) { ctx.lb_active_nodes.append("# TYPE membrane_lb_node_status gauge\n"); for (Cluster cl : collectClusters(router)) {