This is an automated email from the ASF dual-hosted git repository. nizhikov pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push: new 0765910 IGNITE-12043: JMX exporter reports incorrect description. (#6762) 0765910 is described below commit 0765910530c0570146d1932567d00689a8a440e2 Author: Nikolay <nizhi...@apache.org> AuthorDate: Sun Aug 11 12:21:03 2019 +0300 IGNITE-12043: JMX exporter reports incorrect description. (#6762) Export metric description if exists. --- .../internal/processors/metric/GridMetricManager.java | 10 ++++++++-- .../ignite/spi/metric/jmx/MetricRegistryMBean.java | 2 +- .../internal/metric/JmxMetricExporterSpiTest.java | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/GridMetricManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/GridMetricManager.java index a60d968..b788e22 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/GridMetricManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/GridMetricManager.java @@ -123,9 +123,15 @@ public class GridMetricManager extends GridManagerAdapter<MetricExporterSpi> imp /** GC CPU load metric name. */ public static final String GC_CPU_LOAD = "GcCpuLoad"; + /** GC CPU load metric description. */ + public static final String GC_CPU_LOAD_DESCRIPTION = "GC CPU load."; + /** CPU load metric name. */ public static final String CPU_LOAD = "CpuLoad"; + /** CPU load metric description. */ + public static final String CPU_LOAD_DESCRIPTION = "CPU load."; + /** Up time metric name. */ public static final String UP_TIME = "UpTime"; @@ -205,8 +211,8 @@ public class GridMetricManager extends GridManagerAdapter<MetricExporterSpi> imp MetricRegistry sysreg = registry(SYS_METRICS); - gcCpuLoad = sysreg.doubleMetric(GC_CPU_LOAD, "GC CPU load."); - cpuLoad = sysreg.doubleMetric(CPU_LOAD, "CPU load."); + gcCpuLoad = sysreg.doubleMetric(GC_CPU_LOAD, GC_CPU_LOAD_DESCRIPTION); + cpuLoad = sysreg.doubleMetric(CPU_LOAD, CPU_LOAD_DESCRIPTION); sysreg.register("SystemLoadAverage", os::getSystemLoadAverage, Double.class, null); sysreg.register(UP_TIME, rt::getUptime, null); diff --git a/modules/core/src/main/java/org/apache/ignite/spi/metric/jmx/MetricRegistryMBean.java b/modules/core/src/main/java/org/apache/ignite/spi/metric/jmx/MetricRegistryMBean.java index ad24b5e..7b9753f 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/metric/jmx/MetricRegistryMBean.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/metric/jmx/MetricRegistryMBean.java @@ -82,7 +82,7 @@ public class MetricRegistryMBean implements DynamicMBean { attributes.add(new MBeanAttributeInfo( metric.name().substring(mreg.name().length() + 1), metricClass(metric), - metric.name(), + metric.description() != null ? metric.description() : metric.name(), true, false, false)); diff --git a/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxMetricExporterSpiTest.java b/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxMetricExporterSpiTest.java index 83392d2..dae1ba3 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxMetricExporterSpiTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxMetricExporterSpiTest.java @@ -18,8 +18,10 @@ package org.apache.ignite.internal.metric; import java.lang.management.ManagementFactory; +import java.util.Optional; import java.util.Set; import javax.management.DynamicMBean; +import javax.management.MBeanAttributeInfo; import javax.management.MBeanFeatureInfo; import javax.management.MBeanServer; import javax.management.MBeanServerInvocationHandler; @@ -38,7 +40,9 @@ import org.junit.Test; import static java.util.Arrays.stream; import static java.util.stream.Collectors.toSet; import static org.apache.ignite.internal.processors.metric.GridMetricManager.CPU_LOAD; +import static org.apache.ignite.internal.processors.metric.GridMetricManager.CPU_LOAD_DESCRIPTION; import static org.apache.ignite.internal.processors.metric.GridMetricManager.GC_CPU_LOAD; +import static org.apache.ignite.internal.processors.metric.GridMetricManager.GC_CPU_LOAD_DESCRIPTION; import static org.apache.ignite.internal.processors.metric.GridMetricManager.SYS_METRICS; import static org.apache.ignite.internal.processors.metric.impl.MetricUtils.metricName; import static org.apache.ignite.testframework.GridTestUtils.assertThrowsWithCause; @@ -95,6 +99,20 @@ public class JmxMetricExporterSpiTest extends AbstractExporterSpiTest { assertTrue(res.contains(metricName("memory", "heap", "used"))); assertTrue(res.contains(metricName("memory", "nonheap", "committed"))); assertTrue(res.contains(metricName("memory", "nonheap", "max"))); + + Optional<MBeanAttributeInfo> cpuLoad = stream(sysMBean.getMBeanInfo().getAttributes()) + .filter(a -> a.getName().equals(CPU_LOAD)) + .findFirst(); + + assertTrue(cpuLoad.isPresent()); + assertEquals(CPU_LOAD_DESCRIPTION, cpuLoad.get().getDescription()); + + Optional<MBeanAttributeInfo> gcCpuLoad = stream(sysMBean.getMBeanInfo().getAttributes()) + .filter(a -> a.getName().equals(GC_CPU_LOAD)) + .findFirst(); + + assertTrue(gcCpuLoad.isPresent()); + assertEquals(GC_CPU_LOAD_DESCRIPTION, gcCpuLoad.get().getDescription()); } /** */