You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sk...@apache.org on 2023/06/08 07:43:18 UTC

[ignite-3] branch main updated: IGNITE-19005 Fixed metric names (#2132)

This is an automated email from the ASF dual-hosted git repository.

sk0x50 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new f21bac0dca IGNITE-19005 Fixed metric names (#2132)
f21bac0dca is described below

commit f21bac0dcad7ed3ff7be6528b19d4f2343c2b947
Author: Slava Koptilin <sl...@gmail.com>
AuthorDate: Thu Jun 8 10:43:13 2023 +0300

    IGNITE-19005 Fixed metric names (#2132)
---
 .../cli/call/metric/ItEnabledMetricCallsTest.java  | 16 ++++----
 .../metric/ItEnabledNodeMetricCommandTest.java     | 21 +++++-----
 modules/metrics/build.gradle                       |  1 +
 .../metrics/exporters/ItJvmMetricSourceTest.java   | 16 ++++----
 .../exporters/ItMetricExportersLoadingTest.java    |  8 ++--
 .../metrics/exporters/TestMetricsSource.java       |  2 +-
 .../internal/metrics/sources/JvmMetricSource.java  | 32 +++++++--------
 .../internal/metrics/MetricEntitiesTest.java       |  4 +-
 .../metrics/sources/JvmMetricSourceTest.java       | 48 ++++++++++++----------
 9 files changed, 76 insertions(+), 72 deletions(-)

diff --git a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/call/metric/ItEnabledMetricCallsTest.java b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/call/metric/ItEnabledMetricCallsTest.java
index d3c295e2b2..a28b33b4e3 100644
--- a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/call/metric/ItEnabledMetricCallsTest.java
+++ b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/call/metric/ItEnabledMetricCallsTest.java
@@ -87,14 +87,14 @@ class ItEnabledMetricCallsTest extends CallInitializedIntegrationTestBase {
 
         // And
         Metric[] expectedMetrics = {
-                new Metric().name("memory.heap.init").desc("Initial amount of heap memory"),
-                new Metric().name("memory.heap.used").desc("Current used amount of heap memory"),
-                new Metric().name("memory.heap.committed").desc("Committed amount of heap memory"),
-                new Metric().name("memory.heap.max").desc("Maximum amount of heap memory"),
-                new Metric().name("memory.non-heap.init").desc("Initial amount of non-heap memory"),
-                new Metric().name("memory.non-heap.used").desc("Used amount of non-heap memory"),
-                new Metric().name("memory.non-heap.committed").desc("Committed amount of non-heap memory"),
-                new Metric().name("memory.non-heap.max").desc("Maximum amount of non-heap memory")
+                new Metric().name("memory.heap.Init").desc("Initial amount of heap memory"),
+                new Metric().name("memory.heap.Used").desc("Current used amount of heap memory"),
+                new Metric().name("memory.heap.Committed").desc("Committed amount of heap memory"),
+                new Metric().name("memory.heap.Max").desc("Maximum amount of heap memory"),
+                new Metric().name("memory.non-heap.Init").desc("Initial amount of non-heap memory"),
+                new Metric().name("memory.non-heap.Used").desc("Used amount of non-heap memory"),
+                new Metric().name("memory.non-heap.Committed").desc("Committed amount of non-heap memory"),
+                new Metric().name("memory.non-heap.Max").desc("Maximum amount of non-heap memory")
         };
 
         assertAll(
diff --git a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/metric/ItEnabledNodeMetricCommandTest.java b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/metric/ItEnabledNodeMetricCommandTest.java
index 01fd6bcf32..6a4eb2c5be 100644
--- a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/metric/ItEnabledNodeMetricCommandTest.java
+++ b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/metric/ItEnabledNodeMetricCommandTest.java
@@ -72,17 +72,16 @@ class ItEnabledNodeMetricCommandTest extends CliCommandTestInitializedIntegratio
         assertAll(
                 this::assertExitCodeIsZero,
                 this::assertErrOutputIsEmpty,
-                () -> assertOutputIs("Set name\tMetric name\tDescription" + NL
-                        + "jvm\t\t" + NL
-                        + "\tmemory.heap.committed\tCommitted amount of heap memory" + NL
-                        + "\tmemory.heap.max\tMaximum amount of heap memory" + NL
-                        + "\tmemory.non-heap.max\tMaximum amount of non-heap memory" + NL
-                        + "\tmemory.non-heap.init\tInitial amount of non-heap memory" + NL
-                        + "\tmemory.non-heap.committed\tCommitted amount of non-heap memory" + NL
-                        + "\tmemory.non-heap.used\tUsed amount of non-heap memory" + NL
-                        + "\tmemory.heap.used\tCurrent used amount of heap memory" + NL
-                        + "\tmemory.heap.init\tInitial amount of heap memory" + NL
-                )
+                () -> assertOutputContains("Set name\tMetric name\tDescription" + NL),
+                () -> assertOutputContains("jvm\t\t" + NL),
+                () -> assertOutputContains("\tmemory.heap.Committed\tCommitted amount of heap memory" + NL),
+                () -> assertOutputContains("\tmemory.heap.Max\tMaximum amount of heap memory" + NL),
+                () -> assertOutputContains("\tmemory.non-heap.Max\tMaximum amount of non-heap memory" + NL),
+                () -> assertOutputContains("\tmemory.non-heap.Init\tInitial amount of non-heap memory" + NL),
+                () -> assertOutputContains("\tmemory.non-heap.Committed\tCommitted amount of non-heap memory" + NL),
+                () -> assertOutputContains("\tmemory.non-heap.Used\tUsed amount of non-heap memory" + NL),
+                () -> assertOutputContains("\tmemory.heap.Used\tCurrent used amount of heap memory" + NL),
+                () -> assertOutputContains("\tmemory.heap.Init\tInitial amount of heap memory" + NL)
         );
     }
 }
diff --git a/modules/metrics/build.gradle b/modules/metrics/build.gradle
index 929160c257..dc7395c1eb 100644
--- a/modules/metrics/build.gradle
+++ b/modules/metrics/build.gradle
@@ -34,6 +34,7 @@ dependencies {
     testAnnotationProcessor project(":ignite-configuration-annotation-processor")
     testImplementation libs.hamcrest.core
     testImplementation libs.mockito.core
+    testImplementation libs.awaitility
     testImplementation project(':ignite-core')
     testImplementation testFixtures(project(':ignite-core'))
     testImplementation testFixtures(project(':ignite-configuration'))
diff --git a/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/ItJvmMetricSourceTest.java b/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/ItJvmMetricSourceTest.java
index a931afbeed..52d597aab3 100644
--- a/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/ItJvmMetricSourceTest.java
+++ b/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/ItJvmMetricSourceTest.java
@@ -66,16 +66,16 @@ public class ItJvmMetricSourceTest {
 
         var jvmMetrics = simpleExporter.pull().get("jvm");
 
-        assertPositiveLongValue(jvmMetrics.get("memory.heap.init"));
-        assertPositiveLongValue(jvmMetrics.get("memory.heap.used"));
-        assertPositiveLongValue(jvmMetrics.get("memory.heap.committed"));
-        assertPositiveLongValue(jvmMetrics.get("memory.heap.max"));
+        assertPositiveLongValue(jvmMetrics.get("memory.heap.Init"));
+        assertPositiveLongValue(jvmMetrics.get("memory.heap.Used"));
+        assertPositiveLongValue(jvmMetrics.get("memory.heap.Committed"));
+        assertPositiveLongValue(jvmMetrics.get("memory.heap.Max"));
 
 
-        assertNotNull(jvmMetrics.get("memory.non-heap.init"));
-        assertNotNull(jvmMetrics.get("memory.non-heap.used"));
-        assertNotNull(jvmMetrics.get("memory.non-heap.committed"));
-        assertNotNull(jvmMetrics.get("memory.non-heap.max"));
+        assertNotNull(jvmMetrics.get("memory.non-heap.Init"));
+        assertNotNull(jvmMetrics.get("memory.non-heap.Used"));
+        assertNotNull(jvmMetrics.get("memory.non-heap.Committed"));
+        assertNotNull(jvmMetrics.get("memory.non-heap.Max"));
 
         metricManager.stop();
     }
diff --git a/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/ItMetricExportersLoadingTest.java b/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/ItMetricExportersLoadingTest.java
index 181a95fde8..5b8355b1d5 100644
--- a/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/ItMetricExportersLoadingTest.java
+++ b/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/ItMetricExportersLoadingTest.java
@@ -73,13 +73,13 @@ public class ItMetricExportersLoadingTest {
 
             src.inc();
 
-            waitForOutput(pushOutputStream, "TestMetricsSource:\nmetric:1");
-            assertTrue(pushOutputStream.toString().contains("TestMetricsSource:\nmetric:1"));
+            waitForOutput(pushOutputStream, "TestMetricsSource:\nMetric:1");
+            assertTrue(pushOutputStream.toString().contains("TestMetricsSource:\nMetric:1"));
 
             TestPullMetricExporter.requestMetrics();
 
-            waitForOutput(pullOutputStream, "TestMetricsSource:\nmetric:1");
-            assertTrue(pullOutputStream.toString().contains("TestMetricsSource:\nmetric:1"));
+            waitForOutput(pullOutputStream, "TestMetricsSource:\nMetric:1");
+            assertTrue(pullOutputStream.toString().contains("TestMetricsSource:\nMetric:1"));
 
             metricManager.stop();
         }
diff --git a/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/TestMetricsSource.java b/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/TestMetricsSource.java
index 5d9e4d3b31..afa239abae 100644
--- a/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/TestMetricsSource.java
+++ b/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/TestMetricsSource.java
@@ -44,7 +44,7 @@ public class TestMetricsSource extends AbstractMetricSource<Holder> {
 
     /** {@inheritDoc} */
     @Override protected void init(MetricSetBuilder bldr, Holder holder) {
-        atomicIntMetric = bldr.atomicInt("metric", "Metric");
+        atomicIntMetric = bldr.atomicInt("Metric", "Metric");
     }
 
     public void inc() {
diff --git a/modules/metrics/src/main/java/org/apache/ignite/internal/metrics/sources/JvmMetricSource.java b/modules/metrics/src/main/java/org/apache/ignite/internal/metrics/sources/JvmMetricSource.java
index 908d94c44f..adb60243a5 100644
--- a/modules/metrics/src/main/java/org/apache/ignite/internal/metrics/sources/JvmMetricSource.java
+++ b/modules/metrics/src/main/java/org/apache/ignite/internal/metrics/sources/JvmMetricSource.java
@@ -73,36 +73,36 @@ public class JvmMetricSource implements MetricSource {
         var metrics = new HashMap<String, Metric>();
 
         CachedMemoryUsage heapMemoryUsage = new CachedMemoryUsage(memoryMxBean::getHeapMemoryUsage, MEMORY_USAGE_CACHE_TIMEOUT);
-        metrics.put("memory.heap.init",
-                new LongGauge("memory.heap.init", "Initial amount of heap memory", () -> heapMemoryUsage.get().getInit()));
-        metrics.put("memory.heap.used",
-                new LongGauge("memory.heap.used",
+        metrics.put("memory.heap.Init",
+                new LongGauge("memory.heap.Init", "Initial amount of heap memory", () -> heapMemoryUsage.get().getInit()));
+        metrics.put("memory.heap.Used",
+                new LongGauge("memory.heap.Used",
                         "Current used amount of heap memory",
                         () -> heapMemoryUsage.get().getUsed()));
-        metrics.put("memory.heap.committed",
-                new LongGauge("memory.heap.committed",
+        metrics.put("memory.heap.Committed",
+                new LongGauge("memory.heap.Committed",
                         "Committed amount of heap memory",
                         () -> heapMemoryUsage.get().getCommitted()));
-        metrics.put("memory.heap.max",
-                new LongGauge("memory.heap.max",
+        metrics.put("memory.heap.Max",
+                new LongGauge("memory.heap.Max",
                         "Maximum amount of heap memory",
                         () -> heapMemoryUsage.get().getMax()));
 
         CachedMemoryUsage nonHeapMemoryUsage = new CachedMemoryUsage(memoryMxBean::getNonHeapMemoryUsage, MEMORY_USAGE_CACHE_TIMEOUT);
-        metrics.put("memory.non-heap.init",
-                new LongGauge("memory.non-heap.init",
+        metrics.put("memory.non-heap.Init",
+                new LongGauge("memory.non-heap.Init",
                         "Initial amount of non-heap memory",
                         () -> nonHeapMemoryUsage.get().getInit()));
-        metrics.put("memory.non-heap.used",
-                new LongGauge("memory.non-heap.used",
+        metrics.put("memory.non-heap.Used",
+                new LongGauge("memory.non-heap.Used",
                         "Used amount of non-heap memory",
                         () -> nonHeapMemoryUsage.get().getUsed()));
-        metrics.put("memory.non-heap.committed",
-                new LongGauge("memory.non-heap.committed",
+        metrics.put("memory.non-heap.Committed",
+                new LongGauge("memory.non-heap.Committed",
                         "Committed amount of non-heap memory",
                         () -> nonHeapMemoryUsage.get().getCommitted()));
-        metrics.put("memory.non-heap.max",
-                new LongGauge("memory.non-heap.max",
+        metrics.put("memory.non-heap.Max",
+                new LongGauge("memory.non-heap.Max",
                         "Maximum amount of non-heap memory",
                         () -> nonHeapMemoryUsage.get().getMax()));
 
diff --git a/modules/metrics/src/test/java/org/apache/ignite/internal/metrics/MetricEntitiesTest.java b/modules/metrics/src/test/java/org/apache/ignite/internal/metrics/MetricEntitiesTest.java
index d708f318cc..270eb64734 100644
--- a/modules/metrics/src/test/java/org/apache/ignite/internal/metrics/MetricEntitiesTest.java
+++ b/modules/metrics/src/test/java/org/apache/ignite/internal/metrics/MetricEntitiesTest.java
@@ -37,8 +37,8 @@ import org.junit.jupiter.api.Test;
  */
 public class MetricEntitiesTest {
     private static final String SOURCE_NAME = "testSource";
-    private static final String SCALAR_METRIC_NAME = "testScalarMetric";
-    private static final String COMPOSITE_METRIC_NAME = "testCompositeMetric";
+    private static final String SCALAR_METRIC_NAME = "TestScalarMetric";
+    private static final String COMPOSITE_METRIC_NAME = "TestCompositeMetric";
     private static final long[] DISTRIBUTION_BOUNDS = new long[] { 10, 100, 1000 };
 
     @Test
diff --git a/modules/metrics/src/test/java/org/apache/ignite/internal/metrics/sources/JvmMetricSourceTest.java b/modules/metrics/src/test/java/org/apache/ignite/internal/metrics/sources/JvmMetricSourceTest.java
index 98ba6de4d4..814bcd3964 100644
--- a/modules/metrics/src/test/java/org/apache/ignite/internal/metrics/sources/JvmMetricSourceTest.java
+++ b/modules/metrics/src/test/java/org/apache/ignite/internal/metrics/sources/JvmMetricSourceTest.java
@@ -17,11 +17,12 @@
 
 package org.apache.ignite.internal.metrics.sources;
 
+import static java.util.concurrent.TimeUnit.SECONDS;
+import static org.awaitility.Awaitility.await;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.lang.management.MemoryMXBean;
 import java.lang.management.MemoryUsage;
-import java.util.concurrent.locks.LockSupport;
 import javax.management.ObjectName;
 import org.apache.ignite.internal.metrics.LongMetric;
 import org.junit.jupiter.api.Test;
@@ -36,15 +37,15 @@ public class JvmMetricSourceTest {
 
         var metricSet = metricSource.enable();
 
-        assertEquals(memoryBean.heapInit, metricSet.<LongMetric>get("memory.heap.init").value());
-        assertEquals(memoryBean.heapUsed, metricSet.<LongMetric>get("memory.heap.used").value());
-        assertEquals(memoryBean.heapCommitted, metricSet.<LongMetric>get("memory.heap.committed").value());
-        assertEquals(memoryBean.heapMax, metricSet.<LongMetric>get("memory.heap.max").value());
+        assertEquals(memoryBean.heapInit, metricSet.<LongMetric>get("memory.heap.Init").value());
+        assertEquals(memoryBean.heapUsed, metricSet.<LongMetric>get("memory.heap.Used").value());
+        assertEquals(memoryBean.heapCommitted, metricSet.<LongMetric>get("memory.heap.Committed").value());
+        assertEquals(memoryBean.heapMax, metricSet.<LongMetric>get("memory.heap.Max").value());
 
-        assertEquals(memoryBean.nonHeapInit, metricSet.<LongMetric>get("memory.non-heap.init").value());
-        assertEquals(memoryBean.nonHeapUsed, metricSet.<LongMetric>get("memory.non-heap.used").value());
-        assertEquals(memoryBean.nonHeapCommitted, metricSet.<LongMetric>get("memory.non-heap.committed").value());
-        assertEquals(memoryBean.nonHeapMax, metricSet.<LongMetric>get("memory.non-heap.max").value());
+        assertEquals(memoryBean.nonHeapInit, metricSet.<LongMetric>get("memory.non-heap.Init").value());
+        assertEquals(memoryBean.nonHeapUsed, metricSet.<LongMetric>get("memory.non-heap.Used").value());
+        assertEquals(memoryBean.nonHeapCommitted, metricSet.<LongMetric>get("memory.non-heap.Committed").value());
+        assertEquals(memoryBean.nonHeapMax, metricSet.<LongMetric>get("memory.non-heap.Max").value());
 
         memoryBean.heapUsed += 1;
         memoryBean.heapCommitted += 1;
@@ -53,19 +54,22 @@ public class JvmMetricSourceTest {
         memoryBean.nonHeapCommitted += 1;
 
         // wait for memory usage cache update
-        while (metricSet.<LongMetric>get("memory.heap.used").value() != memoryBean.heapUsed) {
-            LockSupport.parkNanos(100_000_000);
-        }
-
-        assertEquals(memoryBean.heapInit, metricSet.<LongMetric>get("memory.heap.init").value());
-        assertEquals(memoryBean.heapUsed, metricSet.<LongMetric>get("memory.heap.used").value());
-        assertEquals(memoryBean.heapCommitted, metricSet.<LongMetric>get("memory.heap.committed").value());
-        assertEquals(memoryBean.heapMax, metricSet.<LongMetric>get("memory.heap.max").value());
-
-        assertEquals(memoryBean.nonHeapInit, metricSet.<LongMetric>get("memory.non-heap.init").value());
-        assertEquals(memoryBean.nonHeapUsed, metricSet.<LongMetric>get("memory.non-heap.used").value());
-        assertEquals(memoryBean.nonHeapCommitted, metricSet.<LongMetric>get("memory.non-heap.committed").value());
-        assertEquals(memoryBean.nonHeapMax, metricSet.<LongMetric>get("memory.non-heap.max").value());
+        await()
+                .atMost(10, SECONDS)
+                .untilAsserted(() -> assertEquals(
+                        memoryBean.heapUsed,
+                        metricSet.<LongMetric>get("memory.heap.Used").value(),
+                        "The value of the memory.heap.Used metric was not updated in 10 sec."));
+
+        assertEquals(memoryBean.heapInit, metricSet.<LongMetric>get("memory.heap.Init").value());
+        assertEquals(memoryBean.heapUsed, metricSet.<LongMetric>get("memory.heap.Used").value());
+        assertEquals(memoryBean.heapCommitted, metricSet.<LongMetric>get("memory.heap.Committed").value());
+        assertEquals(memoryBean.heapMax, metricSet.<LongMetric>get("memory.heap.Max").value());
+
+        assertEquals(memoryBean.nonHeapInit, metricSet.<LongMetric>get("memory.non-heap.Init").value());
+        assertEquals(memoryBean.nonHeapUsed, metricSet.<LongMetric>get("memory.non-heap.Used").value());
+        assertEquals(memoryBean.nonHeapCommitted, metricSet.<LongMetric>get("memory.non-heap.Committed").value());
+        assertEquals(memoryBean.nonHeapMax, metricSet.<LongMetric>get("memory.non-heap.Max").value());
     }
 
     /**