ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sboi...@apache.org
Subject [30/53] [abbrv] incubator-ignite git commit: IGNITE-49 Renamed MXBean
Date Tue, 27 Jan 2015 16:40:50 GMT
IGNITE-49 Renamed MXBean


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/2e6c9b7b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/2e6c9b7b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/2e6c9b7b

Branch: refs/heads/sprint-1
Commit: 2e6c9b7b21bd5097620081c53e345fc3bd06eb41
Parents: cafe7ab
Author: nikolay_tikhonov <ntikhonov@gridgain.com>
Authored: Mon Jan 26 14:44:10 2015 +0300
Committer: nikolay_tikhonov <ntikhonov@gridgain.com>
Committed: Mon Jan 26 14:49:18 2015 +0300

----------------------------------------------------------------------
 .../java/org/apache/ignite/IgniteCache.java     |   2 +-
 .../org/apache/ignite/IgniteCacheManager.java   |  20 +-
 .../java/org/apache/ignite/cache/GridCache.java |   2 +-
 .../internal/CacheConfigurationMXBeanImpl.java  |  75 +++++
 .../internal/CacheConfigurationMxBeanImpl.java  |  75 -----
 .../ignite/internal/ClusterLocalMetrics.java    | 312 -------------------
 .../internal/ClusterLocalMetricsMXBean.java     | 312 +++++++++++++++++++
 .../org/apache/ignite/internal/GridKernal.java  |   4 +-
 .../cache/CacheMetricsMXBeanImpl.java           | 275 ++++++++++++++++
 .../cache/CacheMetricsMxBeanImpl.java           | 275 ----------------
 .../processors/cache/GridCacheAdapter.java      |   6 +-
 .../processors/cache/GridCacheProxyImpl.java    |   2 +-
 .../processors/cache/IgniteCacheProxy.java      |   2 +-
 .../ignite/mbean/CacheConfigurationMXBean.java  |  54 ++++
 .../ignite/mbean/CacheConfigurationMxBean.java  |  54 ----
 .../apache/ignite/mbean/CacheMetricsMXBean.java | 222 +++++++++++++
 .../apache/ignite/mbean/CacheMetricsMxBean.java | 222 -------------
 .../ignite/mbean/ClusterMetricsMXBean.java      | 240 ++++++++++++++
 .../ignite/mbean/ClusterMetricsMxBean.java      | 241 --------------
 19 files changed, 1197 insertions(+), 1198 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
index 50cc629..2dba599 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
@@ -367,5 +367,5 @@ public interface IgniteCache<K, V> extends javax.cache.Cache<K, V>, IgniteAsyncS
      *
      * @return MxBean.
      */
-    public CacheMetricsMxBean mxBean();
+    public CacheMetricsMXBean mxBean();
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/IgniteCacheManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCacheManager.java b/modules/core/src/main/java/org/apache/ignite/IgniteCacheManager.java
index 7a4ced6..b868de3 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteCacheManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteCacheManager.java
@@ -19,7 +19,7 @@ package org.apache.ignite;
 
 import org.apache.ignite.cache.*;
 import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.CacheConfigurationMxBeanImpl;
+import org.apache.ignite.internal.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.internal.util.typedef.*;
 
@@ -42,7 +42,7 @@ public class IgniteCacheManager implements CacheManager {
     private static final String CACHE_CONFIGURATION = "CacheConfiguration";
 
     /** */
-    private final Map<String, IgniteBiTuple<Ignite, CacheConfigurationMxBeanImpl>> igniteMap = new HashMap<>();
+    private final Map<String, IgniteBiTuple<Ignite, CacheConfigurationMXBeanImpl>> igniteMap = new HashMap<>();
 
     /** */
     private final URI uri;
@@ -148,7 +148,7 @@ public class IgniteCacheManager implements CacheManager {
 
             res = ignite.jcache(cacheName);
 
-            igniteMap.put(cacheName, new T2<>(ignite, new CacheConfigurationMxBeanImpl(res)));
+            igniteMap.put(cacheName, new T2<>(ignite, new CacheConfigurationMXBeanImpl(res)));
         }
 
         if (((CompleteConfiguration)cacheCfg).isManagementEnabled())
@@ -164,7 +164,7 @@ public class IgniteCacheManager implements CacheManager {
      * @param cacheName Cache name.
      */
     private <K, V> IgniteCache<K, V> findCache(String cacheName) {
-        IgniteBiTuple<Ignite, CacheConfigurationMxBeanImpl> tuple;
+        IgniteBiTuple<Ignite, CacheConfigurationMXBeanImpl> tuple;
 
         synchronized (igniteMap) {
             tuple = igniteMap.get(cacheName);
@@ -230,7 +230,7 @@ public class IgniteCacheManager implements CacheManager {
      */
     public boolean isManagedIgnite(Ignite ignite) {
         synchronized (igniteMap) {
-            for (IgniteBiTuple<Ignite, CacheConfigurationMxBeanImpl> tuple : igniteMap.values()) {
+            for (IgniteBiTuple<Ignite, CacheConfigurationMXBeanImpl> tuple : igniteMap.values()) {
                 if (ignite.equals(tuple.get1()))
                     return true;
             }
@@ -246,7 +246,7 @@ public class IgniteCacheManager implements CacheManager {
         if (cacheName == null)
             throw new NullPointerException();
 
-        IgniteBiTuple<Ignite, CacheConfigurationMxBeanImpl> tuple;
+        IgniteBiTuple<Ignite, CacheConfigurationMXBeanImpl> tuple;
 
         synchronized (igniteMap) {
             tuple = igniteMap.remove(cacheName);
@@ -291,7 +291,7 @@ public class IgniteCacheManager implements CacheManager {
         if (cacheName == null)
             throw new NullPointerException();
 
-        IgniteBiTuple<Ignite, CacheConfigurationMxBeanImpl> tuple;
+        IgniteBiTuple<Ignite, CacheConfigurationMXBeanImpl> tuple;
 
         synchronized (igniteMap) {
             tuple = igniteMap.get(cacheName);
@@ -319,7 +319,7 @@ public class IgniteCacheManager implements CacheManager {
         if (cacheName == null)
             throw new NullPointerException();
 
-        IgniteBiTuple<Ignite, CacheConfigurationMxBeanImpl> tuple;
+        IgniteBiTuple<Ignite, CacheConfigurationMXBeanImpl> tuple;
 
         synchronized (igniteMap) {
             tuple = igniteMap.get(cacheName);
@@ -405,13 +405,13 @@ public class IgniteCacheManager implements CacheManager {
     /** {@inheritDoc} */
     @Override public void close() {
         if (closed.compareAndSet(false, true)) {
-            IgniteBiTuple<Ignite, CacheConfigurationMxBeanImpl>[] ignites;
+            IgniteBiTuple<Ignite, CacheConfigurationMXBeanImpl>[] ignites;
 
             synchronized (igniteMap) {
                 ignites = igniteMap.values().toArray(new IgniteBiTuple[igniteMap.values().size()]);
             }
 
-            for (IgniteBiTuple<Ignite, CacheConfigurationMxBeanImpl> tuple : ignites) {
+            for (IgniteBiTuple<Ignite, CacheConfigurationMXBeanImpl> tuple : ignites) {
                 try {
                     tuple.get1().close();
                 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java b/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java
index 100a6c1..d5c816c 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java
@@ -122,7 +122,7 @@ public interface GridCache<K, V> extends CacheProjection<K, V> {
      *
      * @return Cache metrics.
      */
-    public CacheMetricsMxBean mxBean();
+    public CacheMetricsMXBean mxBean();
 
     /**
      * Gets size (in bytes) of all entries swapped to disk.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/internal/CacheConfigurationMXBeanImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/CacheConfigurationMXBeanImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/CacheConfigurationMXBeanImpl.java
new file mode 100644
index 0000000..798c7a6
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/CacheConfigurationMXBeanImpl.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal;
+
+import org.apache.ignite.mbean.*;
+
+import javax.cache.*;
+import javax.cache.configuration.*;
+import javax.cache.management.*;
+
+/**
+ * Implementation of {@link CacheMXBean}.
+ *
+ */
+public class CacheConfigurationMXBeanImpl implements CacheConfigurationMXBean {
+    /** */
+    private final Cache<?, ?> cache;
+
+    /**
+     * @param cache Cache.
+     */
+    public CacheConfigurationMXBeanImpl(Cache<?, ?> cache) {
+        this.cache = cache;
+    }
+
+    /** {@inheritDoc} */
+    @Override public String getKeyType() {
+        return cache.getConfiguration(CompleteConfiguration.class).getKeyType().getName();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String getValueType() {
+        return cache.getConfiguration(CompleteConfiguration.class).getValueType().getName();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isReadThrough() {
+        return cache.getConfiguration(CompleteConfiguration.class).isReadThrough();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isWriteThrough() {
+        return cache.getConfiguration(CompleteConfiguration.class).isWriteThrough();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isStoreByValue() {
+        return cache.getConfiguration(CompleteConfiguration.class).isStoreByValue();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isStatisticsEnabled() {
+        return cache.getConfiguration(CompleteConfiguration.class).isStatisticsEnabled();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isManagementEnabled() {
+        return cache.getConfiguration(CompleteConfiguration.class).isManagementEnabled();
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/internal/CacheConfigurationMxBeanImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/CacheConfigurationMxBeanImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/CacheConfigurationMxBeanImpl.java
deleted file mode 100644
index 46ed5d9..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/CacheConfigurationMxBeanImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal;
-
-import org.apache.ignite.mbean.*;
-
-import javax.cache.*;
-import javax.cache.configuration.*;
-import javax.cache.management.*;
-
-/**
- * Implementation of {@link CacheMXBean}.
- *
- */
-public class CacheConfigurationMxBeanImpl implements CacheConfigurationMxBean {
-    /** */
-    private final Cache<?, ?> cache;
-
-    /**
-     * @param cache Cache.
-     */
-    public CacheConfigurationMxBeanImpl(Cache<?, ?> cache) {
-        this.cache = cache;
-    }
-
-    /** {@inheritDoc} */
-    @Override public String getKeyType() {
-        return cache.getConfiguration(CompleteConfiguration.class).getKeyType().getName();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String getValueType() {
-        return cache.getConfiguration(CompleteConfiguration.class).getValueType().getName();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isReadThrough() {
-        return cache.getConfiguration(CompleteConfiguration.class).isReadThrough();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isWriteThrough() {
-        return cache.getConfiguration(CompleteConfiguration.class).isWriteThrough();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isStoreByValue() {
-        return cache.getConfiguration(CompleteConfiguration.class).isStoreByValue();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isStatisticsEnabled() {
-        return cache.getConfiguration(CompleteConfiguration.class).isStatisticsEnabled();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isManagementEnabled() {
-        return cache.getConfiguration(CompleteConfiguration.class).isManagementEnabled();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalMetrics.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalMetrics.java b/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalMetrics.java
deleted file mode 100644
index 1d891d8..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalMetrics.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal;
-
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-import org.apache.ignite.mbean.*;
-
-/**
- * Local node metrics MBean.
- */
-public class ClusterLocalMetrics implements ClusterMetricsMxBean {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** Grid node. */
-    private final ClusterNode node;
-
-    /**
-     * @param node Node to manage.
-     */
-    public ClusterLocalMetrics(ClusterNode node) {
-        assert node != null;
-
-        this.node = node;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTotalCpus() {
-        return node.metrics().getTotalCpus();
-    }
-
-    /** {@inheritDoc} */
-    @Override public float getAverageActiveJobs() {
-        return node.metrics().getAverageActiveJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public float getAverageCancelledJobs() {
-        return node.metrics().getAverageCancelledJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public double getAverageJobExecuteTime() {
-        return node.metrics().getAverageJobExecuteTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public double getAverageJobWaitTime() {
-        return node.metrics().getAverageJobWaitTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public float getAverageRejectedJobs() {
-        return node.metrics().getAverageRejectedJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public float getAverageWaitingJobs() {
-        return node.metrics().getAverageWaitingJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public float getBusyTimePercentage() {
-        return node.metrics().getBusyTimePercentage() * 100;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getCurrentActiveJobs() {
-        return node.metrics().getCurrentActiveJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getCurrentCancelledJobs() {
-        return node.metrics().getCurrentCancelledJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getCurrentIdleTime() {
-        return node.metrics().getCurrentIdleTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getCurrentJobExecuteTime() {
-        return node.metrics().getCurrentJobExecuteTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getCurrentJobWaitTime() {
-        return node.metrics().getCurrentJobWaitTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getCurrentRejectedJobs() {
-        return node.metrics().getCurrentRejectedJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getCurrentWaitingJobs() {
-        return node.metrics().getCurrentWaitingJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTotalExecutedTasks() {
-        return node.metrics().getTotalExecutedTasks();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getCurrentDaemonThreadCount() {
-        return node.metrics().getCurrentDaemonThreadCount();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getHeapMemoryCommitted() {
-        return node.metrics().getHeapMemoryCommitted();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getHeapMemoryInitialized() {
-        return node.metrics().getHeapMemoryInitialized();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getHeapMemoryMaximum() {
-        return node.metrics().getHeapMemoryMaximum();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getHeapMemoryUsed() {
-        return node.metrics().getHeapMemoryUsed();
-    }
-
-    /** {@inheritDoc} */
-    @Override public float getIdleTimePercentage() {
-        return node.metrics().getIdleTimePercentage() * 100;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getLastUpdateTime() {
-        return node.metrics().getLastUpdateTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getMaximumActiveJobs() {
-        return node.metrics().getMaximumActiveJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getMaximumCancelledJobs() {
-        return node.metrics().getMaximumCancelledJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getMaximumJobExecuteTime() {
-        return node.metrics().getMaximumJobExecuteTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getMaximumJobWaitTime() {
-        return node.metrics().getMaximumJobWaitTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getMaximumRejectedJobs() {
-        return node.metrics().getMaximumRejectedJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getMaximumWaitingJobs() {
-        return node.metrics().getMaximumWaitingJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getNonHeapMemoryCommitted() {
-        return node.metrics().getNonHeapMemoryCommitted();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getNonHeapMemoryInitialized() {
-        return node.metrics().getNonHeapMemoryInitialized();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getNonHeapMemoryMaximum() {
-        return node.metrics().getNonHeapMemoryMaximum();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getNonHeapMemoryUsed() {
-        return node.metrics().getNonHeapMemoryUsed();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getMaximumThreadCount() {
-        return node.metrics().getMaximumThreadCount();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getStartTime() {
-        return node.metrics().getStartTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getNodeStartTime() {
-        return node.metrics().getNodeStartTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public double getCurrentCpuLoad() {
-        return node.metrics().getCurrentCpuLoad() * 100;
-    }
-
-    /** {@inheritDoc} */
-    @Override public double getAverageCpuLoad() {
-        return node.metrics().getAverageCpuLoad() * 100;
-    }
-
-    /** {@inheritDoc} */
-    @Override public double getCurrentGcCpuLoad() {
-        return node.metrics().getCurrentGcCpuLoad() * 100;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getCurrentThreadCount() {
-        return node.metrics().getCurrentThreadCount();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getTotalBusyTime() {
-        return node.metrics().getTotalBusyTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTotalCancelledJobs() {
-        return node.metrics().getTotalCancelledJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTotalExecutedJobs() {
-        return node.metrics().getTotalExecutedJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getTotalIdleTime() {
-        return node.metrics().getTotalIdleTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTotalRejectedJobs() {
-        return node.metrics().getTotalRejectedJobs();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getTotalStartedThreadCount() {
-        return node.metrics().getTotalStartedThreadCount();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getUpTime() {
-        return node.metrics().getUpTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getLastDataVersion() {
-        return node.metrics().getLastDataVersion();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getSentMessagesCount() {
-        return node.metrics().getSentMessagesCount();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getSentBytesCount() {
-        return node.metrics().getSentBytesCount();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getReceivedMessagesCount() {
-        return node.metrics().getReceivedMessagesCount();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getReceivedBytesCount() {
-        return node.metrics().getReceivedBytesCount();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getOutboundMessagesQueueSize() {
-        return node.metrics().getOutboundMessagesQueueSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(ClusterLocalMetrics.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalMetricsMXBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalMetricsMXBean.java b/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalMetricsMXBean.java
new file mode 100644
index 0000000..f5d6a66
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalMetricsMXBean.java
@@ -0,0 +1,312 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal;
+
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.mbean.*;
+
+/**
+ * Local node metrics MBean.
+ */
+public class ClusterLocalMetricsMXBean implements ClusterMetricsMXBean {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /** Grid node. */
+    private final ClusterNode node;
+
+    /**
+     * @param node Node to manage.
+     */
+    public ClusterLocalMetricsMXBean(ClusterNode node) {
+        assert node != null;
+
+        this.node = node;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTotalCpus() {
+        return node.metrics().getTotalCpus();
+    }
+
+    /** {@inheritDoc} */
+    @Override public float getAverageActiveJobs() {
+        return node.metrics().getAverageActiveJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public float getAverageCancelledJobs() {
+        return node.metrics().getAverageCancelledJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public double getAverageJobExecuteTime() {
+        return node.metrics().getAverageJobExecuteTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public double getAverageJobWaitTime() {
+        return node.metrics().getAverageJobWaitTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public float getAverageRejectedJobs() {
+        return node.metrics().getAverageRejectedJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public float getAverageWaitingJobs() {
+        return node.metrics().getAverageWaitingJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public float getBusyTimePercentage() {
+        return node.metrics().getBusyTimePercentage() * 100;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getCurrentActiveJobs() {
+        return node.metrics().getCurrentActiveJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getCurrentCancelledJobs() {
+        return node.metrics().getCurrentCancelledJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getCurrentIdleTime() {
+        return node.metrics().getCurrentIdleTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getCurrentJobExecuteTime() {
+        return node.metrics().getCurrentJobExecuteTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getCurrentJobWaitTime() {
+        return node.metrics().getCurrentJobWaitTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getCurrentRejectedJobs() {
+        return node.metrics().getCurrentRejectedJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getCurrentWaitingJobs() {
+        return node.metrics().getCurrentWaitingJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTotalExecutedTasks() {
+        return node.metrics().getTotalExecutedTasks();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getCurrentDaemonThreadCount() {
+        return node.metrics().getCurrentDaemonThreadCount();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getHeapMemoryCommitted() {
+        return node.metrics().getHeapMemoryCommitted();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getHeapMemoryInitialized() {
+        return node.metrics().getHeapMemoryInitialized();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getHeapMemoryMaximum() {
+        return node.metrics().getHeapMemoryMaximum();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getHeapMemoryUsed() {
+        return node.metrics().getHeapMemoryUsed();
+    }
+
+    /** {@inheritDoc} */
+    @Override public float getIdleTimePercentage() {
+        return node.metrics().getIdleTimePercentage() * 100;
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getLastUpdateTime() {
+        return node.metrics().getLastUpdateTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getMaximumActiveJobs() {
+        return node.metrics().getMaximumActiveJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getMaximumCancelledJobs() {
+        return node.metrics().getMaximumCancelledJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getMaximumJobExecuteTime() {
+        return node.metrics().getMaximumJobExecuteTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getMaximumJobWaitTime() {
+        return node.metrics().getMaximumJobWaitTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getMaximumRejectedJobs() {
+        return node.metrics().getMaximumRejectedJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getMaximumWaitingJobs() {
+        return node.metrics().getMaximumWaitingJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getNonHeapMemoryCommitted() {
+        return node.metrics().getNonHeapMemoryCommitted();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getNonHeapMemoryInitialized() {
+        return node.metrics().getNonHeapMemoryInitialized();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getNonHeapMemoryMaximum() {
+        return node.metrics().getNonHeapMemoryMaximum();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getNonHeapMemoryUsed() {
+        return node.metrics().getNonHeapMemoryUsed();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getMaximumThreadCount() {
+        return node.metrics().getMaximumThreadCount();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getStartTime() {
+        return node.metrics().getStartTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getNodeStartTime() {
+        return node.metrics().getNodeStartTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public double getCurrentCpuLoad() {
+        return node.metrics().getCurrentCpuLoad() * 100;
+    }
+
+    /** {@inheritDoc} */
+    @Override public double getAverageCpuLoad() {
+        return node.metrics().getAverageCpuLoad() * 100;
+    }
+
+    /** {@inheritDoc} */
+    @Override public double getCurrentGcCpuLoad() {
+        return node.metrics().getCurrentGcCpuLoad() * 100;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getCurrentThreadCount() {
+        return node.metrics().getCurrentThreadCount();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getTotalBusyTime() {
+        return node.metrics().getTotalBusyTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTotalCancelledJobs() {
+        return node.metrics().getTotalCancelledJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTotalExecutedJobs() {
+        return node.metrics().getTotalExecutedJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getTotalIdleTime() {
+        return node.metrics().getTotalIdleTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTotalRejectedJobs() {
+        return node.metrics().getTotalRejectedJobs();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getTotalStartedThreadCount() {
+        return node.metrics().getTotalStartedThreadCount();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getUpTime() {
+        return node.metrics().getUpTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getLastDataVersion() {
+        return node.metrics().getLastDataVersion();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getSentMessagesCount() {
+        return node.metrics().getSentMessagesCount();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getSentBytesCount() {
+        return node.metrics().getSentBytesCount();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getReceivedMessagesCount() {
+        return node.metrics().getReceivedMessagesCount();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getReceivedBytesCount() {
+        return node.metrics().getReceivedBytesCount();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getOutboundMessagesQueueSize() {
+        return node.metrics().getOutboundMessagesQueueSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(ClusterLocalMetricsMXBean.class, this);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java
index 7daf9a3..ebbdc28 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java
@@ -1447,7 +1447,7 @@ public class GridKernal extends ClusterGroupAdapter implements GridEx, IgniteMBe
 
     /** @throws IgniteCheckedException If registration failed. */
     private void registerLocalNodeMBean() throws IgniteCheckedException {
-        ClusterMetricsMxBean mbean = new ClusterLocalMetrics(ctx.discovery().localNode());
+        ClusterMetricsMXBean mbean = new ClusterLocalMetricsMXBean(ctx.discovery().localNode());
 
         try {
             locNodeMBean = U.registerMBean(
@@ -1456,7 +1456,7 @@ public class GridKernal extends ClusterGroupAdapter implements GridEx, IgniteMBe
                 "Kernal",
                 mbean.getClass().getSimpleName(),
                 mbean,
-                ClusterMetricsMxBean.class);
+                ClusterMetricsMXBean.class);
 
             if (log.isDebugEnabled())
                 log.debug("Registered local node MBean: " + locNodeMBean);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsMXBeanImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsMXBeanImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsMXBeanImpl.java
new file mode 100644
index 0000000..98d1c39
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsMXBeanImpl.java
@@ -0,0 +1,275 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.mbean.*;
+
+/**
+ * Management bean that provides access to {@link IgniteCache IgniteCache}.
+ */
+class CacheMetricsMXBeanImpl implements CacheMetricsMXBean {
+    /** Cache. */
+    private GridCacheAdapter<?, ?> cache;
+
+    /**
+     * Creates MBean;
+     *
+     * @param cache Cache.
+     */
+    CacheMetricsMXBeanImpl(GridCacheAdapter<?, ?> cache) {
+        assert cache != null;
+
+        this.cache = cache;
+    }
+
+    /** {@inheritDoc} */
+    @Override public String name() {
+        return cache.metrics0().name();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getOverflowSize() {
+        return cache.metrics0().getOverflowSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getOffHeapEntriesCount() {
+        return cache.metrics0().getOffHeapEntriesCount();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getOffHeapAllocatedSize() {
+        return cache.metrics0().getOffHeapAllocatedSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getSize() {
+        return cache.metrics0().getSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getKeySize() {
+        return cache.metrics0().getKeySize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isEmpty() {
+        return cache.metrics0().isEmpty();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getDhtEvictQueueCurrentSize() {
+        return cache.metrics0().getDhtEvictQueueCurrentSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxCommitQueueSize() {
+        return cache.metrics0().getTxCommitQueueSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxThreadMapSize() {
+        return cache.metrics0().getTxThreadMapSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxXidMapSize() {
+        return cache.metrics0().getTxXidMapSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxPrepareQueueSize() {
+        return cache.metrics0().getTxPrepareQueueSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxStartVersionCountsSize() {
+        return cache.metrics0().getTxStartVersionCountsSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxCommittedVersionsSize() {
+        return cache.metrics0().getTxCommittedVersionsSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxRolledbackVersionsSize() {
+        return cache.metrics0().getTxRolledbackVersionsSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxDhtThreadMapSize() {
+        return cache.metrics0().getTxDhtThreadMapSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxDhtXidMapSize() {
+        return cache.metrics0().getTxDhtXidMapSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxDhtCommitQueueSize() {
+        return cache.metrics0().getTxDhtCommitQueueSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxDhtPrepareQueueSize() {
+        return cache.metrics0().getTxDhtPrepareQueueSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxDhtStartVersionCountsSize() {
+        return cache.metrics0().getTxDhtStartVersionCountsSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxDhtCommittedVersionsSize() {
+        return cache.metrics0().getTxDhtCommittedVersionsSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getTxDhtRolledbackVersionsSize() {
+        return cache.metrics0().getTxDhtRolledbackVersionsSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isWriteBehindEnabled() {
+        return cache.metrics0().isWriteBehindEnabled();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getWriteBehindFlushSize() {
+        return cache.metrics0().getWriteBehindFlushSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getWriteBehindFlushThreadCount() {
+        return cache.metrics0().getWriteBehindFlushThreadCount();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getWriteBehindFlushFrequency() {
+        return cache.metrics0().getWriteBehindFlushFrequency();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getWriteBehindStoreBatchSize() {
+        return cache.metrics0().getWriteBehindStoreBatchSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getWriteBehindTotalCriticalOverflowCount() {
+        return cache.metrics0().getWriteBehindTotalCriticalOverflowCount();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getWriteBehindCriticalOverflowCount() {
+        return cache.metrics0().getWriteBehindCriticalOverflowCount();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getWriteBehindErrorRetryCount() {
+        return cache.metrics0().getWriteBehindErrorRetryCount();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getWriteBehindBufferSize() {
+        return cache.metrics0().getWriteBehindBufferSize();
+    }
+
+    /** {@inheritDoc} */
+    @Override public void clear() {
+        cache.metrics0().clear();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getCacheHits() {
+        return cache.metrics0().getCacheHits();
+    }
+
+    /** {@inheritDoc} */
+    @Override public float getCacheHitPercentage() {
+        return cache.metrics0().getCacheHitPercentage();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getCacheMisses() {
+        return cache.metrics0().getCacheMisses();
+    }
+
+    /** {@inheritDoc} */
+    @Override public float getCacheMissPercentage() {
+        return cache.metrics0().getCacheMissPercentage();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getCacheGets() {
+        return cache.metrics0().getCacheGets();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getCachePuts() {
+        return cache.metrics0().getCachePuts();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getCacheRemovals() {
+        return cache.metrics0().getCacheRemovals();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getCacheEvictions() {
+        return cache.metrics0().getCacheEvictions();
+    }
+
+    /** {@inheritDoc} */
+    @Override public float getAverageGetTime() {
+        return cache.metrics0().getAverageGetTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public float getAveragePutTime() {
+        return cache.metrics0().getAveragePutTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public float getAverageRemoveTime() {
+        return cache.metrics0().getAverageRemoveTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public float getAverageTxCommitTime() {
+        return cache.metrics0().getAverageTxCommitTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public float getAverageTxRollbackTime() {
+        return cache.metrics0().getAverageTxRollbackTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getCacheTxCommits() {
+        return cache.metrics0().getCacheTxCommits();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getCacheTxRollbacks() {
+        return cache.metrics0().getCacheTxRollbacks();
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsMxBeanImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsMxBeanImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsMxBeanImpl.java
deleted file mode 100644
index acce7e9..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsMxBeanImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.mbean.*;
-
-/**
- * Management bean that provides access to {@link IgniteCache IgniteCache}.
- */
-class CacheMetricsMxBeanImpl implements CacheMetricsMxBean {
-    /** Cache. */
-    private GridCacheAdapter<?, ?> cache;
-
-    /**
-     * Creates MBean;
-     *
-     * @param cache Cache.
-     */
-    CacheMetricsMxBeanImpl(GridCacheAdapter<?, ?> cache) {
-        assert cache != null;
-
-        this.cache = cache;
-    }
-
-    /** {@inheritDoc} */
-    @Override public String name() {
-        return cache.metrics0().name();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getOverflowSize() {
-        return cache.metrics0().getOverflowSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getOffHeapEntriesCount() {
-        return cache.metrics0().getOffHeapEntriesCount();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getOffHeapAllocatedSize() {
-        return cache.metrics0().getOffHeapAllocatedSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getSize() {
-        return cache.metrics0().getSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getKeySize() {
-        return cache.metrics0().getKeySize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isEmpty() {
-        return cache.metrics0().isEmpty();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getDhtEvictQueueCurrentSize() {
-        return cache.metrics0().getDhtEvictQueueCurrentSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxCommitQueueSize() {
-        return cache.metrics0().getTxCommitQueueSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxThreadMapSize() {
-        return cache.metrics0().getTxThreadMapSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxXidMapSize() {
-        return cache.metrics0().getTxXidMapSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxPrepareQueueSize() {
-        return cache.metrics0().getTxPrepareQueueSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxStartVersionCountsSize() {
-        return cache.metrics0().getTxStartVersionCountsSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxCommittedVersionsSize() {
-        return cache.metrics0().getTxCommittedVersionsSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxRolledbackVersionsSize() {
-        return cache.metrics0().getTxRolledbackVersionsSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxDhtThreadMapSize() {
-        return cache.metrics0().getTxDhtThreadMapSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxDhtXidMapSize() {
-        return cache.metrics0().getTxDhtXidMapSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxDhtCommitQueueSize() {
-        return cache.metrics0().getTxDhtCommitQueueSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxDhtPrepareQueueSize() {
-        return cache.metrics0().getTxDhtPrepareQueueSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxDhtStartVersionCountsSize() {
-        return cache.metrics0().getTxDhtStartVersionCountsSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxDhtCommittedVersionsSize() {
-        return cache.metrics0().getTxDhtCommittedVersionsSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getTxDhtRolledbackVersionsSize() {
-        return cache.metrics0().getTxDhtRolledbackVersionsSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isWriteBehindEnabled() {
-        return cache.metrics0().isWriteBehindEnabled();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getWriteBehindFlushSize() {
-        return cache.metrics0().getWriteBehindFlushSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getWriteBehindFlushThreadCount() {
-        return cache.metrics0().getWriteBehindFlushThreadCount();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getWriteBehindFlushFrequency() {
-        return cache.metrics0().getWriteBehindFlushFrequency();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getWriteBehindStoreBatchSize() {
-        return cache.metrics0().getWriteBehindStoreBatchSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getWriteBehindTotalCriticalOverflowCount() {
-        return cache.metrics0().getWriteBehindTotalCriticalOverflowCount();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getWriteBehindCriticalOverflowCount() {
-        return cache.metrics0().getWriteBehindCriticalOverflowCount();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getWriteBehindErrorRetryCount() {
-        return cache.metrics0().getWriteBehindErrorRetryCount();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getWriteBehindBufferSize() {
-        return cache.metrics0().getWriteBehindBufferSize();
-    }
-
-    /** {@inheritDoc} */
-    @Override public void clear() {
-        cache.metrics0().clear();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getCacheHits() {
-        return cache.metrics0().getCacheHits();
-    }
-
-    /** {@inheritDoc} */
-    @Override public float getCacheHitPercentage() {
-        return cache.metrics0().getCacheHitPercentage();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getCacheMisses() {
-        return cache.metrics0().getCacheMisses();
-    }
-
-    /** {@inheritDoc} */
-    @Override public float getCacheMissPercentage() {
-        return cache.metrics0().getCacheMissPercentage();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getCacheGets() {
-        return cache.metrics0().getCacheGets();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getCachePuts() {
-        return cache.metrics0().getCachePuts();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getCacheRemovals() {
-        return cache.metrics0().getCacheRemovals();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getCacheEvictions() {
-        return cache.metrics0().getCacheEvictions();
-    }
-
-    /** {@inheritDoc} */
-    @Override public float getAverageGetTime() {
-        return cache.metrics0().getAverageGetTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public float getAveragePutTime() {
-        return cache.metrics0().getAveragePutTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public float getAverageRemoveTime() {
-        return cache.metrics0().getAverageRemoveTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public float getAverageTxCommitTime() {
-        return cache.metrics0().getAverageTxCommitTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public float getAverageTxRollbackTime() {
-        return cache.metrics0().getAverageTxRollbackTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getCacheTxCommits() {
-        return cache.metrics0().getCacheTxCommits();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getCacheTxRollbacks() {
-        return cache.metrics0().getCacheTxRollbacks();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 898ecd4..737d109 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -151,7 +151,7 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>,
     protected CacheMetricsAdapter metrics;
 
     /** Cache mxBean. */
-    protected CacheMetricsMxBean mxBean;
+    protected CacheMetricsMXBean mxBean;
 
     /** Logger. */
     protected IgniteLogger log;
@@ -232,7 +232,7 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>,
 
         metrics = new CacheMetricsAdapter(ctx);
 
-        mxBean = new CacheMetricsMxBeanImpl(this);
+        mxBean = new CacheMetricsMXBeanImpl(this);
 
         IgniteFsConfiguration[] ggfsCfgs = gridCfg.getGgfsConfiguration();
 
@@ -3402,7 +3402,7 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>,
     }
 
     /** {@inheritDoc} */
-    @Override public CacheMetricsMxBean mxBean() {
+    @Override public CacheMetricsMXBean mxBean() {
         return mxBean;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
index 4f8e1bf..8419263 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
@@ -208,7 +208,7 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public CacheMetricsMxBean mxBean() {
+    @Override public CacheMetricsMXBean mxBean() {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
         try {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
index c036902..1d12393 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
@@ -100,7 +100,7 @@ public class IgniteCacheProxy<K, V> extends IgniteAsyncSupportAdapter implements
     }
 
     /** {@inheritDoc} */
-    @Override public CacheMetricsMxBean mxBean() {
+    @Override public CacheMetricsMXBean mxBean() {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
         try {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/mbean/CacheConfigurationMXBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/mbean/CacheConfigurationMXBean.java b/modules/core/src/main/java/org/apache/ignite/mbean/CacheConfigurationMXBean.java
new file mode 100644
index 0000000..d0d615d
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/mbean/CacheConfigurationMXBean.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.mbean;
+
+import javax.cache.management.*;
+
+/**
+ *  A management bean for cache. It provides configuration information.
+ */
+@IgniteMBeanDescription("MBean that provides configuration information.")
+public interface CacheConfigurationMXBean extends CacheMXBean {
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Key type.")
+    String getKeyType();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Value type.")
+    String getValueType();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("True if the cache is store by value.")
+    boolean isStoreByValue();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("True if statistics collection is enabled.")
+    boolean isStatisticsEnabled();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("True if management is enabled.")
+    boolean isManagementEnabled();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("True when a cache is in read-through mode.")
+    boolean isReadThrough();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("True when a cache is in write-through mode.")
+    boolean isWriteThrough();
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/mbean/CacheConfigurationMxBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/mbean/CacheConfigurationMxBean.java b/modules/core/src/main/java/org/apache/ignite/mbean/CacheConfigurationMxBean.java
deleted file mode 100644
index 9b87b7d..0000000
--- a/modules/core/src/main/java/org/apache/ignite/mbean/CacheConfigurationMxBean.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.mbean;
-
-import javax.cache.management.*;
-
-/**
- *  A management bean for cache. It provides configuration information.
- */
-@IgniteMBeanDescription("MBean that provides configuration information.")
-public interface CacheConfigurationMxBean extends CacheMXBean {
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Key type.")
-    String getKeyType();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Value type.")
-    String getValueType();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("True if the cache is store by value.")
-    boolean isStoreByValue();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("True if statistics collection is enabled.")
-    boolean isStatisticsEnabled();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("True if management is enabled.")
-    boolean isManagementEnabled();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("True when a cache is in read-through mode.")
-    boolean isReadThrough();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("True when a cache is in write-through mode.")
-    boolean isWriteThrough();
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/mbean/CacheMetricsMXBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/mbean/CacheMetricsMXBean.java b/modules/core/src/main/java/org/apache/ignite/mbean/CacheMetricsMXBean.java
new file mode 100644
index 0000000..31967d9
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/mbean/CacheMetricsMXBean.java
@@ -0,0 +1,222 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.mbean;
+
+import org.apache.ignite.cache.*;
+import org.apache.ignite.*;
+
+/**
+ * This interface defines JMX view on {@link IgniteCache}.
+ */
+import org.apache.ignite.*;
+
+import javax.cache.management.*;
+
+/**
+ * This interface defines JMX view on {@link IgniteCache}.
+ */
+@IgniteMBeanDescription("MBean that provides access to cache descriptor.")
+public interface CacheMetricsMXBean extends CacheStatisticsMXBean, CacheMetrics {
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Clear statistics.")
+    public void clear();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of hits.")
+    public long getCacheHits();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Percentage of successful hits.")
+    public float getCacheHitPercentage();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of misses.")
+    public long getCacheMisses();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Percentage of accesses that failed to find anything.")
+    public float getCacheMissPercentage();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of gets.")
+    public long getCacheGets();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of puts.")
+    public long getCachePuts();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of removals.")
+    public long getCacheRemovals();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of eviction entries.")
+    public long getCacheEvictions();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Average time to execute get.")
+    public float getAverageGetTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Average time to execute put.")
+    public float getAveragePutTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Average time to execute remove.")
+    public float getAverageRemoveTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Average time to commit transaction.")
+    public float getAverageTxCommitTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Average time to rollback transaction.")
+    public float getAverageTxRollbackTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of transaction commits.")
+    public long getCacheTxCommits();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of transaction rollback.")
+    public long getCacheTxRollbacks();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Cache name.")
+    public String name();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of entries that was swapped to disk.")
+    public long getOverflowSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of entries stored in off-heap memory.")
+    public long getOffHeapEntriesCount();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Memory size allocated in off-heap.")
+    public long getOffHeapAllocatedSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of non-null values in the cache.")
+    public int getSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of keys in the cache (possibly with null values).")
+    public int getKeySize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("True if cache is empty.")
+    public boolean isEmpty();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Current size of evict queue.")
+    public int getDhtEvictQueueCurrentSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction per-thread map size.")
+    public int getTxThreadMapSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction per-Xid map size.")
+    public int getTxXidMapSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction committed queue size.")
+    public int getTxCommitQueueSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction prepared queue size.")
+    public int getTxPrepareQueueSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction start version counts map size.")
+    public int getTxStartVersionCountsSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction committed ID map size.")
+    public int getTxCommittedVersionsSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction rolled back ID map size.")
+    public int getTxRolledbackVersionsSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction DHT per-thread map size.")
+    public int getTxDhtThreadMapSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction DHT per-Xid map size.")
+    public int getTxDhtXidMapSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction DHT committed queue size.")
+    public int getTxDhtCommitQueueSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction DHT prepared queue size.")
+    public int getTxDhtPrepareQueueSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction DHT start version counts map size.")
+    public int getTxDhtStartVersionCountsSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction DHT committed ID map size.")
+    public int getTxDhtCommittedVersionsSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Transaction DHT rolled back ID map size.")
+    public int getTxDhtRolledbackVersionsSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("True if write-behind is enabled for this cache.")
+    public boolean isWriteBehindEnabled();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Size of internal buffer that triggers flush procedure.")
+    public int getWriteBehindFlushSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Count of flush threads.")
+    public int getWriteBehindFlushThreadCount();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Flush frequency interval in milliseconds.")
+    public long getWriteBehindFlushFrequency();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Maximum size of batch for similar operations.")
+    public int getWriteBehindStoreBatchSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Count of cache overflow events since write-behind cache has started.")
+    public int getWriteBehindTotalCriticalOverflowCount();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Count of cache overflow events since write-behind cache has started.")
+    public int getWriteBehindCriticalOverflowCount();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Count of cache cache entries that are currently in retry state.")
+    public int getWriteBehindErrorRetryCount();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Count of cache entries that are waiting to be flushed.")
+    public int getWriteBehindBufferSize();
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/mbean/CacheMetricsMxBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/mbean/CacheMetricsMxBean.java b/modules/core/src/main/java/org/apache/ignite/mbean/CacheMetricsMxBean.java
deleted file mode 100644
index 387347d..0000000
--- a/modules/core/src/main/java/org/apache/ignite/mbean/CacheMetricsMxBean.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.mbean;
-
-import org.apache.ignite.cache.*;
-import org.apache.ignite.*;
-
-/**
- * This interface defines JMX view on {@link IgniteCache}.
- */
-import org.apache.ignite.*;
-
-import javax.cache.management.*;
-
-/**
- * This interface defines JMX view on {@link IgniteCache}.
- */
-@IgniteMBeanDescription("MBean that provides access to cache descriptor.")
-public interface CacheMetricsMxBean extends CacheStatisticsMXBean, CacheMetrics {
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Clear statistics.")
-    public void clear();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of hits.")
-    public long getCacheHits();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Percentage of successful hits.")
-    public float getCacheHitPercentage();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of misses.")
-    public long getCacheMisses();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Percentage of accesses that failed to find anything.")
-    public float getCacheMissPercentage();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of gets.")
-    public long getCacheGets();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of puts.")
-    public long getCachePuts();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of removals.")
-    public long getCacheRemovals();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of eviction entries.")
-    public long getCacheEvictions();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average time to execute get.")
-    public float getAverageGetTime();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average time to execute put.")
-    public float getAveragePutTime();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average time to execute remove.")
-    public float getAverageRemoveTime();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average time to commit transaction.")
-    public float getAverageTxCommitTime();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average time to rollback transaction.")
-    public float getAverageTxRollbackTime();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of transaction commits.")
-    public long getCacheTxCommits();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of transaction rollback.")
-    public long getCacheTxRollbacks();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Cache name.")
-    public String name();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of entries that was swapped to disk.")
-    public long getOverflowSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of entries stored in off-heap memory.")
-    public long getOffHeapEntriesCount();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Memory size allocated in off-heap.")
-    public long getOffHeapAllocatedSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of non-null values in the cache.")
-    public int getSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of keys in the cache (possibly with null values).")
-    public int getKeySize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("True if cache is empty.")
-    public boolean isEmpty();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Current size of evict queue.")
-    public int getDhtEvictQueueCurrentSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction per-thread map size.")
-    public int getTxThreadMapSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction per-Xid map size.")
-    public int getTxXidMapSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction committed queue size.")
-    public int getTxCommitQueueSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction prepared queue size.")
-    public int getTxPrepareQueueSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction start version counts map size.")
-    public int getTxStartVersionCountsSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction committed ID map size.")
-    public int getTxCommittedVersionsSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction rolled back ID map size.")
-    public int getTxRolledbackVersionsSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT per-thread map size.")
-    public int getTxDhtThreadMapSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT per-Xid map size.")
-    public int getTxDhtXidMapSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT committed queue size.")
-    public int getTxDhtCommitQueueSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT prepared queue size.")
-    public int getTxDhtPrepareQueueSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT start version counts map size.")
-    public int getTxDhtStartVersionCountsSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT committed ID map size.")
-    public int getTxDhtCommittedVersionsSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT rolled back ID map size.")
-    public int getTxDhtRolledbackVersionsSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("True if write-behind is enabled for this cache.")
-    public boolean isWriteBehindEnabled();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Size of internal buffer that triggers flush procedure.")
-    public int getWriteBehindFlushSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Count of flush threads.")
-    public int getWriteBehindFlushThreadCount();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Flush frequency interval in milliseconds.")
-    public long getWriteBehindFlushFrequency();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Maximum size of batch for similar operations.")
-    public int getWriteBehindStoreBatchSize();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Count of cache overflow events since write-behind cache has started.")
-    public int getWriteBehindTotalCriticalOverflowCount();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Count of cache overflow events since write-behind cache has started.")
-    public int getWriteBehindCriticalOverflowCount();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Count of cache cache entries that are currently in retry state.")
-    public int getWriteBehindErrorRetryCount();
-
-    /** {@inheritDoc} */
-    @IgniteMBeanDescription("Count of cache entries that are waiting to be flushed.")
-    public int getWriteBehindBufferSize();
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2e6c9b7b/modules/core/src/main/java/org/apache/ignite/mbean/ClusterMetricsMXBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/mbean/ClusterMetricsMXBean.java b/modules/core/src/main/java/org/apache/ignite/mbean/ClusterMetricsMXBean.java
new file mode 100644
index 0000000..2146642
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/mbean/ClusterMetricsMXBean.java
@@ -0,0 +1,240 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.mbean;
+
+import org.apache.ignite.cluster.*;
+
+/**
+ * MBean for local node metrics.
+ */
+@IgniteMBeanDescription("MBean that provides access to all local node metrics.")
+public interface ClusterMetricsMXBean extends ClusterMetrics {
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Last update time of this node metrics.")
+    public long getLastUpdateTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Maximum number of jobs that ever ran concurrently on this node.")
+    public int getMaximumActiveJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of currently active jobs concurrently executing on the node.")
+    public int getCurrentActiveJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Average number of active jobs concurrently executing on the node.")
+    public float getAverageActiveJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Maximum number of waiting jobs this node had.")
+    public int getMaximumWaitingJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of queued jobs currently waiting to be executed.")
+    public int getCurrentWaitingJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Average number of waiting jobs this node had queued.")
+    public float getAverageWaitingJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Maximum number of jobs rejected at once during a single collision resolution operation.")
+    public int getMaximumRejectedJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of jobs rejected after more recent collision resolution operation.")
+    public int getCurrentRejectedJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Average number of jobs this node rejects during collision resolution operations.")
+    public float getAverageRejectedJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription(
+        "Total number of jobs this node rejects during collision resolution operations since node startup.")
+    public int getTotalRejectedJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Maximum number of cancelled jobs this node ever had running concurrently.")
+    public int getMaximumCancelledJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Number of cancelled jobs that are still running.")
+    public int getCurrentCancelledJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Average number of cancelled jobs this node ever had running concurrently.")
+    public float getAverageCancelledJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Total number of cancelled jobs since node startup.")
+    public int getTotalCancelledJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Total number of jobs handled by the node.")
+    public int getTotalExecutedJobs();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Maximum time a job ever spent waiting in a queue to be executed.")
+    public long getMaximumJobWaitTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Current wait time of oldest job.")
+    public long getCurrentJobWaitTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Average time jobs spend waiting in the queue to be executed.")
+    public double getAverageJobWaitTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Time it took to execute the longest job on the node.")
+    public long getMaximumJobExecuteTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Longest time a current job has been executing for.")
+    public long getCurrentJobExecuteTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Average time a job takes to execute on the node.")
+    public double getAverageJobExecuteTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Total number of tasks handled by the node.")
+    public int getTotalExecutedTasks();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Total time this node spent executing jobs.")
+    public long getTotalBusyTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Total time this node spent idling (not executing any jobs).")
+    public long getTotalIdleTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Time this node spend idling since executing last job.")
+    public long getCurrentIdleTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Percentage of time this node is busy executing jobs vs. idling.")
+    public float getBusyTimePercentage();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Percentage of time this node is idling vs. executing jobs.")
+    public float getIdleTimePercentage();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("The number of CPUs available to the Java Virtual Machine.")
+    public int getTotalCpus();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("The system load average; or a negative value if not available.")
+    public double getCurrentCpuLoad();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Average of CPU load values over all metrics kept in the history.")
+    public double getAverageCpuLoad();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Average time spent in CG since the last update.")
+    public double getCurrentGcCpuLoad();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("The initial size of memory in bytes; -1 if undefined.")
+    public long getHeapMemoryInitialized();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Current heap size that is used for object allocation.")
+    public long getHeapMemoryUsed();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("The amount of committed memory in bytes.")
+    public long getHeapMemoryCommitted();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("The maximum amount of memory in bytes; -1 if undefined.")
+    public long getHeapMemoryMaximum();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("The initial size of memory in bytes; -1 if undefined.")
+    public long getNonHeapMemoryInitialized();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Current non-heap memory size that is used by Java VM.")
+    public long getNonHeapMemoryUsed();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Amount of non-heap memory in bytes that is committed for the JVM to use.")
+    public long getNonHeapMemoryCommitted();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Maximum amount of non-heap memory in bytes that can " +
+            "be used for memory management. -1 if undefined.")
+    public long getNonHeapMemoryMaximum();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Uptime of the JVM in milliseconds.")
+    public long getUpTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Start time of the JVM in milliseconds.")
+    public long getStartTime();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Current number of live threads.")
+    public int getCurrentThreadCount();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("The peak live thread count.")
+    public int getMaximumThreadCount();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("The total number of threads started.")
+    public long getTotalStartedThreadCount();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Current number of live daemon threads.")
+    public int getCurrentDaemonThreadCount();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Last data version.")
+    public long getLastDataVersion();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Sent messages count.")
+    public int getSentMessagesCount();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Sent bytes count.")
+    public long getSentBytesCount();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Received messages count.")
+    public int getReceivedMessagesCount();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Received bytes count.")
+    public long getReceivedBytesCount();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Outbound messages queue size.")
+    public int getOutboundMessagesQueueSize();
+
+    /** {@inheritDoc} */
+    @IgniteMBeanDescription("Start time of the grid node in milliseconds.")
+    @Override long getNodeStartTime();
+}


Mime
View raw message