This library will help you in getting all the registered metrics in the JMX MbeanServer.
If you are looking for getting all the metrics from JMX MbeanServer and do some stuffs with that, like writing a metric reporter, then this is the library you are looking for.
Use the following repository
<repository>
<id>clojars</id>
<name>Clojars repository</name>
<url>https://clojars.org/repo</url>
</repository>Use the following maven dependency
<dependency>
<groupId>com.geek-vivek.jmx</groupId>
<artifactId>jmx-utils</artifactId>
<version>1.0.0</version>
</dependency>First you need to create a class by implementing JmxMetricsListener interface.
importcom.geekvivek.jmx.utils.JmxMetric;
importcom.geekvivek.jmx.utils.interfaces.JmxMetricsListener;
classMetricReporter1implementsJmxMetricsListener {
@OverridepublicvoidmetricChange(JmxMetricmetric){ /*do stuffs on receiving new metrics*/ }
@OverridepublicvoidmetricRemoval(JmxMetricmetric){ /* do stuffs when a metrics is removed from JMX */}
@Overridepublicvoidclose(){ /* do stuffs when application is closing */}
}Now create an instance of MetricReporter1 and pass it to JmxMetricProviderService and start the JmxMetricProviderService
importcom.geekvivek.jmx.utils.service.JmxMetricProviderService;
...
newJmxMetricProviderService(Collections.singletonList(
newMetricReporter1()
)).start(10, 60, TimeUnit.SECONDS);Note : Check the javadoc of classes for more info.