From 30dc6ee2f4f7c2cdb1857c1f2b774a955bdcef63 Mon Sep 17 00:00:00 2001
From: TROMEL LOUIS <58844429+Ash84@users.noreply.github.com>
Date: Tue, 14 May 2024 16:37:49 +0200
Subject: [PATCH] distrib version & run start

---
 .../sava/core/MetricsBasicAuthServlet.java       | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/sava-core/src/main/java/fr/agroclim/sava/core/MetricsBasicAuthServlet.java b/sava-core/src/main/java/fr/agroclim/sava/core/MetricsBasicAuthServlet.java
index 5d69dad..cd0b4a5 100644
--- a/sava-core/src/main/java/fr/agroclim/sava/core/MetricsBasicAuthServlet.java
+++ b/sava-core/src/main/java/fr/agroclim/sava/core/MetricsBasicAuthServlet.java
@@ -1,6 +1,10 @@
 package fr.agroclim.sava.core;
 
+import java.io.BufferedReader;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
+import java.time.LocalDateTime;
 import java.util.Base64;
 
 import javax.servlet.ServletException;
@@ -8,13 +12,14 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import io.prometheus.client.exporter.MetricsServlet;
-import java.nio.charset.StandardCharsets;
+import lombok.extern.log4j.Log4j2;
 
 /**
  * SAVA metrics servlet, using basic_auth with context parameters.
  *
  * @author ltromel
  */
+@Log4j2
 public class MetricsBasicAuthServlet extends MetricsServlet {
 
     /**
@@ -60,6 +65,15 @@ public class MetricsBasicAuthServlet extends MetricsServlet {
                 "The total amount of memory in the Java virtual machine, measured in bytes");
         SavaUtils.addGauge("jvm_free_memory",
                 "The amount of free memory in the Java Virtual Machine, measured in bytes");
+        try {
+            SavaUtils.addCounter("host_distribution", "Host machine distribution (linux only)", "", "version");
+            SavaUtils.incrementCounter("host_distribution", new BufferedReader(new InputStreamReader(new ProcessBuilder("lsb_release", "-ds").start().getInputStream())).readLine());
+        } catch (final Exception e) {
+            LOGGER.trace("Could not init host_distribution.");
+        }
+        SavaUtils.addCounter("run_since", "Server run date", "", "instant");
+        SavaUtils.incrementCounter("run_since", LocalDateTime.now().toString());
+
     }
 
     /**
-- 
GitLab