Skip to content

Commit 59dc7ac

Browse files
alakeshsureshanaparti
authored andcommitted
Add additional VM metrics
Signed-off-by: Alakesh Haloi <a_haloi@apple.com>
1 parent 4359198 commit 59dc7ac

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

server/src/main/java/com/cloud/server/StatsCollector.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@
166166
import com.codahale.metrics.Metric;
167167
import com.codahale.metrics.MetricRegistry;
168168
import com.codahale.metrics.MetricSet;
169+
import com.codahale.metrics.JmxReporter;
169170
import com.codahale.metrics.jvm.BufferPoolMetricSet;
170171
import com.codahale.metrics.jvm.GarbageCollectorMetricSet;
171172
import com.codahale.metrics.jvm.MemoryUsageGaugeSet;
@@ -387,7 +388,11 @@ public String toString() {
387388
private boolean _dailyOrHourly = false;
388389
protected long managementServerNodeId = ManagementServerNode.getManagementServerId();
389390
protected long msId = managementServerNodeId;
390-
final static MetricRegistry METRIC_REGISTRY = new MetricRegistry();
391+
public static final MetricRegistry METRIC_REGISTRY = new MetricRegistry();
392+
393+
public static void registerMetric(String name, Metric metric) {
394+
METRIC_REGISTRY.register(name, metric);
395+
}
391396

392397
public static StatsCollector getInstance() {
393398
return s_instance;
@@ -410,6 +415,11 @@ public boolean start() {
410415
registerAll("memory", new MemoryUsageGaugeSet(), METRIC_REGISTRY);
411416
registerAll("threads", new ThreadStatesGaugeSet(), METRIC_REGISTRY);
412417
registerAll("jvm", new JvmAttributeGaugeSet(), METRIC_REGISTRY);
418+
try {
419+
JmxReporter.forRegistry(METRIC_REGISTRY).inDomain("vm-extra").build().start();
420+
} catch (Exception e) {
421+
LOGGER.warn("Failed to start JMX reporter for METRIC_REGISTRY; CloudOS metrics will not be visible via JMX: " + e.getMessage());
422+
}
413423
return true;
414424
}
415425
@Override

0 commit comments

Comments
 (0)