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 ad7151b30e2 IGNITE-18217 Enable JMX metrics exporter by default
(#10511)
ad7151b30e2 is described below
commit ad7151b30e2ed4f947e44dba602b2f021132271c
Author: Vladimir Steshin <[email protected]>
AuthorDate: Wed Feb 8 18:31:34 2023 +0300
IGNITE-18217 Enable JMX metrics exporter by default (#10511)
---
.../apache/ignite/snippets/ConfiguringMetrics.java | 20 ++++-
.../monitoring-metrics/new-metrics-system.adoc | 19 ++++-
.../org/apache/ignite/cdc/CdcConfiguration.java | 7 +-
.../ignite/configuration/IgniteConfiguration.java | 7 +-
.../org/apache/ignite/internal/IgnitionEx.java | 15 ++--
.../org/apache/ignite/internal/cdc/CdcMain.java | 7 ++
.../spi/metric/jmx/JmxMetricExporterSpi.java | 9 +-
.../org/apache/ignite/cdc/AbstractCdcTest.java | 2 -
.../org/apache/ignite/internal/GridMBeansTest.java | 3 -
.../ignite/internal/metric/JmxExporterSpiTest.java | 99 +++++++++++++++++++++-
.../GridTransactionsSystemUserTimeMetricsTest.java | 3 -
.../snapshot/IgniteSnapshotMXBeanTest.java | 4 +-
.../processors/service/GridServiceMetricsTest.java | 12 ---
.../snapshot/IgniteClusterSnapshotMetricsTest.java | 4 +-
14 files changed, 167 insertions(+), 44 deletions(-)
diff --git
a/docs/_docs/code-snippets/java/src/main/java/org/apache/ignite/snippets/ConfiguringMetrics.java
b/docs/_docs/code-snippets/java/src/main/java/org/apache/ignite/snippets/ConfiguringMetrics.java
index 058815a827d..cf00ec552d1 100644
---
a/docs/_docs/code-snippets/java/src/main/java/org/apache/ignite/snippets/ConfiguringMetrics.java
+++
b/docs/_docs/code-snippets/java/src/main/java/org/apache/ignite/snippets/ConfiguringMetrics.java
@@ -22,8 +22,10 @@ import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.DataRegionConfiguration;
import org.apache.ignite.configuration.DataStorageConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
import org.apache.ignite.spi.metric.log.LogExporterSpi;
+import org.apache.ignite.spi.metric.noop.NoopMetricExporterSpi;
import org.junit.jupiter.api.Test;
public class ConfiguringMetrics {
@@ -105,7 +107,8 @@ public class ConfiguringMetrics {
//tag::new-metric-framework[]
IgniteConfiguration cfg = new IgniteConfiguration();
- cfg.setMetricExporterSpi(new JmxMetricExporterSpi());
+ // Change metric exporter.
+ cfg.setMetricExporterSpi(new LogExporterSpi());
Ignite ignite = Ignition.start(cfg);
//end::new-metric-framework[]
@@ -119,6 +122,7 @@ public class ConfiguringMetrics {
//tag::metrics-filter[]
IgniteConfiguration cfg = new IgniteConfiguration();
+ // Create configured JMX metrics exporter.
JmxMetricExporterSpi jmxExporter = new JmxMetricExporterSpi();
//export cache metrics only
@@ -130,6 +134,20 @@ public class ConfiguringMetrics {
Ignition.start(cfg).close();
}
+ @Test
+ void disableDefaultJmxExporter() {
+
+ //tag::disable-default-jmx-exporter[]
+ IgniteConfiguration cfg = new IgniteConfiguration();
+
+ // Disable default JMX metrics exporter. Also could be disabled with
the system property
+ // '-DIGNITE_MBEANS_DISABLED=true' or by setting other metrics
exporter.
+ cfg.setMetricExporterSpi(new NoopMetricExporterSpi());
+ //end::disable-default-jmx-exporter[]
+
+ Ignition.start(cfg).close();
+ }
+
@Test
void logExporter() {
diff --git a/docs/_docs/monitoring-metrics/new-metrics-system.adoc
b/docs/_docs/monitoring-metrics/new-metrics-system.adoc
index de4a83b158d..e300ebbe3e1 100644
--- a/docs/_docs/monitoring-metrics/new-metrics-system.adoc
+++ b/docs/_docs/monitoring-metrics/new-metrics-system.adoc
@@ -34,7 +34,7 @@ Each exporter always gives access to all available metrics.
Ignite includes the following exporters:
-* JMX
+* JMX (default)
* SQL Views
* Log files
* OpenCensus
@@ -97,6 +97,23 @@ tab:C#/.NET[]
tab:C++[unsupported]
--
+[NOTE]
+====
+This exporter is enabled by default if nothing is set with
`IgniteConfiguration.setMetricExporterSpi(...)`.
+====
+
+[tabs]
+--
+tab:Java[]
+[source, java]
+----
+include::{javaFile}[tags=disable-default-jmx-exporter, indent=0]
+----
+
+tab:C#/.NET[]
+
+tab:C++[unsupported]
+--
=== SQL View
diff --git
a/modules/core/src/main/java/org/apache/ignite/cdc/CdcConfiguration.java
b/modules/core/src/main/java/org/apache/ignite/cdc/CdcConfiguration.java
index f2f1873562e..e6f676e68d8 100644
--- a/modules/core/src/main/java/org/apache/ignite/cdc/CdcConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/cdc/CdcConfiguration.java
@@ -21,6 +21,7 @@ import
org.apache.ignite.configuration.DataStorageConfiguration;
import org.apache.ignite.internal.cdc.CdcMain;
import org.apache.ignite.lang.IgniteExperimental;
import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* This class defines {@link CdcMain} runtime configuration.
@@ -71,19 +72,21 @@ public class CdcConfiguration {
}
/**
- * Sets fully configured instances of {@link MetricExporterSpi}.
+ * Sets fully configured instances of {@link MetricExporterSpi}. {@link
JmxMetricExporterSpi} is used by default.
*
* @param metricExporterSpi Fully configured instances of {@link
MetricExporterSpi}.
* @see CdcConfiguration#getMetricExporterSpi()
+ * @see JmxMetricExporterSpi
*/
public void setMetricExporterSpi(MetricExporterSpi... metricExporterSpi) {
this.metricExporterSpi = metricExporterSpi;
}
/**
- * Gets fully configured metric SPI implementations.
+ * Gets fully configured metric SPI implementations. {@link
JmxMetricExporterSpi} is used by default.
*
* @return Metric exporter SPI implementations.
+ * @see JmxMetricExporterSpi
*/
public MetricExporterSpi[] getMetricExporterSpi() {
return metricExporterSpi;
diff --git
a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
index 3372a79cd34..5316883163d 100644
---
a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
+++
b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
@@ -84,6 +84,7 @@ import org.apache.ignite.spi.indexing.IndexingSpi;
import org.apache.ignite.spi.loadbalancing.LoadBalancingSpi;
import
org.apache.ignite.spi.loadbalancing.roundrobin.RoundRobinLoadBalancingSpi;
import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
import org.apache.ignite.spi.systemview.SystemViewExporterSpi;
import org.apache.ignite.spi.tracing.TracingSpi;
import org.apache.ignite.ssl.SslContextFactory;
@@ -2437,11 +2438,12 @@ public class IgniteConfiguration {
}
/**
- * Sets fully configured instances of {@link MetricExporterSpi}.
+ * Sets fully configured instances of {@link MetricExporterSpi}. {@link
JmxMetricExporterSpi} is used by default.
*
* @param metricExporterSpi Fully configured instances of {@link
MetricExporterSpi}.
* @return {@code this} for chaining.
* @see IgniteConfiguration#getMetricExporterSpi()
+ * @see JmxMetricExporterSpi
*/
public IgniteConfiguration setMetricExporterSpi(MetricExporterSpi...
metricExporterSpi) {
this.metricExporterSpi = metricExporterSpi;
@@ -2463,9 +2465,10 @@ public class IgniteConfiguration {
}
/**
- * Gets fully configured metric SPI implementations.
+ * Gets fully configured metric SPI implementations. {@link
JmxMetricExporterSpi} is used by default.
*
* @return Metric exporter SPI implementations.
+ * @see JmxMetricExporterSpi
*/
public MetricExporterSpi[] getMetricExporterSpi() {
return metricExporterSpi;
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index cb47fe8ce42..147ac29a201 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -124,6 +124,7 @@ import
org.apache.ignite.spi.failover.always.AlwaysFailoverSpi;
import org.apache.ignite.spi.indexing.noop.NoopIndexingSpi;
import org.apache.ignite.spi.loadbalancing.LoadBalancingSpi;
import
org.apache.ignite.spi.loadbalancing.roundrobin.RoundRobinLoadBalancingSpi;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
import org.apache.ignite.spi.metric.noop.NoopMetricExporterSpi;
import org.apache.ignite.spi.tracing.NoopTracingSpi;
import org.apache.ignite.thread.IgniteThread;
@@ -151,6 +152,7 @@ import static
org.apache.ignite.configuration.MemoryConfiguration.DFLT_MEMORY_PO
import static
org.apache.ignite.configuration.MemoryConfiguration.DFLT_MEM_PLC_DEFAULT_NAME;
import static org.apache.ignite.internal.IgniteComponentType.SPRING;
import static org.apache.ignite.internal.util.IgniteUtils.EMPTY_STRS;
+import static
org.apache.ignite.internal.util.IgniteUtils.IGNITE_MBEANS_DISABLED;
import static
org.apache.ignite.plugin.segmentation.SegmentationPolicy.RESTART_JVM;
/**
@@ -2073,8 +2075,11 @@ public class IgnitionEx {
if (cfg.getEncryptionSpi() == null)
cfg.setEncryptionSpi(new NoopEncryptionSpi());
- if (F.isEmpty(cfg.getMetricExporterSpi()))
- cfg.setMetricExporterSpi(new NoopMetricExporterSpi());
+ if (F.isEmpty(cfg.getMetricExporterSpi())) {
+ cfg.setMetricExporterSpi(IGNITE_MBEANS_DISABLED
+ ? new NoopMetricExporterSpi()
+ : new JmxMetricExporterSpi());
+ }
if (cfg.getTracingSpi() == null)
cfg.setTracingSpi(new NoopTracingSpi());
@@ -2412,7 +2417,7 @@ public class IgnitionEx {
* @throws IgniteCheckedException If registration failed.
*/
private void registerFactoryMbean(MBeanServer srv) throws
IgniteCheckedException {
- if (U.IGNITE_MBEANS_DISABLED)
+ if (IGNITE_MBEANS_DISABLED)
return;
assert srv != null;
@@ -2467,7 +2472,7 @@ public class IgnitionEx {
* Unregister delegate Mbean instance for {@link Ignition}.
*/
private void unregisterFactoryMBean() {
- if (U.IGNITE_MBEANS_DISABLED)
+ if (IGNITE_MBEANS_DISABLED)
return;
synchronized (mbeans) {
@@ -2597,7 +2602,7 @@ public class IgnitionEx {
/** Initialize default mbean server. */
public static void initializeDefaultMBeanServer(IgniteConfiguration myCfg)
{
- if (myCfg.getMBeanServer() == null && !U.IGNITE_MBEANS_DISABLED)
+ if (myCfg.getMBeanServer() == null && !IGNITE_MBEANS_DISABLED)
myCfg.setMBeanServer(ManagementFactory.getPlatformMBeanServer());
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/cdc/CdcMain.java
b/modules/core/src/main/java/org/apache/ignite/internal/cdc/CdcMain.java
index b8a1bd76790..fb82e310a50 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/cdc/CdcMain.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/cdc/CdcMain.java
@@ -67,6 +67,8 @@ import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.platform.PlatformType;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
+import org.apache.ignite.spi.metric.noop.NoopMetricExporterSpi;
import org.apache.ignite.startup.cmdline.CdcCommandLineStartup;
import static org.apache.ignite.internal.IgniteKernal.NL;
@@ -355,6 +357,11 @@ public class CdcMain implements Runnable {
if (!F.isEmpty(cdcCfg.getMetricExporterSpi()))
cfg.setMetricExporterSpi(cdcCfg.getMetricExporterSpi());
+ else {
+ cfg.setMetricExporterSpi(U.IGNITE_MBEANS_DISABLED
+ ? new NoopMetricExporterSpi()
+ : new JmxMetricExporterSpi());
+ }
initializeDefaultMBeanServer(cfg);
diff --git
a/modules/core/src/main/java/org/apache/ignite/spi/metric/jmx/JmxMetricExporterSpi.java
b/modules/core/src/main/java/org/apache/ignite/spi/metric/jmx/JmxMetricExporterSpi.java
index 687aad722e6..3a21d1b057d 100644
---
a/modules/core/src/main/java/org/apache/ignite/spi/metric/jmx/JmxMetricExporterSpi.java
+++
b/modules/core/src/main/java/org/apache/ignite/spi/metric/jmx/JmxMetricExporterSpi.java
@@ -26,6 +26,7 @@ import javax.management.MBeanServer;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import org.apache.ignite.Ignite;
+import org.apache.ignite.IgniteSystemProperties;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiException;
@@ -39,8 +40,8 @@ import static
org.apache.ignite.internal.util.IgniteUtils.makeMBeanName;
/**
* <h2>Overview</h2>
*
- * Ignite provides this built-in implementation of {@link MetricExporterSpi}
it exports metrics as JMX beans. This
- * implementation works by `pull` architecture which means that after the
Ignite node start it should respond to
+ * Ignite provides this default built-in implementation of {@link
MetricExporterSpi} it exports metrics as JMX beans.
+ * This implementation works by `pull` architecture which means that after the
Ignite node start it should respond to
* incoming user request.
*
* <h2>Java Example</h2>
@@ -54,8 +55,7 @@ import static
org.apache.ignite.internal.util.IgniteUtils.makeMBeanName;
* .setDefaultDataRegionConfiguration(
* new DataRegionConfiguration()
* .setMaxSize(12_000_000)))
- * .setIgniteInstanceName("jmxExampleInstanceName")
- * .setMetricExporterSpi(new JmxMetricExporterSpi()));
+ * .setIgniteInstanceName("jmxExampleInstanceName"));
*
* String igniteInstanceName = ignite.name();
* String metricGroup = "io";
@@ -91,6 +91,7 @@ import static
org.apache.ignite.internal.util.IgniteUtils.makeMBeanName;
*
* @see ReadOnlyMetricManager
* @see ReadOnlyMetricRegistry
+ * @see IgniteSystemProperties#IGNITE_MBEANS_DISABLED
*/
public class JmxMetricExporterSpi extends IgniteSpiAdapter implements
MetricExporterSpi {
/** Metric registry. */
diff --git
a/modules/core/src/test/java/org/apache/ignite/cdc/AbstractCdcTest.java
b/modules/core/src/test/java/org/apache/ignite/cdc/AbstractCdcTest.java
index c37d1aa40cd..6222fb2a68f 100644
--- a/modules/core/src/test/java/org/apache/ignite/cdc/AbstractCdcTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/cdc/AbstractCdcTest.java
@@ -50,7 +50,6 @@ import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.spi.metric.LongMetric;
import org.apache.ignite.spi.metric.MetricExporterSpi;
import org.apache.ignite.spi.metric.ObjectMetric;
-import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
@@ -116,7 +115,6 @@ public abstract class AbstractCdcTest extends
GridCommonAbstractTest {
cdcCfg.setConsumer(cnsmr);
cdcCfg.setKeepBinary(keepBinary());
- cdcCfg.setMetricExporterSpi(new JmxMetricExporterSpi());
return new CdcMain(cfg, null, cdcCfg) {
@Override protected CdcConsumerState createState(Path stateDir) {
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/GridMBeansTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/GridMBeansTest.java
index 68ab5bf67fa..c35c130f2a4 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/GridMBeansTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/GridMBeansTest.java
@@ -22,7 +22,6 @@ import org.apache.ignite.configuration.ExecutorConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.util.IgniteUtils;
import org.apache.ignite.internal.util.typedef.G;
-import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.junit.Test;
@@ -54,8 +53,6 @@ public class GridMBeansTest extends GridCommonAbstractTest {
cfg.setExecutorConfiguration(new
ExecutorConfiguration(CUSTOM_EXECUTOR_0),
new ExecutorConfiguration(CUSTOM_EXECUTOR_1));
- cfg.setMetricExporterSpi(new JmxMetricExporterSpi());
-
return cfg;
}
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxExporterSpiTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxExporterSpiTest.java
index 4d447b16870..7bd0b0b421d 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxExporterSpiTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxExporterSpiTest.java
@@ -44,6 +44,7 @@ import javax.management.MBeanParameterInfo;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularDataSupport;
import com.google.common.collect.Iterators;
+import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.IgniteException;
import org.apache.ignite.IgniteJdbcThinDriver;
@@ -79,11 +80,17 @@ import
org.apache.ignite.internal.processors.odbc.jdbc.JdbcConnectionContext;
import org.apache.ignite.internal.processors.service.DummyService;
import org.apache.ignite.internal.util.StripedExecutor;
import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.G;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.services.ServiceConfiguration;
+import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
+import
org.apache.ignite.spi.communication.tcp.internal.TcpCommunicationConfigInitializer;
+import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
+import org.apache.ignite.spi.metric.noop.NoopMetricExporterSpi;
import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.transactions.Transaction;
+import org.jetbrains.annotations.Nullable;
import org.junit.Test;
import static java.util.Arrays.stream;
@@ -134,6 +141,9 @@ public class JmxExporterSpiTest extends
AbstractExporterSpiTest {
/** */
private static final String REGISTRY_NAME = "test_registry";
+ /** */
+ private boolean presetJmxMetricExporter = true;
+
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String
igniteInstanceName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
@@ -143,11 +153,13 @@ public class JmxExporterSpiTest extends
AbstractExporterSpiTest {
new DataRegionConfiguration()
.setPersistenceEnabled(true)));
- JmxMetricExporterSpi jmxSpi = new JmxMetricExporterSpi();
+ if (presetJmxMetricExporter) {
+ JmxMetricExporterSpi jmxSpi = new JmxMetricExporterSpi();
- jmxSpi.setExportFilter(mgrp ->
!mgrp.name().startsWith(FILTERED_PREFIX));
+ jmxSpi.setExportFilter(mgrp ->
!mgrp.name().startsWith(FILTERED_PREFIX));
- cfg.setMetricExporterSpi(jmxSpi);
+ cfg.setMetricExporterSpi(jmxSpi);
+ }
return cfg;
}
@@ -176,6 +188,62 @@ public class JmxExporterSpiTest extends
AbstractExporterSpiTest {
cleanPersistenceDir();
}
+ /** */
+ @Test
+ public void testJmxMetricsExporterIsEnabledByDefault() throws Exception {
+ presetJmxMetricExporter = false;
+
+ IgniteConfiguration cfg = startDedicatedNode(null);
+
+ try {
+ assertTrue(!F.isEmpty(cfg.getMetricExporterSpi()));
+ assertTrue(cfg.getMetricExporterSpi().length == 1);
+ assertTrue(cfg.getMetricExporterSpi()[0] instanceof
JmxMetricExporterSpi);
+ }
+ finally {
+ stopGrid(cfg.getIgniteInstanceName());
+ }
+ }
+
+ /** */
+ @Test
+ public void testJmxMetricsExporterIsNotEnabledByDefault() throws Exception
{
+ boolean beansDisabled = U.IGNITE_MBEANS_DISABLED;
+
+ try {
+ U.IGNITE_MBEANS_DISABLED = true;
+
+ presetJmxMetricExporter = false;
+
+ IgniteConfiguration cfg = startDedicatedNode(null);
+
+ try {
+ assertTrue(stream(cfg.getMetricExporterSpi()).noneMatch(spi ->
spi instanceof JmxMetricExporterSpi));
+ }
+ finally {
+ stopGrid(cfg.getIgniteInstanceName());
+ }
+ }
+ finally {
+ U.IGNITE_MBEANS_DISABLED = beansDisabled;
+ }
+ }
+
+ /** */
+ @Test
+ public void testJmxMetricsExporterIsDisabled() throws Exception {
+ IgniteConfiguration cfg =
startDedicatedNode(getConfiguration(getTestIgniteInstanceName(G.allGrids().size()))
+ .setMetricExporterSpi(new NoopMetricExporterSpi()));
+
+ try {
+ assertTrue(F.isEmpty(cfg.getMetricExporterSpi()) ||
+ stream(cfg.getMetricExporterSpi()).noneMatch(spi -> spi
instanceof JmxMetricExporterSpi));
+ }
+ finally {
+ stopGrid(cfg.getIgniteInstanceName());
+ }
+ }
+
/** */
@Test
public void testSysJmxMetrics() throws Exception {
@@ -985,6 +1053,31 @@ public class JmxExporterSpiTest extends
AbstractExporterSpiTest {
"data-streamer");
}
+ /**
+ * Starts dedicated node.
+ *
+ * @param cfg Ignite Configuration.
+ * @return Actual configuration of the node started.
+ */
+ private IgniteConfiguration startDedicatedNode(@Nullable
IgniteConfiguration cfg) throws Exception {
+ if (cfg == null)
+ cfg =
getConfiguration(getTestIgniteInstanceName(G.allGrids().size()));
+
+ cfg.setDiscoverySpi(new TcpDiscoverySpi());
+
+
((TcpCommunicationConfigInitializer)cfg.getCommunicationSpi()).setLocalPort(TcpCommunicationSpi.DFLT_PORT
+
+ TcpCommunicationSpi.DFLT_PORT_RANGE + 1);
+
+ int clusterSize = ignite.cluster().nodes().size();
+
+ Ignite ig = startGrid(cfg);
+
+ assertEquals(1, ig.cluster().nodes().size());
+ assertEquals(clusterSize, ignite.cluster().nodes().size());
+
+ return ig.configuration();
+ }
+
/**
* Checks striped executor system view.
*
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridTransactionsSystemUserTimeMetricsTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridTransactionsSystemUserTimeMetricsTest.java
index 14beac0adfc..0b9994d449e 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridTransactionsSystemUserTimeMetricsTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridTransactionsSystemUserTimeMetricsTest.java
@@ -49,7 +49,6 @@ import org.apache.ignite.mxbean.TransactionsMXBean;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
-import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.ListeningTestLogger;
import org.apache.ignite.testframework.LogListener;
@@ -171,8 +170,6 @@ public class GridTransactionsSystemUserTimeMetricsTest
extends GridCommonAbstrac
cfg.setCacheConfiguration(ccfg);
}
- cfg.setMetricExporterSpi(new JmxMetricExporterSpi());
-
cfg.setCommunicationSpi(new TestCommunicationSpi());
return cfg;
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteSnapshotMXBeanTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteSnapshotMXBeanTest.java
index 837038b31c8..01e25c398b2 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteSnapshotMXBeanTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteSnapshotMXBeanTest.java
@@ -33,7 +33,6 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.G;
import org.apache.ignite.lang.IgniteFuture;
import org.apache.ignite.mxbean.SnapshotMXBean;
-import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
import org.apache.ignite.testframework.GridTestUtils;
import org.junit.Test;
@@ -54,8 +53,7 @@ public class IgniteSnapshotMXBeanTest extends
AbstractSnapshotSelfTest {
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String
igniteInstanceName) throws Exception {
return super.getConfiguration(igniteInstanceName)
- .setCommunicationSpi(new TestRecordingCommunicationSpi())
- .setMetricExporterSpi(new JmxMetricExporterSpi());
+ .setCommunicationSpi(new TestRecordingCommunicationSpi());
}
/** @throws Exception If fails. */
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceMetricsTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceMetricsTest.java
index ddbbc497dae..5816ceeb292 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceMetricsTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceMetricsTest.java
@@ -23,7 +23,6 @@ import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import com.google.common.collect.Iterables;
-import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.processors.metric.GridMetricManager;
import org.apache.ignite.internal.processors.service.inner.MyService;
@@ -34,7 +33,6 @@ import org.apache.ignite.services.ServiceConfiguration;
import org.apache.ignite.spi.metric.HistogramMetric;
import org.apache.ignite.spi.metric.Metric;
import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
-import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.junit.Test;
@@ -63,16 +61,6 @@ public class GridServiceMetricsTest extends
GridCommonAbstractTest {
super.afterTest();
}
- /** {@inheritDoc} */
- @Override protected IgniteConfiguration getConfiguration(String
igniteInstanceName) throws Exception {
- IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
-
- // JMX metrics exposition to see actual namings and placement of the
metrics.
- cfg.setMetricExporterSpi(new JmxMetricExporterSpi());
-
- return cfg;
- }
-
/** Checks service metrics are enabled / disabled properly. */
@Test
public void testServiceMetricsEnabledDisabled() throws Exception {
diff --git
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteClusterSnapshotMetricsTest.java
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteClusterSnapshotMetricsTest.java
index b2bad4e8b3b..20fee765358 100644
---
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteClusterSnapshotMetricsTest.java
+++
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteClusterSnapshotMetricsTest.java
@@ -54,7 +54,6 @@ import org.apache.ignite.internal.util.typedef.G;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteFuture;
import org.apache.ignite.spi.metric.LongMetric;
-import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
import org.apache.ignite.testframework.GridTestUtils;
import org.junit.After;
import org.junit.Before;
@@ -78,8 +77,7 @@ public class IgniteClusterSnapshotMetricsTest extends
IgniteClusterSnapshotResto
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String
igniteInstanceName) throws Exception {
- IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName)
- .setMetricExporterSpi(new JmxMetricExporterSpi());
+ IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
if (getTestIgniteInstanceIndex(igniteInstanceName) < DEDICATED_CNT) {
cfg.setWorkDirectory(Paths.get(U.defaultWorkDirectory(),