This is an automated email from the ASF dual-hosted git repository.
DaanHoogland pushed a commit to branch 4.22
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.22 by this push:
new 95d0aed9f5e Additional metrics for virtual machine orchestration
(#13141)
95d0aed9f5e is described below
commit 95d0aed9f5ecc52d15e8b801e67216763008273f
Author: Suresh Kumar Anaparti <[email protected]>
AuthorDate: Thu Jun 18 12:49:24 2026 +0530
Additional metrics for virtual machine orchestration (#13141)
Signed-off-by: Alakesh Haloi <[email protected]>
Co-authored-by: Alakesh Haloi <[email protected]>
Co-authored-by: Tanisha Ghai <[email protected]>
---
server/src/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 b6637aa87fc..5fd8b40b148 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.JvmAttributeGaugeSet;
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 class StatsCollector extends ManagerBase implements
ComponentMethodInterc
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 class StatsCollector extends ManagerBase implements
ComponentMethodInterc
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,
metrics will not be visible via JMX", e);
+ }
return true;
}
@Override