This is an automated email from the ASF dual-hosted git repository.
ppa 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 480d5e000f IGNITE-21726 Enable all metrics by default (#3914)
480d5e000f is described below
commit 480d5e000f3aed322399b12916bc16240b956176
Author: Pavel Pereslegin <[email protected]>
AuthorDate: Fri Jun 14 17:00:09 2024 +0300
IGNITE-21726 Enable all metrics by default (#3914)
---
.../ignite/internal/cli/CliIntegrationTest.java | 12 ++++++++
.../cli/call/metric/ItEnabledMetricCallsTest.java | 20 ++++++++-----
.../cli/call/metric/ItMetricCallsTest.java | 34 +++++++++++++---------
.../metric/ItEnabledNodeMetricCommandTest.java | 19 ++++++++----
.../commands/metric/ItNodeMetricCommandTest.java | 8 ++---
.../internal/rest/ItGeneratedRestClientTest.java | 16 ++++------
.../ignite/client/handler/ClientHandlerModule.java | 2 +-
.../ClientConnectorConfigurationSchema.java | 2 +-
.../metastorage/impl/MetaStorageManagerImpl.java | 1 +
.../java/org/apache/ignite/internal/raft/Loza.java | 1 +
.../org/apache/ignite/internal/app/IgniteImpl.java | 9 ++++--
.../internal/sql/api/ItSqlClientMetricsTest.java | 26 ++++++++---------
.../internal/sql/engine/SqlQueryProcessor.java | 1 +
.../sql/engine/prepare/PrepareServiceImpl.java | 1 +
.../sql/metrics/PlanningCacheMetricsTest.java | 28 +++++++++---------
.../disaster/DisasterRecoveryManager.java | 1 +
16 files changed, 108 insertions(+), 73 deletions(-)
diff --git
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/CliIntegrationTest.java
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/CliIntegrationTest.java
index 0f657fccc9..95a6c61e18 100644
---
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/CliIntegrationTest.java
+++
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/CliIntegrationTest.java
@@ -44,6 +44,7 @@ import
org.apache.ignite.internal.cli.core.repl.registry.JdbcUrlRegistry;
import org.apache.ignite.internal.cli.core.repl.registry.NodeNameRegistry;
import org.apache.ignite.internal.cli.event.EventPublisher;
import org.apache.ignite.internal.cli.event.Events;
+import org.apache.ignite.rest.client.model.MetricSource;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
@@ -54,6 +55,17 @@ import picocli.CommandLine;
*/
@MicronautTest(rebuildContext = true)
public abstract class CliIntegrationTest extends
ClusterPerClassIntegrationTest {
+
+ public static final MetricSource[] ALL_METRIC_SOURCES = {
+ new MetricSource().name("jvm").enabled(true),
+ new MetricSource().name("os").enabled(true),
+ new MetricSource().name("raft").enabled(true),
+ new MetricSource().name("metastorage").enabled(true),
+ new MetricSource().name("client.handler").enabled(true),
+ new MetricSource().name("sql.client").enabled(true),
+ new MetricSource().name("sql.plan.cache").enabled(true)
+ };
+
/** Correct ignite jdbc url. */
protected static final String JDBC_URL = "jdbc:ignite:thin://127.0.0.1:" +
Cluster.BASE_CLIENT_PORT;
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 212730dac9..365377c68a 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
@@ -21,6 +21,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertAll;
import jakarta.inject.Inject;
+import java.util.Arrays;
import java.util.List;
import org.apache.ignite.internal.cli.CliIntegrationTest;
import org.apache.ignite.internal.cli.call.node.metric.NodeMetricSetListCall;
@@ -51,13 +52,18 @@ class ItEnabledMetricCallsTest extends CliIntegrationTest {
@BeforeAll
void beforeAll() {
- var inputEnable = NodeMetricSourceEnableCallInput.builder()
- .endpointUrl(NODE_URL)
- .srcName("jvm")
- .enable(true)
- .build();
-
- nodeMetricSourceEnableCall.execute(inputEnable);
+ // Disable all metrics except "jvm".
+
Arrays.stream(ALL_METRIC_SOURCES).map(MetricSource::getName).forEach(name -> {
+ if ("jvm".equals(name)) {
+ return;
+ }
+
+
nodeMetricSourceEnableCall.execute(NodeMetricSourceEnableCallInput.builder()
+ .endpointUrl(NODE_URL)
+ .srcName(name)
+ .enable(false)
+ .build());
+ });
}
@Test
diff --git
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/call/metric/ItMetricCallsTest.java
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/call/metric/ItMetricCallsTest.java
index 98b1d0f4a3..b9267a0cde 100644
---
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/call/metric/ItMetricCallsTest.java
+++
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/call/metric/ItMetricCallsTest.java
@@ -21,6 +21,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import jakarta.inject.Inject;
import java.util.List;
+import java.util.stream.Collectors;
import org.apache.ignite.internal.cli.CliIntegrationTest;
import org.apache.ignite.internal.cli.call.node.metric.NodeMetricSetListCall;
import
org.apache.ignite.internal.cli.call.node.metric.NodeMetricSourceEnableCall;
@@ -47,7 +48,7 @@ class ItMetricCallsTest extends CliIntegrationTest {
NodeMetricSourceEnableCall nodeMetricSourceEnableCall;
@Test
- @DisplayName("Should display disabled jvm node metric source when cluster
is up and running")
+ @DisplayName("Should display metric sources when cluster is up and
running")
void nodeMetricSourcesList() {
// When
CallOutput<List<MetricSource>> output =
nodeMetricSourceListCall.execute(urlInput);
@@ -55,28 +56,33 @@ class ItMetricCallsTest extends CliIntegrationTest {
// Then
assertThat(output.hasError()).isFalse();
- MetricSource[] expectedMetricSources = {
- new MetricSource().name("jvm").enabled(false),
- new MetricSource().name("client.handler").enabled(false),
- new MetricSource().name("sql.client").enabled(false),
- new MetricSource().name("sql.plan.cache").enabled(false)
- };
-
// And
- assertThat(output.body()).contains(expectedMetricSources);
+ assertThat(output.body()).contains(ALL_METRIC_SOURCES);
+ assertThat(output.body()).hasSize(ALL_METRIC_SOURCES.length);
}
@Test
- @DisplayName("Should display empty node metric sets list when cluster is
up and running")
- void nodeMetricSetsListEmpty() {
+ @DisplayName("Should display metric sets when cluster is up and running")
+ void nodeMetricSetsListContainsAllMetrics() {
// When
- CallOutput<List<MetricSet>> output =
nodeMetricSetListCall.execute(urlInput);
+ CallOutput<List<MetricSet>> metricSetsOutput =
nodeMetricSetListCall.execute(urlInput);
+ CallOutput<List<MetricSource>> metricSourcesOutput =
nodeMetricSourceListCall.execute(urlInput);
// Then
- assertThat(output.hasError()).isFalse();
+ assertThat(metricSetsOutput.hasError()).isFalse();
+ assertThat(metricSourcesOutput.hasError()).isFalse();
// And
- assertThat(output.body()).isEmpty();
+ List<String> allMetricsSource =
+
metricSourcesOutput.body().stream().map(MetricSource::getName).collect(Collectors.toList());
+ List<String> enabledMetrics =
+
metricSetsOutput.body().stream().map(MetricSet::getName).collect(Collectors.toList());
+
+ assertThat(allMetricsSource).isNotEmpty();
+ assertThat(enabledMetrics).isNotEmpty();
+
+ // Since all metrics are enabled by default, we must observe metric
sets from all metric sources.
+ assertThat(enabledMetrics).containsAll(allMetricsSource);
}
@Test
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 1084124654..aeb73ded5a 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
@@ -20,9 +20,11 @@ package org.apache.ignite.internal.cli.commands.metric;
import static org.junit.jupiter.api.Assertions.assertAll;
import jakarta.inject.Inject;
+import java.util.Arrays;
import org.apache.ignite.internal.cli.CliIntegrationTest;
import
org.apache.ignite.internal.cli.call.node.metric.NodeMetricSourceEnableCall;
import
org.apache.ignite.internal.cli.call.node.metric.NodeMetricSourceEnableCallInput;
+import org.apache.ignite.rest.client.model.MetricSource;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@@ -37,13 +39,18 @@ class ItEnabledNodeMetricCommandTest extends
CliIntegrationTest {
@BeforeAll
void beforeAll() {
- var inputEnable = NodeMetricSourceEnableCallInput.builder()
- .endpointUrl(NODE_URL)
- .srcName("jvm")
- .enable(true)
- .build();
+ // Disable all metrics except "jvm".
+
Arrays.stream(ALL_METRIC_SOURCES).map(MetricSource::getName).forEach(name -> {
+ if ("jvm".equals(name)) {
+ return;
+ }
- nodeMetricSourceEnableCall.execute(inputEnable);
+
nodeMetricSourceEnableCall.execute(NodeMetricSourceEnableCallInput.builder()
+ .endpointUrl(NODE_URL)
+ .srcName(name)
+ .enable(false)
+ .build());
+ });
}
@Test
diff --git
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/metric/ItNodeMetricCommandTest.java
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/metric/ItNodeMetricCommandTest.java
index ae7352a209..c55ebebab9 100644
---
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/metric/ItNodeMetricCommandTest.java
+++
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/metric/ItNodeMetricCommandTest.java
@@ -38,10 +38,10 @@ class ItNodeMetricCommandTest extends CliIntegrationTest {
this::assertExitCodeIsZero,
this::assertErrOutputIsEmpty,
() -> assertOutputContains("Set name\tEnabled" + NL),
- () -> assertOutputContains("jvm\tdisabled" + NL),
- () -> assertOutputContains("client.handler\tdisabled" + NL),
- () -> assertOutputContains("sql.client\tdisabled" + NL),
- () -> assertOutputContains("sql.plan.cache\tdisabled" + NL)
+ () -> assertOutputContains("jvm\tenabled" + NL),
+ () -> assertOutputContains("client.handler\tenabled" + NL),
+ () -> assertOutputContains("sql.client\tenabled" + NL),
+ () -> assertOutputContains("sql.plan.cache\tenabled" + NL)
);
}
diff --git
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/rest/ItGeneratedRestClientTest.java
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/rest/ItGeneratedRestClientTest.java
index 87850faae1..db5b738bae 100644
---
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/rest/ItGeneratedRestClientTest.java
+++
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/rest/ItGeneratedRestClientTest.java
@@ -53,8 +53,10 @@ import java.util.stream.IntStream;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgnitionManager;
import org.apache.ignite.InitParameters;
+import org.apache.ignite.internal.cli.CliIntegrationTest;
import org.apache.ignite.internal.cli.call.cluster.unit.DeployUnitClient;
import org.apache.ignite.internal.cli.core.rest.ApiClientFactory;
+import org.apache.ignite.internal.testframework.BaseIgniteAbstractTest;
import org.apache.ignite.internal.testframework.TestIgnitionManager;
import org.apache.ignite.internal.testframework.WorkDirectory;
import org.apache.ignite.internal.testframework.WorkDirectoryExtension;
@@ -71,7 +73,6 @@ import org.apache.ignite.rest.client.invoker.ApiException;
import org.apache.ignite.rest.client.model.ClusterState;
import org.apache.ignite.rest.client.model.DeployMode;
import org.apache.ignite.rest.client.model.InitCommand;
-import org.apache.ignite.rest.client.model.MetricSource;
import org.apache.ignite.rest.client.model.NodeState;
import org.apache.ignite.rest.client.model.Problem;
import org.apache.ignite.rest.client.model.UnitStatus;
@@ -90,7 +91,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
@ExtendWith(WorkDirectoryExtension.class)
@MicronautTest(rebuildContext = true)
@TestInstance(Lifecycle.PER_CLASS)
-public class ItGeneratedRestClientTest {
+public class ItGeneratedRestClientTest extends BaseIgniteAbstractTest {
/** Start network port for test nodes. */
private static final int BASE_PORT = 3344;
@@ -366,19 +367,12 @@ public class ItGeneratedRestClientTest {
@Test
void nodeMetricSourcesList() throws ApiException {
- MetricSource[] expectedMetricSources = {
- new MetricSource().name("jvm").enabled(false),
- new MetricSource().name("client.handler").enabled(false),
- new MetricSource().name("sql.client").enabled(false),
- new MetricSource().name("sql.plan.cache").enabled(false)
- };
-
- assertThat(nodeMetricApi.listNodeMetricSources(),
hasItems(expectedMetricSources));
+ assertThat(nodeMetricApi.listNodeMetricSources(),
hasItems(CliIntegrationTest.ALL_METRIC_SOURCES));
}
@Test
void nodeMetricSetsList() throws ApiException {
- assertThat(nodeMetricApi.listNodeMetricSets(), empty());
+ assertThat(nodeMetricApi.listNodeMetricSets(),
hasSize(CliIntegrationTest.ALL_METRIC_SOURCES.length));
}
@Test
diff --git
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java
index d7cebbd46b..2c8fa31e5f 100644
---
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java
+++
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java
@@ -209,7 +209,7 @@ public class ClientHandlerModule implements IgniteComponent
{
metricManager.registerSource(metrics);
if (configuration.metricsEnabled()) {
- metrics.enable();
+ metricManager.enable(metrics);
}
primaryReplicaTracker.start();
diff --git
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/configuration/ClientConnectorConfigurationSchema.java
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/configuration/ClientConnectorConfigurationSchema.java
index 7ef0a94351..d7a527ec05 100644
---
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/configuration/ClientConnectorConfigurationSchema.java
+++
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/configuration/ClientConnectorConfigurationSchema.java
@@ -61,5 +61,5 @@ public class ClientConnectorConfigurationSchema {
/** Metrics. */
@Value(hasDefault = true)
- public final boolean metricsEnabled = false;
+ public final boolean metricsEnabled = true;
}
diff --git
a/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/impl/MetaStorageManagerImpl.java
b/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/impl/MetaStorageManagerImpl.java
index 01f87b37a5..3345836569 100644
---
a/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/impl/MetaStorageManagerImpl.java
+++
b/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/impl/MetaStorageManagerImpl.java
@@ -426,6 +426,7 @@ public class MetaStorageManagerImpl implements
MetaStorageManager {
});
metricManager.registerSource(metaStorageMetricSource);
+ metricManager.enable(metaStorageMetricSource);
return nullCompletedFuture();
}
diff --git
a/modules/raft/src/main/java/org/apache/ignite/internal/raft/Loza.java
b/modules/raft/src/main/java/org/apache/ignite/internal/raft/Loza.java
index 51a0f00792..2ec15c6058 100644
--- a/modules/raft/src/main/java/org/apache/ignite/internal/raft/Loza.java
+++ b/modules/raft/src/main/java/org/apache/ignite/internal/raft/Loza.java
@@ -170,6 +170,7 @@ public class Loza implements RaftManager {
var stripeSource = new
RaftMetricSource(raftConfiguration.value().stripes(),
raftConfiguration.value().logStripesCount());
metricManager.registerSource(stripeSource);
+ metricManager.enable(stripeSource);
opts.setRaftMetrics(stripeSource);
opts.setRpcInstallSnapshotTimeout(raftConfig.rpcInstallSnapshotTimeout());
diff --git
a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
index 3dcb14104f..0ba39c72d4 100644
---
a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
+++
b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
@@ -1051,8 +1051,13 @@ public class IgniteImpl implements Ignite {
ComponentContext componentContext = new
ComponentContext(startupExecutor);
try {
- metricManager.registerSource(new JvmMetricSource());
- metricManager.registerSource(new OsMetricSource());
+ JvmMetricSource jvmMetrics = new JvmMetricSource();
+ metricManager.registerSource(jvmMetrics);
+ metricManager.enable(jvmMetrics);
+
+ OsMetricSource osMetrics = new OsMetricSource();
+ metricManager.registerSource(osMetrics);
+ metricManager.enable(osMetrics);
lifecycleManager.startComponent(longJvmPauseDetector,
componentContext);
diff --git
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlClientMetricsTest.java
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlClientMetricsTest.java
index d949604ad9..bc567656f2 100644
---
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlClientMetricsTest.java
+++
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlClientMetricsTest.java
@@ -44,25 +44,23 @@ import org.junit.jupiter.api.function.Executable;
public class ItSqlClientMetricsTest extends BaseSqlIntegrationTest {
private MetricManager metricManager;
private IgniteSql sql;
- private MetricSet clientMetricSet;
@BeforeAll
void beforeAll() {
metricManager = queryProcessor().metricManager();
sql = igniteSql();
- clientMetricSet = metricManager.enable(SqlClientMetricSource.NAME);
createAndPopulateTable();
}
@BeforeEach
void beforeEach() throws Exception {
- assertMetricValue(clientMetricSet,
SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
+ assertMetricValue(SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
}
@AfterEach
void afterEach() throws Exception {
- assertMetricValue(clientMetricSet,
SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
+ assertMetricValue(SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
}
@Override
@@ -75,7 +73,7 @@ public class ItSqlClientMetricsTest extends
BaseSqlIntegrationTest {
sql.execute(null, "SELECT * from " + DEFAULT_TABLE_NAME);
// default pageSize greater than number of rows in a table, thus
cursor will be closed immediately
- assertMetricValue(clientMetricSet,
SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
+ assertMetricValue(SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
Statement statement = sql.statementBuilder()
.query("SELECT * from " + DEFAULT_TABLE_NAME)
@@ -84,20 +82,20 @@ public class ItSqlClientMetricsTest extends
BaseSqlIntegrationTest {
ResultSet<SqlRow> rs1 = sql.execute(null, statement);
- assertMetricValue(clientMetricSet,
SqlClientMetricSource.METRIC_OPEN_CURSORS, 1);
+ assertMetricValue(SqlClientMetricSource.METRIC_OPEN_CURSORS, 1);
rs1.forEachRemaining(c -> {});
- assertMetricValue(clientMetricSet,
SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
+ assertMetricValue(SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
ResultSet<SqlRow> rs2 = sql.execute(null, statement);
ResultSet<SqlRow> rs3 = sql.execute(null, statement);
- assertMetricValue(clientMetricSet,
SqlClientMetricSource.METRIC_OPEN_CURSORS, 2);
+ assertMetricValue(SqlClientMetricSource.METRIC_OPEN_CURSORS, 2);
rs2.close();
- assertMetricValue(clientMetricSet,
SqlClientMetricSource.METRIC_OPEN_CURSORS, 1);
+ assertMetricValue(SqlClientMetricSource.METRIC_OPEN_CURSORS, 1);
rs3.close();
- assertMetricValue(clientMetricSet,
SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
+ assertMetricValue(SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
}
private static void assertInternalSqlException(String expectedText,
Executable executable) {
@@ -111,13 +109,15 @@ public class ItSqlClientMetricsTest extends
BaseSqlIntegrationTest {
Sql.STMT_PARSE_ERR,
"Failed to parse query",
() -> sql.execute(null, "SELECT * ODINfrom " +
DEFAULT_TABLE_NAME));
- assertMetricValue(clientMetricSet,
SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
+ assertMetricValue(SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
assertInternalSqlException("Column 'A' not found in any table", () ->
sql.execute(null, "SELECT a from " + DEFAULT_TABLE_NAME));
- assertMetricValue(clientMetricSet,
SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
+ assertMetricValue(SqlClientMetricSource.METRIC_OPEN_CURSORS, 0);
}
- private void assertMetricValue(MetricSet metricSet, String metricName,
Object expectedValue) throws InterruptedException {
+ private void assertMetricValue(String metricName, Object expectedValue)
throws InterruptedException {
+ MetricSet metricSet =
metricManager.metricSnapshot().get1().get(SqlClientMetricSource.NAME);
+
assertTrue(
waitForCondition(
() ->
expectedValue.toString().equals(metricSet.get(metricName).getValueAsString()),
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
index 3f52ec6837..8daf6897dd 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
@@ -287,6 +287,7 @@ public class SqlQueryProcessor implements QueryProcessor {
SqlClientMetricSource sqlClientMetricSource = new
SqlClientMetricSource(openedCursors::size);
metricManager.registerSource(sqlClientMetricSource);
+ metricManager.enable(sqlClientMetricSource);
var prepareSvc = registerService(PrepareServiceImpl.create(
nodeName,
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/PrepareServiceImpl.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/PrepareServiceImpl.java
index c527a59b35..e3519f1e2d 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/PrepareServiceImpl.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/PrepareServiceImpl.java
@@ -196,6 +196,7 @@ public class PrepareServiceImpl implements PrepareService {
planningPool.allowCoreThreadTimeOut(true);
metricManager.registerSource(sqlPlanCacheMetricSource);
+ metricManager.enable(sqlPlanCacheMetricSource);
IgnitePlanner.warmup();
}
diff --git
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/metrics/PlanningCacheMetricsTest.java
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/metrics/PlanningCacheMetricsTest.java
index d302eedff5..bf83880748 100644
---
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/metrics/PlanningCacheMetricsTest.java
+++
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/metrics/PlanningCacheMetricsTest.java
@@ -45,9 +45,10 @@ import org.junit.jupiter.api.Test;
*/
public class PlanningCacheMetricsTest extends AbstractPlannerTest {
+ private final MetricManager metricManager = new MetricManagerImpl();
+
@Test
public void plannerCacheStatisticsTest() throws Exception {
- MetricManager metricManager = new MetricManagerImpl();
// Run clean up tasks in the current thread, so no eviction event is
delayed.
CacheFactory cacheFactory = CaffeineCacheFactory.create(Runnable::run);
@@ -66,29 +67,27 @@ public class PlanningCacheMetricsTest extends
AbstractPlannerTest {
prepareService.start();
- MetricSet metricSet =
metricManager.enable(SqlPlanCacheMetricSource.NAME);
-
try {
- checkCachePlanStatistics("SELECT * FROM T", prepareService,
metricSet, 0, 2);
- checkCachePlanStatistics("SELECT * FROM T", prepareService,
metricSet, 1, 2);
+ checkCachePlanStatistics("SELECT * FROM T", prepareService, 0, 2);
+ checkCachePlanStatistics("SELECT * FROM T", prepareService, 1, 2);
- checkCachePlanStatistics("SELECT * FROM T t1, T t2",
prepareService, metricSet, 1, 4);
- checkCachePlanStatistics("SELECT * FROM T t1, T t2",
prepareService, metricSet, 2, 4);
- checkCachePlanStatistics("SELECT * FROM T t1, T t2",
prepareService, metricSet, 3, 4);
+ checkCachePlanStatistics("SELECT * FROM T t1, T t2",
prepareService, 1, 4);
+ checkCachePlanStatistics("SELECT * FROM T t1, T t2",
prepareService, 2, 4);
+ checkCachePlanStatistics("SELECT * FROM T t1, T t2",
prepareService, 3, 4);
- checkCachePlanStatistics("SELECT * FROM T", prepareService,
metricSet, 4, 4);
+ checkCachePlanStatistics("SELECT * FROM T", prepareService, 4, 4);
- checkCachePlanStatistics("SELECT * FROM T t1, T t2, T t3",
prepareService, metricSet, 4, 6);
+ checkCachePlanStatistics("SELECT * FROM T t1, T t2, T t3",
prepareService, 4, 6);
// Here, the very first plan has been evicted from cache.
- checkCachePlanStatistics("SELECT * FROM T", prepareService,
metricSet, 4, 8);
- checkCachePlanStatistics("SELECT * FROM T", prepareService,
metricSet, 5, 8);
+ checkCachePlanStatistics("SELECT * FROM T", prepareService, 4, 8);
+ checkCachePlanStatistics("SELECT * FROM T", prepareService, 5, 8);
} finally {
prepareService.stop();
}
}
- private void checkCachePlanStatistics(String qry, PrepareService
prepareService, MetricSet metricSet, int hits, int misses) {
+ private void checkCachePlanStatistics(String qry, PrepareService
prepareService, int hits, int misses) {
SqlOperationContext ctx = operationContext();
ParserService parserService = new ParserServiceImpl();
@@ -96,7 +95,8 @@ public class PlanningCacheMetricsTest extends
AbstractPlannerTest {
await(prepareService.prepareAsync(parsedResult, ctx));
- assertEquals("sql.plan.cache", metricSet.name());
+ MetricSet metricSet =
metricManager.metricSnapshot().get1().get(SqlPlanCacheMetricSource.NAME);
+
assertEquals(String.valueOf(hits),
metricSet.get("Hits").getValueAsString(), "Hits");
assertEquals(String.valueOf(misses),
metricSet.get("Misses").getValueAsString(), "Misses");
}
diff --git
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/disaster/DisasterRecoveryManager.java
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/disaster/DisasterRecoveryManager.java
index fbd4a97c2b..532a0cec5d 100644
---
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/disaster/DisasterRecoveryManager.java
+++
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/disaster/DisasterRecoveryManager.java
@@ -777,6 +777,7 @@ public class DisasterRecoveryManager implements
IgniteComponent, SystemViewProvi
assert previous == null : "tableId=" + tableDescriptor.id();
metricManager.registerSource(metricSource);
+ metricManager.enable(metricSource);
}
private void unregisterPartitionStatesMetricSource(int tableId) {