From 59dc7ac9fb0c8bc18083edd6ac837742c8847169 Mon Sep 17 00:00:00 2001 From: Alakesh Haloi Date: Mon, 27 Apr 2026 16:07:17 -0700 Subject: [PATCH 1/3] Add additional VM metrics Signed-off-by: Alakesh Haloi --- .../main/java/com/cloud/server/StatsCollector.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/server/StatsCollector.java b/server/src/main/java/com/cloud/server/StatsCollector.java index b6637aa87fc3..4f1bc5841eda 100644 --- a/server/src/main/java/com/cloud/server/StatsCollector.java +++ b/server/src/main/java/com/cloud/server/StatsCollector.java @@ -166,6 +166,7 @@ import com.codahale.metrics.Metric; import com.codahale.metrics.MetricRegistry; import com.codahale.metrics.MetricSet; +import com.codahale.metrics.JmxReporter; import com.codahale.metrics.jvm.BufferPoolMetricSet; import com.codahale.metrics.jvm.GarbageCollectorMetricSet; import com.codahale.metrics.jvm.MemoryUsageGaugeSet; @@ -387,7 +388,11 @@ public String toString() { private boolean _dailyOrHourly = false; protected long managementServerNodeId = ManagementServerNode.getManagementServerId(); protected long msId = managementServerNodeId; - final static MetricRegistry METRIC_REGISTRY = new MetricRegistry(); + public static final MetricRegistry METRIC_REGISTRY = new MetricRegistry(); + + public static void registerMetric(String name, Metric metric) { + METRIC_REGISTRY.register(name, metric); + } public static StatsCollector getInstance() { return s_instance; @@ -410,6 +415,11 @@ public boolean start() { registerAll("memory", new MemoryUsageGaugeSet(), METRIC_REGISTRY); registerAll("threads", new ThreadStatesGaugeSet(), METRIC_REGISTRY); registerAll("jvm", new JvmAttributeGaugeSet(), METRIC_REGISTRY); + try { + JmxReporter.forRegistry(METRIC_REGISTRY).inDomain("vm-extra").build().start(); + } catch (Exception e) { + LOGGER.warn("Failed to start JMX reporter for METRIC_REGISTRY; CloudOS metrics will not be visible via JMX: " + e.getMessage()); + } return true; } @Override From d70814321a78715a357d226d31fc5441b377cc40 Mon Sep 17 00:00:00 2001 From: Tanisha Ghai Date: Fri, 1 May 2026 01:14:11 -0700 Subject: [PATCH 2/3] Log full exception in JMX reporter warning --- server/src/main/java/com/cloud/server/StatsCollector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/server/StatsCollector.java b/server/src/main/java/com/cloud/server/StatsCollector.java index 4f1bc5841eda..079d0d0505de 100644 --- a/server/src/main/java/com/cloud/server/StatsCollector.java +++ b/server/src/main/java/com/cloud/server/StatsCollector.java @@ -418,7 +418,7 @@ public boolean start() { try { JmxReporter.forRegistry(METRIC_REGISTRY).inDomain("vm-extra").build().start(); } catch (Exception e) { - LOGGER.warn("Failed to start JMX reporter for METRIC_REGISTRY; CloudOS metrics will not be visible via JMX: " + e.getMessage()); + LOGGER.warn("Failed to start JMX reporter for METRIC_REGISTRY; CloudOS metrics will not be visible via JMX", e); } return true; } From 12f2f3f6854932e01d570d6b6ae443f66f1d3e41 Mon Sep 17 00:00:00 2001 From: Suresh Kumar Anaparti Date: Fri, 8 May 2026 20:41:00 +0530 Subject: [PATCH 3/3] logger fix --- server/src/main/java/com/cloud/server/StatsCollector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/server/StatsCollector.java b/server/src/main/java/com/cloud/server/StatsCollector.java index 079d0d0505de..5fd8b40b148c 100644 --- a/server/src/main/java/com/cloud/server/StatsCollector.java +++ b/server/src/main/java/com/cloud/server/StatsCollector.java @@ -418,7 +418,7 @@ public boolean start() { try { JmxReporter.forRegistry(METRIC_REGISTRY).inDomain("vm-extra").build().start(); } catch (Exception e) { - LOGGER.warn("Failed to start JMX reporter for METRIC_REGISTRY; CloudOS metrics will not be visible via JMX", e); + logger.warn("Failed to start JMX reporter for METRIC_REGISTRY, metrics will not be visible via JMX", e); } return true; }