Avoid a classNotFound exception when collect CPU metrics.

This commit is contained in:
wusheng 2017-07-04 23:28:00 +08:00
parent 4c1c187c97
commit 3af55a53b5
1 changed files with 3 additions and 2 deletions

View File

@ -15,8 +15,9 @@ public enum CPUProvider {
CPUProvider() {
int processorNum = ProcessorUtil.getNumberOfProcessors();
try {
CPUProvider.class.getClassLoader().loadClass("com.sun.management.OperatingSystemMXBean");
this.cpuMetricAccessor = new SunCpuAccessor(processorNum);
this.cpuMetricAccessor =
(CPUMetricAccessor)CPUProvider.class.getClassLoader().loadClass("org.skywalking.apm.agent.core.jvm.cpu.SunCpuAccessor")
.getConstructor(int.class).newInstance(processorNum);
} catch (Exception e) {
this.cpuMetricAccessor = new NoSupportedCPUAccessor(processorNum);
ILog logger = LogManager.getLogger(CPUProvider.class);