You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ni...@apache.org on 2021/04/13 06:11:49 UTC
[ignite] branch master updated: IGNITE-14428 Formalizes the names
of the metrics included in the metric registry (#8937)
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 1ce1a19 IGNITE-14428 Formalizes the names of the metrics included in the metric registry (#8937)
1ce1a19 is described below
commit 1ce1a19ff5869194608b7cfb17460163d266a67f
Author: Mikhail Petrov <32...@users.noreply.github.com>
AuthorDate: Tue Apr 13 09:11:15 2021 +0300
IGNITE-14428 Formalizes the names of the metrics included in the metric registry (#8937)
---
.../internal/processors/metric/MetricRegistry.java | 8 ++++++--
.../discovery/tcp/internal/TcpDiscoveryStatistics.java | 12 ++++++++----
.../apache/ignite/internal/metric/MetricsSelfTest.java | 14 ++++++++++++--
.../zk/internal/ZookeeperDiscoveryStatistics.java | 18 +++++++++++++-----
4 files changed, 39 insertions(+), 13 deletions(-)
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/MetricRegistry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/MetricRegistry.java
index 4604b40..36b3a1d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/MetricRegistry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/MetricRegistry.java
@@ -49,6 +49,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import static org.apache.ignite.internal.processors.metric.impl.HitRateMetric.DFLT_SIZE;
+import static org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName;
import static org.apache.ignite.internal.processors.metric.impl.MetricUtils.metricName;
import static org.apache.ignite.internal.util.lang.GridFunc.nonThrowableSupplier;
@@ -115,12 +116,15 @@ public class MetricRegistry implements ReadOnlyMetricRegistry {
}
/**
- * Register existing metrics in this group with the specified name.
+ * Register existing metrics in this group with the specified name. Note that the name of the metric must
+ * start with the name of the current registry it is registered into.
*
* @param metric Metric.
*/
public void register(Metric metric) {
- addMetric(metric.name(), metric);
+ assert fromFullName(metric.name()).get1().equals(regName);
+
+ addMetric(fromFullName(metric.name()).get2(), metric);
}
/**
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java
index 7cb52d1..27197a7 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java
@@ -30,6 +30,9 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage;
+import static org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.DISCO_METRICS;
+import static org.apache.ignite.internal.processors.metric.impl.MetricUtils.metricName;
+
/**
* Statistics for {@link org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi}.
*/
@@ -72,13 +75,14 @@ public class TcpDiscoveryStatistics {
/** */
public TcpDiscoveryStatistics() {
- joinedNodesCnt = new IntMetricImpl("JoinedNodes", "Joined nodes count");
+ joinedNodesCnt = new IntMetricImpl(metricName(DISCO_METRICS, "JoinedNodes"), "Joined nodes count");
- failedNodesCnt = new IntMetricImpl("FailedNodes", "Failed nodes count");
+ failedNodesCnt = new IntMetricImpl(metricName(DISCO_METRICS, "FailedNodes"), "Failed nodes count");
- leftNodesCnt = new IntMetricImpl("LeftNodes", "Left nodes count");
+ leftNodesCnt = new IntMetricImpl(metricName(DISCO_METRICS, "LeftNodes"), "Left nodes count");
- pendingMsgsRegistered = new IntMetricImpl("PendingMessagesRegistered", "Pending messages registered count");
+ pendingMsgsRegistered = new IntMetricImpl(metricName(DISCO_METRICS, "PendingMessagesRegistered"),
+ "Pending messages registered count");
}
/**
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/metric/MetricsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/metric/MetricsSelfTest.java
index 4ac203d..6a95bef 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/metric/MetricsSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/metric/MetricsSelfTest.java
@@ -57,6 +57,8 @@ import static java.util.Arrays.asList;
import static java.util.stream.Collectors.toSet;
import static org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName;
import static org.apache.ignite.internal.processors.metric.impl.MetricUtils.histogramBucketNames;
+import static org.apache.ignite.internal.processors.metric.impl.MetricUtils.metricName;
+import static org.apache.ignite.testframework.GridTestUtils.assertThrowsWithCause;
import static org.apache.ignite.testframework.GridTestUtils.runAsync;
import static org.junit.Assert.assertArrayEquals;
@@ -130,15 +132,23 @@ public class MetricsSelfTest extends GridCommonAbstractTest {
/** */
@Test
public void testRegister() throws Exception {
- AtomicLongMetric l = new AtomicLongMetric("rtest", "test");
+ String mName = "rtest";
+
+ AtomicLongMetric l = new AtomicLongMetric(metricName(mreg.name(), mName), "test");
mreg.register(l);
- assertEquals(l, mreg.findMetric("rtest"));
+ assertEquals(l, mreg.findMetric(mName));
l.reset();
assertEquals(0, l.value());
+
+ assertThrowsWithCause(() -> mreg.register(new AtomicLongMetric(mName, "")),
+ StringIndexOutOfBoundsException.class);
+
+ assertThrowsWithCause(() -> mreg.register(new AtomicLongMetric(metricName("mreg", mName), "")),
+ AssertionError.class);
}
/** */
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryStatistics.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryStatistics.java
index faf00d6..3226e77 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryStatistics.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryStatistics.java
@@ -21,24 +21,32 @@ import org.apache.ignite.internal.processors.metric.impl.AtomicLongMetric;
import org.apache.ignite.internal.processors.metric.impl.LongAdderMetric;
import org.apache.ignite.internal.util.typedef.internal.S;
+import static org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.DISCO_METRICS;
+import static org.apache.ignite.internal.processors.metric.impl.MetricUtils.metricName;
+
/**
* Zookeeper discovery statistics.
*/
public class ZookeeperDiscoveryStatistics {
/** */
- private final LongAdderMetric joinedNodesCnt = new LongAdderMetric("JoinedNodes", "Joined nodes count");
+ private final LongAdderMetric joinedNodesCnt = new LongAdderMetric(metricName(DISCO_METRICS, "JoinedNodes"),
+ "Joined nodes count");
/** */
- private final LongAdderMetric failedNodesCnt = new LongAdderMetric("FailedNodes", "Failed nodes count");
+ private final LongAdderMetric failedNodesCnt = new LongAdderMetric(metricName(DISCO_METRICS, "FailedNodes"),
+ "Failed nodes count");
/** */
- private final LongAdderMetric leftNodesCnt = new LongAdderMetric("LeftNodes", "Left nodes count");
+ private final LongAdderMetric leftNodesCnt = new LongAdderMetric(metricName(DISCO_METRICS, "LeftNodes"),
+ "Left nodes count");
/** Communication error count. */
- private final LongAdderMetric commErrCnt = new LongAdderMetric("CommunicationErrors", "Communication errors count");
+ private final LongAdderMetric commErrCnt = new LongAdderMetric(metricName(DISCO_METRICS, "CommunicationErrors"),
+ "Communication errors count");
/** Current topology version */
- private final AtomicLongMetric topVer = new AtomicLongMetric("CurrentTopologyVersion", "Current topology version");
+ private final AtomicLongMetric topVer = new AtomicLongMetric(metricName(DISCO_METRICS, "CurrentTopologyVersion"),
+ "Current topology version");
/**
* @param discoReg Discovery metric registry.