summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2022-06-13 14:48:36 +0200
committerGitHub <noreply@github.com>2022-06-13 14:48:36 +0200
commit7cedd9f0c4eda1f6c847498d37a4d40f6b447856 (patch)
tree960d28ab9ebd55af6960472364883c583e9652fa
parentc1d055b8dcd42ee20274e3932febe91a9aa9e1ff (diff)
parentaa7fa271d08d560ac724f8649b2481e0107b32f3 (diff)
Merge pull request #23068 from vespa-engine/bjorncs/container-jvm-metrics
Add metric 'jdisc.jvm' to report runtime version++
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java1
-rw-r--r--container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java11
-rw-r--r--container-disc/src/test/java/com/yahoo/container/jdisc/metric/MetricUpdaterTest.java2
3 files changed, 13 insertions, 1 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java
index 09e2e7680f8..6ce8c54f98c 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java
@@ -240,6 +240,7 @@ public class VespaMetricSet {
addMetric(metrics, "jdisc.http.filter.rule.blocked_requests", List.of("rate"));
addMetric(metrics, "jdisc.http.filter.rule.allowed_requests", List.of("rate"));
+ addMetric(metrics, "jdisc.jvm", List.of("last"));
return metrics;
}
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java b/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java
index f4e3abb44ed..4b75bc233d6 100644
--- a/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java
+++ b/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java
@@ -15,6 +15,7 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.time.Clock;
import java.time.Duration;
+import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
@@ -128,6 +129,15 @@ public class MetricUpdater extends AbstractComponent {
metric.set(NATIVE_TOTAL_MEMORY_BYTES, nativeHeap.totalSize(), null);
}
+ private void jvmDetails() {
+ Metric.Context ctx = metric.createContext(Map.of(
+ "version", System.getProperty("java.runtime.version"),
+ "home", System.getProperty("java.home"),
+ "vendor", System.getProperty("java.vm.vendor"),
+ "arch", System.getProperty("os.arch")));
+ metric.set("jdisc.jvm", Runtime.version().feature(), ctx);
+ }
+
@Override
public void run() {
long freeMemory = runtime.freeMemory();
@@ -144,6 +154,7 @@ public class MetricUpdater extends AbstractComponent {
containerWatchdogMetrics.emitMetrics(metric);
garbageCollectionMetrics.emitMetrics(metric);
jrtMetrics.emitMetrics();
+ jvmDetails();
}
}
diff --git a/container-disc/src/test/java/com/yahoo/container/jdisc/metric/MetricUpdaterTest.java b/container-disc/src/test/java/com/yahoo/container/jdisc/metric/MetricUpdaterTest.java
index f49ccf2c2f6..0652f35a5d1 100644
--- a/container-disc/src/test/java/com/yahoo/container/jdisc/metric/MetricUpdaterTest.java
+++ b/container-disc/src/test/java/com/yahoo/container/jdisc/metric/MetricUpdaterTest.java
@@ -27,7 +27,7 @@ public class MetricUpdaterTest {
ContainerWatchdogMetrics containerWatchdogMetrics = mock(ContainerWatchdogMetrics.class);
new MetricUpdater(new MockScheduler(), metric, containerWatchdogMetrics);
verify(containerWatchdogMetrics, times(1)).emitMetrics(any());
- verify(metric, times(12 + 2 * gcCount)).set(anyString(), any(), any());
+ verify(metric, times(13 + 2 * gcCount)).set(anyString(), any(), any());
}
private static class MockScheduler implements MetricUpdater.Scheduler {