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

Reply via email to