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());
     }
 
     /** */

Reply via email to