You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2017/04/27 08:05:44 UTC
[5/9] ignite git commit: IGNITE-5072 javadoc for MemoryMetrics was
improved
IGNITE-5072 javadoc for MemoryMetrics was improved
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/cee78f47
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/cee78f47
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/cee78f47
Branch: refs/heads/ignite-5072-merge
Commit: cee78f47d132001f56c749103f2d8ff7e6c56aa2
Parents: f1018bf
Author: Sergey Chugunov <se...@gmail.com>
Authored: Wed Apr 26 18:32:13 2017 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Wed Apr 26 18:32:13 2017 +0300
----------------------------------------------------------------------
.../java/org/apache/ignite/MemoryMetrics.java | 33 ++++++++++++++++++--
.../configuration/MemoryConfiguration.java | 6 ++--
2 files changed, 34 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/cee78f47/modules/core/src/main/java/org/apache/ignite/MemoryMetrics.java
----------------------------------------------------------------------
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 c652249..96eedfe 100644
--- a/modules/core/src/main/java/org/apache/ignite/MemoryMetrics.java
+++ b/modules/core/src/main/java/org/apache/ignite/MemoryMetrics.java
@@ -17,12 +17,41 @@
package org.apache.ignite;
+import org.apache.ignite.configuration.MemoryConfiguration;
+import org.apache.ignite.configuration.MemoryPolicyConfiguration;
+import org.apache.ignite.mxbean.MemoryMetricsMXBean;
+
/**
- * Interface provides methods to access metrics of memory usage on local instance of Ignite.
+ * An interface to collect metrics about page memory usage on Ignite node. Overall page memory architecture
+ * is described in {@link MemoryConfiguration} javadoc.
+ * <p>
+ * As multiple page memories may be configured on a single Ignite node; memory metrics will be collected
+ * for each page memory separately.
+ * </p>
+ * <p>
+ * There are two ways to access metrics on local node.
+ * <ol>
+ * <li>
+ * Firstly, collection of metrics can be obtained through {@link Ignite#memoryMetrics()} call.<br/>
+ * Please pay attention that this call returns snapshots of memory metrics and not live objects.
+ * </li>
+ * <li>
+ * Secondly, all {@link MemoryMetrics} on local node are exposed through JMX interface. <br/>
+ * See {@link MemoryMetricsMXBean} interface describing information provided about metrics
+ * and page memory configuration.
+ * </li>
+ * </ol>
+ * </p>
+ * <p>
+ * Also users must be aware that using memory metrics has some overhead and for performance reasons is turned off
+ * by default.
+ * For turning them on both {@link MemoryPolicyConfiguration#setMetricsEnabled(boolean)} configuration property
+ * or {@link MemoryMetricsMXBean#enableMetrics()} method of JMX bean can be used.
+ * </p>
*/
public interface MemoryMetrics {
/**
- * @return Memory policy name.
+ * @return Name of memory region metrics are collected for.
*/
public String getName();
http://git-wip-us.apache.org/repos/asf/ignite/blob/cee78f47/modules/core/src/main/java/org/apache/ignite/configuration/MemoryConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/MemoryConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/MemoryConfiguration.java
index 307e2d3..1561f30 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/MemoryConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/MemoryConfiguration.java
@@ -33,7 +33,7 @@ import org.apache.ignite.internal.util.typedef.internal.U;
* <p>
* If initial size of the default memory region doesn't satisfy requirements or it's required to have multiple memory
* regions with different properties then {@link MemoryPolicyConfiguration} can be used for both scenarios.
- * For instance, Using memory policies you can define memory regions of different maximum size, eviction policies,
+ * For instance, using memory policies you can define memory regions of different maximum size, eviction policies,
* swapping options, etc. Once you define a new memory region you can bind particular Ignite caches to it.
* <p>
* To learn more about memory policies refer to {@link MemoryPolicyConfiguration} documentation.
@@ -42,14 +42,14 @@ import org.apache.ignite.internal.util.typedef.internal.U;
* {@code
* <property name="memoryConfiguration">
* <bean class="org.apache.ignite.configuration.MemoryConfiguration">
- * <property name="systemCacheMemorySize" value="#{100 * 1024 * 1024}"/>
+ * <property name="systemCacheInitialSize" value="#{100 * 1024 * 1024}"/>
* <property name="defaultMemoryPolicyName" value="default_mem_plc"/>
*
* <property name="memoryPolicies">
* <list>
* <bean class="org.apache.ignite.configuration.MemoryPolicyConfiguration">
* <property name="name" value="default_mem_plc"/>
- * <property name="size" value="#{5 * 1024 * 1024 * 1024}"/>
+ * <property name="initialSize" value="#{5 * 1024 * 1024 * 1024}"/>
* </bean>
* </list>
* </property>