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 <slava.kopti...@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()); } /**