You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by mm...@apache.org on 2021/02/25 00:29:21 UTC
[ignite] branch master updated: IGNITE-14166 Fix javadocs related
to the metrics registry API (#8796)
This is an automated email from the ASF dual-hosted git repository.
mmuzaf 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 92e213b IGNITE-14166 Fix javadocs related to the metrics registry API (#8796)
92e213b is described below
commit 92e213bb429a14a827dc5e2af970aadc4079012c
Author: Maxim Muzafarov <mm...@apache.org>
AuthorDate: Thu Feb 25 03:29:02 2021 +0300
IGNITE-14166 Fix javadocs related to the metrics registry API (#8796)
---
.../java/org/apache/ignite/DataRegionMetrics.java | 12 +++-
.../apache/ignite/DataRegionMetricsAdapter.java | 12 +++-
.../java/org/apache/ignite/DataStorageMetrics.java | 12 +++-
.../apache/ignite/DataStorageMetricsAdapter.java | 12 +++-
.../src/main/java/org/apache/ignite/Ignite.java | 9 ++-
.../org/apache/ignite/IgniteSystemProperties.java | 4 +-
.../main/java/org/apache/ignite/MemoryMetrics.java | 3 +-
.../java/org/apache/ignite/PersistenceMetrics.java | 3 +-
.../internal/TransactionMetricsMxBeanImpl.java | 13 +++-
.../cache/CacheGroupMetricsMXBeanImpl.java | 12 +++-
.../cache/CacheLocalMetricsMXBeanImpl.java | 12 +++-
.../persistence/DataRegionMetricsMXBeanImpl.java | 12 +++-
.../persistence/DataStorageMetricsSnapshot.java | 12 +++-
.../processors/jobmetrics/GridJobMetrics.java | 12 +++-
.../jobmetrics/GridJobMetricsProcessor.java | 12 +++-
.../jobmetrics/GridJobMetricsSnapshot.java | 12 +++-
.../ignite/mxbean/CacheGroupMetricsMXBean.java | 10 ++-
.../apache/ignite/mxbean/CacheMetricsMXBean.java | 12 +++-
.../ignite/mxbean/DataRegionMetricsMXBean.java | 12 +++-
.../ignite/mxbean/DataStorageMetricsMXBean.java | 12 +++-
.../org/apache/ignite/mxbean/IgniteMXBean.java | 74 +++++++++++-----------
.../org/apache/ignite/mxbean/ThreadPoolMXBean.java | 12 +++-
.../ignite/mxbean/TransactionMetricsMxBean.java | 12 +++-
.../org/apache/ignite/spi/IgniteSpiContext.java | 9 +--
.../ignite/spi/metric/MetricExporterSpi.java | 11 +++-
.../ignite/spi/metric/ReadOnlyMetricRegistry.java | 32 ++++++++++
.../spi/metric/jmx/JmxMetricExporterSpi.java | 55 +++++++++++++++-
27 files changed, 324 insertions(+), 91 deletions(-)
diff --git a/modules/core/src/main/java/org/apache/ignite/DataRegionMetrics.java b/modules/core/src/main/java/org/apache/ignite/DataRegionMetrics.java
index 40ffbde..58fd536 100644
--- a/modules/core/src/main/java/org/apache/ignite/DataRegionMetrics.java
+++ b/modules/core/src/main/java/org/apache/ignite/DataRegionMetrics.java
@@ -19,8 +19,11 @@ package org.apache.ignite;
import org.apache.ignite.configuration.DataRegionConfiguration;
import org.apache.ignite.configuration.DataStorageConfiguration;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
import org.apache.ignite.mxbean.DataRegionMetricsMXBean;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* This interface provides page memory related metrics of a specific Apache Ignite node. The overall page memory
@@ -47,7 +50,12 @@ import org.apache.ignite.mxbean.DataRegionMetricsMXBean;
* {@link DataRegionConfiguration#setMetricsEnabled(boolean)} configuration property or
* {@link DataRegionMetricsMXBean#enableMetrics()} method of a respective JMX bean.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=io.dataregion.{data_region_name}" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
public interface DataRegionMetrics {
diff --git a/modules/core/src/main/java/org/apache/ignite/DataRegionMetricsAdapter.java b/modules/core/src/main/java/org/apache/ignite/DataRegionMetricsAdapter.java
index 85f32c5..2e6536f 100644
--- a/modules/core/src/main/java/org/apache/ignite/DataRegionMetricsAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/DataRegionMetricsAdapter.java
@@ -18,12 +18,20 @@ package org.apache.ignite;
import java.util.ArrayList;
import java.util.Collection;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* Converter class from {@link DataRegionMetrics} to legacy {@link MemoryMetrics}.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=io.dataregion.{data_region_name}" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
public class DataRegionMetricsAdapter implements MemoryMetrics {
diff --git a/modules/core/src/main/java/org/apache/ignite/DataStorageMetrics.java b/modules/core/src/main/java/org/apache/ignite/DataStorageMetrics.java
index e90d255..b54d2b3 100644
--- a/modules/core/src/main/java/org/apache/ignite/DataStorageMetrics.java
+++ b/modules/core/src/main/java/org/apache/ignite/DataStorageMetrics.java
@@ -17,12 +17,20 @@
package org.apache.ignite;
import org.apache.ignite.configuration.DataStorageConfiguration;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* Data storage metrics are used to obtain statistics on persistent store and whole data storage.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=io.datastorage" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
public interface DataStorageMetrics {
diff --git a/modules/core/src/main/java/org/apache/ignite/DataStorageMetricsAdapter.java b/modules/core/src/main/java/org/apache/ignite/DataStorageMetricsAdapter.java
index 09c25f1..a70d275 100644
--- a/modules/core/src/main/java/org/apache/ignite/DataStorageMetricsAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/DataStorageMetricsAdapter.java
@@ -16,12 +16,20 @@
*/
package org.apache.ignite;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* Converter class from {@link DataStorageMetrics} to legacy {@link PersistenceMetrics}.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=io.datastorage" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
public class DataStorageMetricsAdapter implements PersistenceMetrics {
diff --git a/modules/core/src/main/java/org/apache/ignite/Ignite.java b/modules/core/src/main/java/org/apache/ignite/Ignite.java
index 62586e8..32c88d0 100644
--- a/modules/core/src/main/java/org/apache/ignite/Ignite.java
+++ b/modules/core/src/main/java/org/apache/ignite/Ignite.java
@@ -36,6 +36,7 @@ import org.apache.ignite.lang.IgniteExperimental;
import org.apache.ignite.lang.IgniteProductVersion;
import org.apache.ignite.plugin.IgnitePlugin;
import org.apache.ignite.plugin.PluginNotFoundException;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
import org.apache.ignite.spi.tracing.TracingConfigurationManager;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -682,21 +683,21 @@ public interface Ignite extends AutoCloseable {
/**
* @return Collection of {@link MemoryMetrics} snapshots.
- * @deprecated Use {@link #dataRegionMetrics()} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=io.dataregion.{data_region_name}" instead.
*/
@Deprecated
public Collection<MemoryMetrics> memoryMetrics();
/**
* @return {@link MemoryMetrics} snapshot or {@code null} if no memory region is configured under specified name.
- * @deprecated Use {@link #dataRegionMetrics(String)} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=io.dataregion.{data_region_name}" instead.
*/
@Deprecated
@Nullable public MemoryMetrics memoryMetrics(String memPlcName);
/**
* @return {@link PersistenceMetrics} snapshot.
- * @deprecated Use {@link #dataStorageMetrics()} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=io.dataregion.{data_region_name}" instead.
*/
@Deprecated
public PersistenceMetrics persistentStoreMetrics();
@@ -708,6 +709,7 @@ public interface Ignite extends AutoCloseable {
* configured with {@link DataRegionConfiguration configuration} on this Ignite node instance.
*
* @return Collection of {@link DataRegionMetrics} snapshots.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=io.dataregion.{data_region_name}" instead.
*/
public Collection<DataRegionMetrics> dataRegionMetrics();
@@ -725,6 +727,7 @@ public interface Ignite extends AutoCloseable {
/**
* @return {@link DataStorageMetrics} snapshot.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=io.datastorage" instead.
*/
public DataStorageMetrics dataStorageMetrics();
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
index 6daca67..780269e 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
@@ -36,13 +36,13 @@ import org.apache.ignite.internal.client.GridClient;
import org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller;
import org.apache.ignite.internal.processors.cache.persistence.checkpoint.CheckpointEntry;
import org.apache.ignite.internal.processors.metastorage.DistributedMetaStorage;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
import org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsWriter;
import org.apache.ignite.internal.processors.rest.GridRestCommand;
import org.apache.ignite.internal.util.GridLogThrottle;
import org.apache.ignite.lang.IgniteExperimental;
import org.apache.ignite.mxbean.MetricsMxBean;
import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
import org.apache.ignite.stream.StreamTransformer;
import org.jetbrains.annotations.Nullable;
@@ -493,7 +493,7 @@ public final class IgniteSystemProperties {
* concurrency level for structure holding job metrics snapshots.
* Default value is {@code 64}.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=compute.jobs" instead.
*/
@Deprecated
@SystemProperty(value = "Job metrics processor property defining concurrency level " +
diff --git a/modules/core/src/main/java/org/apache/ignite/MemoryMetrics.java b/modules/core/src/main/java/org/apache/ignite/MemoryMetrics.java
index e0c22ed..775cf8c 100644
--- a/modules/core/src/main/java/org/apache/ignite/MemoryMetrics.java
+++ b/modules/core/src/main/java/org/apache/ignite/MemoryMetrics.java
@@ -20,6 +20,7 @@ package org.apache.ignite;
import org.apache.ignite.configuration.MemoryConfiguration;
import org.apache.ignite.configuration.MemoryPolicyConfiguration;
import org.apache.ignite.mxbean.DataRegionMetricsMXBean;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
/**
* This interface provides page memory related metrics of a specific Apache Ignite node. The overall page memory
@@ -46,7 +47,7 @@ import org.apache.ignite.mxbean.DataRegionMetricsMXBean;
* {@link MemoryPolicyConfiguration#setMetricsEnabled(boolean)} configuration property or
* {@link DataRegionMetricsMXBean#enableMetrics()} method of a respective JMX bean.
*
- * @deprecated Use {@link DataRegionMetrics} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=io.dataregion.{data_region_name}" instead.
*/
@Deprecated
public interface MemoryMetrics {
diff --git a/modules/core/src/main/java/org/apache/ignite/PersistenceMetrics.java b/modules/core/src/main/java/org/apache/ignite/PersistenceMetrics.java
index 3b96b11..d01f42e 100644
--- a/modules/core/src/main/java/org/apache/ignite/PersistenceMetrics.java
+++ b/modules/core/src/main/java/org/apache/ignite/PersistenceMetrics.java
@@ -17,11 +17,12 @@
package org.apache.ignite;
import org.apache.ignite.configuration.PersistentStoreConfiguration;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
/**
* Persistence metrics used to obtain statistics on persistence.
*
- * @deprecated Use {@link DataStorageMetrics} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=io.datastorage" instead.
*/
@Deprecated
public interface PersistenceMetrics {
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/TransactionMetricsMxBeanImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/TransactionMetricsMxBeanImpl.java
index e1deb50..f7b3f7e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/TransactionMetricsMxBeanImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/TransactionMetricsMxBeanImpl.java
@@ -18,14 +18,22 @@
package org.apache.ignite.internal;
import java.util.Map;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
import org.apache.ignite.mxbean.TransactionMetricsMxBean;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
import org.apache.ignite.transactions.TransactionMetrics;
/**
* Transactions MXBean implementation.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link JmxMetricExporterSpi} with "name=\"tx\"" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
public class TransactionMetricsMxBeanImpl implements TransactionMetricsMxBean {
@@ -105,4 +113,3 @@ public class TransactionMetricsMxBeanImpl implements TransactionMetricsMxBean {
}
}
-
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupMetricsMXBeanImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupMetricsMXBeanImpl.java
index efb32d4..a25f25a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupMetricsMXBeanImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupMetricsMXBeanImpl.java
@@ -23,13 +23,21 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.ignite.cache.CacheMode;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
import org.apache.ignite.mxbean.CacheGroupMetricsMXBean;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* Management bean that provides access to {@link CacheGroupContext}.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link JmxMetricExporterSpi} with "name=cacheGroups.{cache_group_name}" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
public class CacheGroupMetricsMXBeanImpl implements CacheGroupMetricsMXBean {
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLocalMetricsMXBeanImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLocalMetricsMXBeanImpl.java
index ea2f81b..f9e525e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLocalMetricsMXBeanImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLocalMetricsMXBeanImpl.java
@@ -20,13 +20,21 @@ package org.apache.ignite.internal.processors.cache;
import java.util.Collections;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
import org.apache.ignite.mxbean.CacheMetricsMXBean;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* Management bean that provides access to {@link IgniteCache IgniteCache}.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link JmxMetricExporterSpi} with "name=cache.{cache_name}" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
public class CacheLocalMetricsMXBeanImpl implements CacheMetricsMXBean {
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/DataRegionMetricsMXBeanImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/DataRegionMetricsMXBeanImpl.java
index 2559a7b..e470a88 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/DataRegionMetricsMXBeanImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/DataRegionMetricsMXBeanImpl.java
@@ -18,13 +18,21 @@ package org.apache.ignite.internal.processors.cache.persistence;
import org.apache.ignite.DataRegionMetrics;
import org.apache.ignite.configuration.DataRegionConfiguration;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
import org.apache.ignite.mxbean.DataRegionMetricsMXBean;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* MBean to expose {@link DataRegionMetrics} through JMX interface.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link JmxMetricExporterSpi} with "name=io.dataregion.{data_region_name}" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
class DataRegionMetricsMXBeanImpl implements DataRegionMetricsMXBean {
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/DataStorageMetricsSnapshot.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/DataStorageMetricsSnapshot.java
index ddb5705..a698508 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/DataStorageMetricsSnapshot.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/DataStorageMetricsSnapshot.java
@@ -17,11 +17,19 @@
package org.apache.ignite.internal.processors.cache.persistence;
import org.apache.ignite.DataStorageMetrics;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=io.datastorage" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
public class DataStorageMetricsSnapshot implements DataStorageMetrics {
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/jobmetrics/GridJobMetrics.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/jobmetrics/GridJobMetrics.java
index ac8df4c..0978cf0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/jobmetrics/GridJobMetrics.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/jobmetrics/GridJobMetrics.java
@@ -17,13 +17,21 @@
package org.apache.ignite.internal.processors.jobmetrics;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* Job metrics.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=compute.jobs" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
public class GridJobMetrics {
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/jobmetrics/GridJobMetricsProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/jobmetrics/GridJobMetricsProcessor.java
index e2ed9e6..6ef44b9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/jobmetrics/GridJobMetricsProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/jobmetrics/GridJobMetricsProcessor.java
@@ -23,17 +23,25 @@ import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteSystemProperties;
import org.apache.ignite.internal.GridKernalContext;
import org.apache.ignite.internal.processors.GridProcessorAdapter;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteReducer;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_JOBS_METRICS_CONCURRENCY_LEVEL;
/**
* Processes job metrics.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=compute.jobs" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
public class GridJobMetricsProcessor extends GridProcessorAdapter {
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/jobmetrics/GridJobMetricsSnapshot.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/jobmetrics/GridJobMetricsSnapshot.java
index 3747ffa..cba64c4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/jobmetrics/GridJobMetricsSnapshot.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/jobmetrics/GridJobMetricsSnapshot.java
@@ -17,14 +17,22 @@
package org.apache.ignite.internal.processors.jobmetrics;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* Job metrics snapshot.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=compute.jobs" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
public class GridJobMetricsSnapshot {
diff --git a/modules/core/src/main/java/org/apache/ignite/mxbean/CacheGroupMetricsMXBean.java b/modules/core/src/main/java/org/apache/ignite/mxbean/CacheGroupMetricsMXBean.java
index 2e78129..1275083 100644
--- a/modules/core/src/main/java/org/apache/ignite/mxbean/CacheGroupMetricsMXBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/mxbean/CacheGroupMetricsMXBean.java
@@ -21,12 +21,18 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.ignite.internal.processors.cache.CacheGroupContext;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* This interface defines JMX view on {@link CacheGroupContext}.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link JmxMetricExporterSpi} with "name=cacheGroups.{cache_group_name}" instead.
+ *
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
@MXBeanDescription("MBean that provides access to cache group descriptor.")
diff --git a/modules/core/src/main/java/org/apache/ignite/mxbean/CacheMetricsMXBean.java b/modules/core/src/main/java/org/apache/ignite/mxbean/CacheMetricsMXBean.java
index 1db959f..bfcf38a 100644
--- a/modules/core/src/main/java/org/apache/ignite/mxbean/CacheMetricsMXBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/mxbean/CacheMetricsMXBean.java
@@ -21,12 +21,20 @@ import javax.cache.management.CacheMXBean;
import javax.cache.management.CacheStatisticsMXBean;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.cache.CacheMetrics;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* This interface defines JMX view on {@link IgniteCache}.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link JmxMetricExporterSpi} with "name=cache.{cache_name}" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
@MXBeanDescription("MBean that provides access to cache descriptor.")
diff --git a/modules/core/src/main/java/org/apache/ignite/mxbean/DataRegionMetricsMXBean.java b/modules/core/src/main/java/org/apache/ignite/mxbean/DataRegionMetricsMXBean.java
index fe5f386..57b706b 100644
--- a/modules/core/src/main/java/org/apache/ignite/mxbean/DataRegionMetricsMXBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/mxbean/DataRegionMetricsMXBean.java
@@ -18,12 +18,20 @@ package org.apache.ignite.mxbean;
import org.apache.ignite.DataRegionMetrics;
import org.apache.ignite.configuration.DataRegionConfiguration;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* This interface defines a JMX view on {@link DataRegionMetrics}.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link JmxMetricExporterSpi} with "name=io.dataregion.{data_region_name}" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
@MXBeanDescription("MBean that provides access to DataRegionMetrics of a local Apache Ignite node.")
diff --git a/modules/core/src/main/java/org/apache/ignite/mxbean/DataStorageMetricsMXBean.java b/modules/core/src/main/java/org/apache/ignite/mxbean/DataStorageMetricsMXBean.java
index be79ec8..3b44828 100644
--- a/modules/core/src/main/java/org/apache/ignite/mxbean/DataStorageMetricsMXBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/mxbean/DataStorageMetricsMXBean.java
@@ -19,12 +19,20 @@ package org.apache.ignite.mxbean;
import org.apache.ignite.DataStorageMetrics;
import org.apache.ignite.configuration.DataStorageConfiguration;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* An MX bean allowing to monitor and tune persistence metrics.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link JmxMetricExporterSpi} with "name=io.datastorage" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
public interface DataStorageMetricsMXBean extends DataStorageMetrics {
diff --git a/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMXBean.java b/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMXBean.java
index 412c8e5..7f001ae 100644
--- a/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMXBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMXBean.java
@@ -22,7 +22,7 @@ import java.util.Map;
import java.util.UUID;
import javax.management.JMException;
import org.apache.ignite.cluster.ClusterState;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
/**
* This interface defines JMX view on kernal.
@@ -152,7 +152,7 @@ public interface IgniteMXBean {
* Gets string presentation of the version.
*
* @return String presentation of the version.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.fullVersion" instead.
*/
@Deprecated
@MXBeanDescription(FULL_VER_DESC)
@@ -162,7 +162,7 @@ public interface IgniteMXBean {
* Gets copyright statement for Ignite product.
*
* @return Copyright statement for Ignite product.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.copyright" instead.
*/
@Deprecated
@MXBeanDescription(COPYRIGHT_DESC)
@@ -172,7 +172,7 @@ public interface IgniteMXBean {
* Gets string presentation of the kernal start timestamp.
*
* @return String presentation of the kernal start timestamp.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.startTimestampFormatted" instead.
*/
@Deprecated
@MXBeanDescription(START_TIMESTAMP_DESC)
@@ -182,7 +182,7 @@ public interface IgniteMXBean {
* Gets rebalance enabled flag.
*
* @return Rebalance enabled flag.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.isRebalanceEnabled" instead.
*/
@Deprecated
@MXBeanDescription(IS_REBALANCE_ENABLED_DESC)
@@ -205,7 +205,7 @@ public interface IgniteMXBean {
* Gets string presentation of up-time for the kernal.
*
* @return String presentation of up-time for the kernal.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.uptimeFormatted" instead.
*/
@Deprecated
@MXBeanDescription(UPTIME_FORMATTED_DESC)
@@ -215,7 +215,7 @@ public interface IgniteMXBean {
* Get start timestamp of the kernal.
*
* @return Start timestamp of the kernal.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.startTimestamp" instead.
*/
@Deprecated
@MXBeanDescription(START_TIMESTAMP_DESC)
@@ -225,7 +225,7 @@ public interface IgniteMXBean {
* Gets up-time of the kernal.
*
* @return Up-time of the kernal.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.upTime" instead.
*/
@Deprecated
@MXBeanDescription(UPTIME_DESC)
@@ -235,7 +235,7 @@ public interface IgniteMXBean {
* Gets long JVM pauses count.
*
* @return Long JVM pauses count.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.longJVMPausesCount" instead.
*/
@Deprecated
@MXBeanDescription(LONG_JVM_PAUSES_CNT_DESC)
@@ -245,7 +245,7 @@ public interface IgniteMXBean {
* Gets long JVM pauses total duration.
*
* @return Long JVM pauses total duration.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.longJVMPausesTotalDuration" instead.
*/
@Deprecated
@MXBeanDescription(LONG_JVM_PAUSES_TOTAL_DURATION_DESC)
@@ -255,7 +255,7 @@ public interface IgniteMXBean {
* Gets long JVM pause last events.
*
* @return Long JVM pause last events.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.longJVMPauseLastEvents" instead.
*/
@Deprecated
@MXBeanDescription(LONG_JVM_PAUSE_LAST_EVENTS_DESC)
@@ -269,7 +269,7 @@ public interface IgniteMXBean {
* used for SPI implementation.
*
* @return User defined attributes for this node.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.userAttributesFormatted" instead.
*/
@Deprecated
@MXBeanDescription(USER_ATTRS_FORMATTED_DESC)
@@ -279,7 +279,7 @@ public interface IgniteMXBean {
* Gets a formatted instance of logger that is in grid.
*
* @return Logger that is used in grid.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.gridLoggerFormatted" instead.
*/
@Deprecated
@MXBeanDescription(GRID_LOG_FORMATTED_DESC)
@@ -289,7 +289,7 @@ public interface IgniteMXBean {
* Gets a formatted instance of fully configured thread pool that is used in grid.
*
* @return Thread pool implementation that is used in grid.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.executorServiceFormatted" instead.
*/
@Deprecated
@MXBeanDescription(EXECUTOR_SRVC_FORMATTED_DESC)
@@ -299,7 +299,7 @@ public interface IgniteMXBean {
* Gets Ignite installation home folder.
*
* @return Ignite installation home.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.igniteHome" instead.
*/
@Deprecated
@MXBeanDescription(IGNITE_HOME_DESC)
@@ -309,7 +309,7 @@ public interface IgniteMXBean {
* Gets a formatted instance of MBean server instance.
*
* @return MBean server instance.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.mBeanServerFormatted" instead.
*/
@Deprecated
@MXBeanDescription(MBEAN_SERVER_FORMATTED_DESC)
@@ -319,7 +319,7 @@ public interface IgniteMXBean {
* Unique identifier for this node within grid.
*
* @return Unique identifier for this node within grid.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.localNodeId" instead.
*/
@Deprecated
@MXBeanDescription(LOC_NODE_ID_DESC)
@@ -336,7 +336,7 @@ public interface IgniteMXBean {
*
* @return {@code true} if peer class loading is enabled, {@code false}
* otherwise.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.isPeerClassLoadingEnabled" instead.
*/
@Deprecated
@MXBeanDescription(IS_PEER_CLS_LOADING_ENABLED_DESC)
@@ -348,7 +348,7 @@ public interface IgniteMXBean {
*
* @return {@code toString()} representation of all lifecycle beans configured
* with Ignite.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.lifecycleBeansFormatted" instead.
*/
@Deprecated
@MXBeanDescription(LIFECYCLE_BEANS_FORMATTED_DESC)
@@ -401,7 +401,7 @@ public interface IgniteMXBean {
* Checks if Ignite grid is active. If Ignite grid is not active return {@code False}.
*
* @return {@code True} if grid is active. {@code False} If grid is not active.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.active" instead.
*/
@Deprecated
@MXBeanDescription(ACTIVE_DESC)
@@ -458,7 +458,7 @@ public interface IgniteMXBean {
* Gets a formatted instance of configured discovery SPI implementation.
*
* @return Grid discovery SPI implementation.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.discoverySpiFormatted" instead.
*/
@Deprecated
@MXBeanDescription(DISCOVERY_SPI_FORMATTED_DESC)
@@ -468,7 +468,7 @@ public interface IgniteMXBean {
* Gets a formatted instance of fully configured SPI communication implementation.
*
* @return Grid communication SPI implementation.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.communicationSpiFormatted" instead.
*/
@Deprecated
@MXBeanDescription(COMMUNICATION_SPI_FORMATTED_DESC)
@@ -478,7 +478,7 @@ public interface IgniteMXBean {
* Gets a formatted instance of fully configured deployment SPI implementation.
*
* @return Grid deployment SPI implementation.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.deploymentSpiFormatted" instead.
*/
@Deprecated
@MXBeanDescription(DEPLOYMENT_SPI_FORMATTED_DESC)
@@ -488,7 +488,7 @@ public interface IgniteMXBean {
* Gets a formatted instance of configured checkpoint SPI implementation.
*
* @return Grid checkpoint SPI implementation.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.checkpointSpiFormatted" instead.
*/
@Deprecated
@MXBeanDescription(CHECKPOINT_SPI_FORMATTED_DESC)
@@ -498,7 +498,7 @@ public interface IgniteMXBean {
* Gets a formatted instance of configured collision SPI implementations.
*
* @return Grid collision SPI implementations.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.collisionSpiFormatted" instead.
*/
@Deprecated
@MXBeanDescription(COLLISION_SPI_FORMATTED_DESC)
@@ -508,7 +508,7 @@ public interface IgniteMXBean {
* Gets a formatted instance of fully configured event SPI implementation.
*
* @return Grid event SPI implementation.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.eventStorageSpiFormatted" instead.
*/
@Deprecated
@MXBeanDescription(EVT_STORAGE_SPI_FORMATTED_DESC)
@@ -518,7 +518,7 @@ public interface IgniteMXBean {
* Gets a formatted instance of fully configured failover SPI implementations.
*
* @return Grid failover SPI implementations.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.failoverSpiFormatted" instead.
*/
@Deprecated
@MXBeanDescription(FAILOVER_SPI_FORMATTED_DESC)
@@ -528,7 +528,7 @@ public interface IgniteMXBean {
* Gets a formatted instance of fully configured load balancing SPI implementations.
*
* @return Grid load balancing SPI implementations.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.loadBalancingSpiFormatted" instead.
*/
@Deprecated
@MXBeanDescription(LOAD_BALANCING_SPI_FORMATTED_DESC)
@@ -538,7 +538,7 @@ public interface IgniteMXBean {
* Gets OS information.
*
* @return OS information.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.osInformation" instead.
*/
@Deprecated
@MXBeanDescription(OS_INFO_DESC)
@@ -548,7 +548,7 @@ public interface IgniteMXBean {
* Gets JDK information.
*
* @return JDK information.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.jdkInformation" instead.
*/
@Deprecated
@MXBeanDescription(JDK_INFO_DESC)
@@ -558,7 +558,7 @@ public interface IgniteMXBean {
* Gets OS user.
*
* @return OS user name.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.osUser" instead.
*/
@Deprecated
@MXBeanDescription(OS_USER_DESC)
@@ -568,7 +568,7 @@ public interface IgniteMXBean {
* Gets VM name.
*
* @return VM name.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.VmName" instead.
*/
@Deprecated
@MXBeanDescription(VM_NAME_DESC)
@@ -578,7 +578,7 @@ public interface IgniteMXBean {
* Gets optional kernal instance name. It can be {@code null}.
*
* @return Optional kernal instance name.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.InstanceName" instead.
*/
@Deprecated
@MXBeanDescription(INSTANCE_NAME_DESC)
@@ -599,7 +599,7 @@ public interface IgniteMXBean {
/**
* Gets a formatted properties of current coordinator.
* @return String representation of current coordinator node.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.currentCoordinatorFormatted" instead.
*/
@Deprecated
@MXBeanDescription(CUR_COORDINATOR_FORMATTED_DESC)
@@ -609,7 +609,7 @@ public interface IgniteMXBean {
* Gets a flag whether local node is in baseline. Returns false if baseline topology is not established.
*
* @return Return a baseline flag.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.isNodeInBaseline" instead.
*/
@Deprecated
@MXBeanDescription(IS_NODE_BASELINE_DESC)
@@ -655,7 +655,7 @@ public interface IgniteMXBean {
*
* @return String representation of current cluster state.
* See {@link ClusterState}.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.clusterState" instead.
*/
@Deprecated
@MXBeanDescription(CLUSTER_STATE_DESC)
@@ -678,7 +678,7 @@ public interface IgniteMXBean {
* Gets last cluster state change operation.
*
* @return Unix time of last cluster state change operation.
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link ReadOnlyMetricRegistry} with "name=ignite.lastClusterStateChangeTime" instead.
*/
@Deprecated
@MXBeanDescription(LAST_CLUSTER_STATE_CHANGE_TIME_DESC)
diff --git a/modules/core/src/main/java/org/apache/ignite/mxbean/ThreadPoolMXBean.java b/modules/core/src/main/java/org/apache/ignite/mxbean/ThreadPoolMXBean.java
index daeaa4f..ef6b7e66 100644
--- a/modules/core/src/main/java/org/apache/ignite/mxbean/ThreadPoolMXBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/mxbean/ThreadPoolMXBean.java
@@ -17,12 +17,20 @@
package org.apache.ignite.mxbean;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* MBean that provides access to information about executor service.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link JmxMetricExporterSpi} with "name=threadPools.{thread_pool_name}" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@MXBeanDescription("MBean that provides access to information about executor service.")
@Deprecated
diff --git a/modules/core/src/main/java/org/apache/ignite/mxbean/TransactionMetricsMxBean.java b/modules/core/src/main/java/org/apache/ignite/mxbean/TransactionMetricsMxBean.java
index ce16aed..d2b677b 100644
--- a/modules/core/src/main/java/org/apache/ignite/mxbean/TransactionMetricsMxBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/mxbean/TransactionMetricsMxBean.java
@@ -18,13 +18,21 @@
package org.apache.ignite.mxbean;
import java.util.Map;
-import org.apache.ignite.internal.processors.metric.GridMetricManager;
+import org.apache.ignite.spi.metric.MetricExporterSpi;
+import org.apache.ignite.spi.metric.ReadOnlyMetricManager;
+import org.apache.ignite.spi.metric.ReadOnlyMetricRegistry;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
import org.apache.ignite.transactions.TransactionMetrics;
/**
* Transactions MXBean interface.
*
- * @deprecated Use {@link GridMetricManager} instead.
+ * @deprecated Check the {@link JmxMetricExporterSpi} with "name=\"tx\"" instead.
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
*/
@Deprecated
@MXBeanDescription("MBean that provides access to Ignite transactions.")
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
index 9c08aca..e835b10 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
@@ -29,7 +29,6 @@ import org.apache.ignite.events.Event;
import org.apache.ignite.internal.managers.communication.GridMessageListener;
import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
import org.apache.ignite.lang.IgniteBiPredicate;
-import org.apache.ignite.lang.IgniteExperimental;
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
import org.apache.ignite.plugin.extensions.communication.MessageFormatter;
import org.apache.ignite.plugin.security.SecuritySubject;
@@ -381,12 +380,11 @@ public interface IgniteSpiContext {
public void resolveCommunicationFailure(ClusterNode node, Exception err);
/**
- * Returns exisiting or newly created instance of metric registry with given name.
+ * Returns existing or newly created instance of metric registry with given name.
*
* @param name Metric registry name.
- * @return Exisiting or newly created instance of metric registry.
+ * @return Existing or newly created instance of metric registry.
*/
- @IgniteExperimental
public ReadOnlyMetricRegistry getOrCreateMetricRegistry(String name);
/**
@@ -394,7 +392,6 @@ public interface IgniteSpiContext {
*
* @param name Metric registry name.
*/
- @IgniteExperimental
public void removeMetricRegistry(String name);
/**
@@ -402,7 +399,6 @@ public interface IgniteSpiContext {
*
* @return All registered metric registries.
*/
- @IgniteExperimental
public Iterable<ReadOnlyMetricRegistry> metricRegistries();
/**
@@ -410,6 +406,5 @@ public interface IgniteSpiContext {
*
* @param lsnr Listener.
*/
- @IgniteExperimental
public void addMetricRegistryCreationListener(Consumer<ReadOnlyMetricRegistry> lsnr);
}
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/metric/MetricExporterSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/metric/MetricExporterSpi.java
index edd4ff3..21be6c5 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/metric/MetricExporterSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/metric/MetricExporterSpi.java
@@ -19,7 +19,6 @@ package org.apache.ignite.spi.metric;
import java.util.function.Predicate;
import org.apache.ignite.spi.IgniteSpi;
-import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
/**
* Exporter of metric information to the external recipient.
@@ -29,6 +28,15 @@ import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
* So after start SPI should respond to some incoming request.
* HTTP servlet or JMX bean are good examples of expected implementations.
*
+ * <p>
+ * Ignite provides the following {@code MetricExporterSpi} implementation:
+ * <ul>
+ * <li>{@link org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi}</li>
+ * <li>{@link org.apache.ignite.spi.metric.log.LogExporterSpi}</li>
+ * <li>{@code org.apache.ignite.internal.processors.metric.sql.SqlViewMetricExporterSpi}</li>
+ * <li>{@code org.apache.ignite.spi.metric.opencensus.OpenCensusMetricExporterSpi}</li>
+ * </ul>
+ *
* @see ReadOnlyMetricManager
* @see ReadOnlyMetricRegistry
* @see Metric
@@ -37,7 +45,6 @@ import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
* @see IntMetric
* @see LongMetric
* @see ObjectMetric
- * @see JmxMetricExporterSpi
*/
public interface MetricExporterSpi extends IgniteSpi {
/**
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/metric/ReadOnlyMetricRegistry.java b/modules/core/src/main/java/org/apache/ignite/spi/metric/ReadOnlyMetricRegistry.java
index 377f0c9..9965965 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/metric/ReadOnlyMetricRegistry.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/metric/ReadOnlyMetricRegistry.java
@@ -17,10 +17,42 @@
package org.apache.ignite.spi.metric;
+import org.apache.ignite.spi.metric.jmx.JmxMetricExporterSpi;
import org.jetbrains.annotations.Nullable;
/**
* Read only metric registry.
+ * <p>
+ *
+ * <h2>Java example</h2>
+ * See the example below of how the internal metrics can be obtained through your application
+ * using {@link ReadOnlyMetricRegistry}.
+ *
+ * <pre>
+ * JmxMetricExporterSpi jmxSpi = new JmxMetricExporterSpi();
+ *
+ * Ignite ignite = Ignition.start(new IgniteConfiguration()
+ * .setDataStorageConfiguration(new DataStorageConfiguration()
+ * .setDefaultDataRegionConfiguration(
+ * new DataRegionConfiguration()
+ * .setMaxSize(12_000_000)))
+ * .setIgniteInstanceName("jmxExampleInstanceName")
+ * .setMetricExporterSpi(jmxSpi));
+ *
+ *
+ * ReadOnlyMetricRegistry ioReg = jmxSpi.getSpiContext().getOrCreateMetricRegistry("io.dataregion.default");
+ *
+ * Set<String> listOfMetrics = StreamSupport.stream(ioReg.spliterator(), false)
+ * .map(Metric::name)
+ * .collect(toSet());
+ *
+ * System.out.println("The list of available data region metrics: " + listOfMetrics);
+ * System.out.println("The 'default' data region MaxSize: " + ioReg.findMetric("MaxSize"));
+ * </pre>
+ *
+ * @see JmxMetricExporterSpi
+ * @see MetricExporterSpi
+ *
*/
public interface ReadOnlyMetricRegistry extends Iterable<Metric> {
/** @return Registry name. */
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 fe56007..d0a48da 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
@@ -37,7 +37,60 @@ import org.jetbrains.annotations.Nullable;
import static org.apache.ignite.internal.util.IgniteUtils.makeMBeanName;
/**
- * This SPI implementation exports metrics as JMX beans.
+ * <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
+ * incoming user request.
+ *
+ * <h2>Java Example</h2>
+ * See the example below of how the internal metrics can be obtained through your application by
+ * constructing MBean names.
+ *
+ * <p>
+ * <pre>
+ * Ignite ignite = Ignition.start(new IgniteConfiguration()
+ * .setDataStorageConfiguration(new DataStorageConfiguration()
+ * .setDefaultDataRegionConfiguration(
+ * new DataRegionConfiguration()
+ * .setMaxSize(12_000_000)))
+ * .setIgniteInstanceName("jmxExampleInstanceName")
+ * .setMetricExporterSpi(new JmxMetricExporterSpi()));
+ *
+ * String igniteInstanceName = ignite.name();
+ * String metricGroup = "io";
+ *
+ * // NOTE: The special characters of metric name must be escaped.
+ * String metricName = "\"dataregion.default\"";
+ *
+ * SB sb = new SB("org.apache:");
+ *
+ * if (IgniteSystemProperties.getBoolean("IGNITE_MBEAN_APPEND_CLASS_LOADER_ID", true))
+ * sb.a("clsLdr=").a(Integer.toHexString(Ignite.class.getClassLoader().hashCode())).a(',');
+ *
+ * if (IgniteSystemProperties.getBoolean("IGNITE_MBEAN_APPEND_JVM_ID"))
+ * sb.a("jvmId=").a(ManagementFactory.getRuntimeMXBean().getName()).a(',');
+ *
+ * sb.a("igniteInstanceName=").a(igniteInstanceName).a(',')
+ * .a("group=").a(metricGroup).a(',')
+ * .a("name=").a(metricName);
+ *
+ * DynamicMBean dataRegionMBean = MBeanServerInvocationHandler.newProxyInstance(
+ * ignite.configuration().getMBeanServer(),
+ * new ObjectName(sb.toString()),
+ * DynamicMBean.class,
+ * false);
+ *
+ * Set<String> listOfMetrics = Arrays.stream(dataRegionMBean.getMBeanInfo().getAttributes())
+ * .map(MBeanFeatureInfo::getName)
+ * .collect(toSet());
+ *
+ * System.out.println("The list of available data region metrics: " + listOfMetrics);
+ * System.out.println("The 'default' data region MaxSize: " + dataRegionMBean.getAttribute("MaxSize"));
+ * </pre>
+ *
+ * @see ReadOnlyMetricManager
+ * @see ReadOnlyMetricRegistry
*/
public class JmxMetricExporterSpi extends IgniteSpiAdapter implements MetricExporterSpi {
/** Metric registry. */