You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ud...@apache.org on 2018/08/02 20:16:19 UTC
[geode] branch feature/CleanMicrometer updated: MORE WIP
This is an automated email from the ASF dual-hosted git repository.
udo pushed a commit to branch feature/CleanMicrometer
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/feature/CleanMicrometer by this push:
new 52bf5ca MORE WIP
52bf5ca is described below
commit 52bf5ca1d4d2c4d4e7c8858dcd8c44c9ff134701
Author: Udo Kohlmeyer <uk...@pivotal.io>
AuthorDate: Thu Aug 2 13:16:07 2018 -0700
MORE WIP
---
.../apache/geode/admin/AdminDistributedSystem.java | 1 +
.../java/org/apache/geode/admin/Statistic.java | 63 --
.../geode/admin/internal/CacheHealthEvaluator.java | 136 ++--
.../internal/DistributedSystemHealthMonitor.java | 60 +-
.../admin/internal/StatisticResourceImpl.java | 149 ++--
.../admin/internal/SystemMemberCacheImpl.java | 90 ++-
.../geode/admin/internal/SystemMemberImpl.java | 37 +-
.../internal/AdminDistributedSystemJmxImpl.java | 790 ++++++++++-----------
.../admin/jmx/internal/StatAlertsAggregator.java | 13 +-
.../client/internal/GetClientPRMetaDataOp.java | 5 +-
.../geode/cache/client/internal/GetPDXEnumsOp.java | 1 +
.../geode/cache/client/internal/PrimaryAckOp.java | 1 +
.../cache/client/internal/QueueConnectionImpl.java | 1 +
.../cache/client/internal/RegisterInterestOp.java | 1 +
.../cache/query/internal/SortedResultsBag.java | 1 -
.../internal/InternalDistributedSystem.java | 44 +-
.../membership/gms/messenger/JGroupsMessenger.java | 7 +-
.../org/apache/geode/internal/SystemAdmin.java | 34 +-
.../org/apache/geode/internal/admin/CacheInfo.java | 2 +-
.../org/apache/geode/internal/admin/GemFireVM.java | 36 +-
.../internal/admin/remote/RemoteGemFireVM.java | 321 ++++-----
.../geode/internal/admin/remote/RemoteStat.java | 7 +-
.../internal/cache/DistTXRollbackMessage.java | 53 +-
.../geode/internal/cache/InternalRegion.java | 3 +-
.../apache/geode/internal/cache/LocalRegion.java | 14 +-
.../internal/cache/control/HeapMemoryMonitor.java | 12 +-
.../cache/eviction/AbstractEvictionController.java | 3 +
.../cache/eviction/CountLRUStatistics.java | 111 ---
.../internal/cache/eviction/EvictionCounters.java | 4 +
.../internal/cache/eviction/HeapLRUStatistics.java | 108 ---
.../cache/eviction/MemoryLRUStatistics.java | 110 ---
.../geode/internal/cache/tx/RemoteSizeMessage.java | 3 +-
.../wan/parallel/ParallelGatewaySenderQueue.java | 138 ++--
.../serial/SerialGatewaySenderEventProcessor.java | 2 +-
.../internal/statistics/LocalStatListener.java | 0
.../internal/statistics/StatArchiveDescriptor.java | 0
.../internal/statistics/StatArchiveFormat.java | 0
.../internal/statistics/StatArchiveHandler.java | 0
.../statistics/StatArchiveHandlerConfig.java | 0
.../internal/statistics/StatArchiveReader.java | 0
.../internal/statistics/StatArchiveWriter.java | 0
.../management/internal/FederatingManager.java | 6 +-
.../geode/management/internal/LocalManager.java | 9 +-
.../internal/beans/DiskRegionBridge.java | 153 ++--
.../internal/beans/MemberMBeanBridge.java | 18 +-
.../internal/beans/PartitionedRegionBridge.java | 311 ++++----
.../internal/beans/RegionMBeanBridge.java | 290 ++++----
.../geode/statistics/cache/CachePerfStats.kt | 28 +-
.../geode/statistics/disk/DiskRegionStats.kt | 4 +
.../statistics/eviction/CountLRUStatistics.kt | 42 ++
.../geode/statistics/eviction/EvictionStats.kt | 28 +-
.../geode/statistics/eviction/EvictionStatsImpl.kt | 36 +
.../geode/statistics/eviction/HeapLRUStatistics.kt | 39 +
.../statistics/eviction/MemoryLRUStatistics.kt | 41 ++
.../java/org/apache/geode/internal/admin/Stat.java | 0
.../org/apache/geode/internal/admin/StatAlert.java | 0
.../geode/internal/admin/StatAlertDefinition.java | 0
.../geode/internal/admin/StatAlertsManager.java | 14 +-
.../apache/geode/internal/admin/StatListener.java | 0
.../apache/geode/internal/admin/StatResource.java | 0
.../admin/statalerts/BaseDecoratorImpl.java | 0
.../admin/statalerts/DummyStatisticInfoImpl.java | 2 -
.../admin/statalerts/FunctionDecoratorImpl.java | 0
.../internal/admin/statalerts/FunctionHelper.java | 0
.../statalerts/GaugeThresholdDecoratorImpl.java | 0
.../admin/statalerts/MultiAttrDefinitionImpl.java | 0
.../statalerts/NumberThresholdDecoratorImpl.java | 0
.../admin/statalerts/SingleAttrDefinitionImpl.java | 0
.../internal/admin/statalerts/StatisticInfo.java | 0
.../admin/statalerts/StatisticInfoImpl.java | 0
70 files changed, 1553 insertions(+), 1829 deletions(-)
diff --git a/geode-core/src/main/java/org/apache/geode/admin/AdminDistributedSystem.java b/geode-core/src/main/java/org/apache/geode/admin/AdminDistributedSystem.java
index e6d6045..658d76a 100755
--- a/geode-core/src/main/java/org/apache/geode/admin/AdminDistributedSystem.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/AdminDistributedSystem.java
@@ -23,6 +23,7 @@ import java.util.UUID;
import org.apache.geode.cache.DataPolicy;
import org.apache.geode.cache.persistence.PersistentID;
import org.apache.geode.distributed.DistributedMember;
+import org.apache.geode.internal.admin.AlertListener;
/**
* Administrative interface for managing an entire GemFire distributed system. This interface should
diff --git a/geode-core/src/main/java/org/apache/geode/admin/Statistic.java b/geode-core/src/main/java/org/apache/geode/admin/Statistic.java
deleted file mode 100755
index dd9b4b1..0000000
--- a/geode-core/src/main/java/org/apache/geode/admin/Statistic.java
+++ /dev/null
@@ -1,63 +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.geode.admin;
-
-/**
- * Interface to represent a single statistic of a <code>StatisticResource</code>
- *
- * @since GemFire 3.5
- *
- * @deprecated as of 7.0 use the <code><a href=
- * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
- * package instead
- */
-public interface Statistic extends java.io.Serializable {
-
- /**
- * Gets the identifying name of this statistic.
- *
- * @return the identifying name of this statistic
- */
- String getName();
-
- /**
- * Gets the value of this statistic as a <code>java.lang.Number</code>.
- *
- * @return the value of this statistic
- */
- Number getValue();
-
- /**
- * Gets the unit of measurement (if any) this statistic represents.
- *
- * @return the unit of measurement (if any) this statistic represents
- */
- String getUnits();
-
- /**
- * Returns true if this statistic represents a numeric value which always increases.
- *
- * @return true if this statistic represents a value which always increases
- */
- boolean isCounter();
-
- /**
- * Gets the full description of this statistic.
- *
- * @return the full description of this statistic
- */
- String getDescription();
-}
diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/CacheHealthEvaluator.java b/geode-core/src/main/java/org/apache/geode/admin/internal/CacheHealthEvaluator.java
index adf03ca..3081eb1 100644
--- a/geode-core/src/main/java/org/apache/geode/admin/internal/CacheHealthEvaluator.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/internal/CacheHealthEvaluator.java
@@ -26,11 +26,11 @@ import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.internal.OSProcess;
import org.apache.geode.internal.cache.CacheLifecycleListener;
-import org.apache.geode.internal.cache.CachePerfStats;
import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.i18n.LocalizedStrings;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.statistics.cache.CachePerfStats;
/**
* Contains the logic for evaluating the health of a GemFire {@code Cache} instance according to the
@@ -132,30 +132,30 @@ class CacheHealthEvaluator extends AbstractHealthEvaluator implements CacheLifec
* interval is less than the {@linkplain CacheHealthConfig#getMaxNetSearchTime threshold}. If not,
* the status is "okay" health.
*
- * @see CachePerfStats#getNetsearchTime
+// * @see CachePerfStats#getNetsearchTime
* @see CachePerfStats#getNetsearchesCompleted
*/
private void checkNetSearchTime(List status) {
- if (this.cacheStats == null || isFirstEvaluation() || this.cacheStats.isClosed()) {
+ if (this.cacheStats == null || isFirstEvaluation()) {
return;
}
- long deltaNetsearchTime = this.cacheStats.getNetsearchTime() - this.prevNetsearchTime;
- long deltaNetsearchesCompleted =
- this.cacheStats.getNetsearchesCompleted() - this.prevNetsearchesCompleted;
-
- if (deltaNetsearchesCompleted != 0) {
- long ratio = deltaNetsearchTime / deltaNetsearchesCompleted;
- ratio /= 1000000;
- long threshold = this.config.getMaxNetSearchTime();
-
- if (ratio > threshold) {
- String s =
- LocalizedStrings.CacheHealthEvaluator_THE_AVERAGE_DURATION_OF_A_CACHE_NETSEARCH_0_MS_EXCEEDS_THE_THRESHOLD_1_MS
- .toLocalizedString(ratio, threshold);
- status.add(okayHealth(s));
- }
- }
+// long deltaNetsearchTime = this.cacheStats.getNetsearchTime() - this.prevNetsearchTime;
+// long deltaNetsearchesCompleted =
+// this.cacheStats.getNetsearchesCompleted() - this.prevNetsearchesCompleted;
+//
+// if (deltaNetsearchesCompleted != 0) {
+// long ratio = deltaNetsearchTime / deltaNetsearchesCompleted;
+// ratio /= 1000000;
+// long threshold = this.config.getMaxNetSearchTime();
+//
+// if (ratio > threshold) {
+// String s =
+// LocalizedStrings.CacheHealthEvaluator_THE_AVERAGE_DURATION_OF_A_CACHE_NETSEARCH_0_MS_EXCEEDS_THE_THRESHOLD_1_MS
+// .toLocalizedString(ratio, threshold);
+ status.add(okayHealth("TODO fix health check"));
+// }
+// }
}
/**
@@ -163,39 +163,38 @@ class CacheHealthEvaluator extends AbstractHealthEvaluator implements CacheLifec
* interval is less than the {@linkplain CacheHealthConfig#getMaxLoadTime threshold}. If not, the
* status is "okay" health.
*
- * @see CachePerfStats#getLoadTime
- * @see CachePerfStats#getLoadsCompleted
+// * @see CachePerfStats#getLoadTime
+// * @see CachePerfStats#getLoadsCompleted
*/
private void checkLoadTime(List<HealthStatus> status) {
- if (this.cacheStats == null || isFirstEvaluation() || this.cacheStats.isClosed()) {
+ if (this.cacheStats == null || isFirstEvaluation()) {
return;
}
- if (!isFirstEvaluation()) {
- long deltaLoadTime = this.cacheStats.getLoadTime() - this.prevLoadTime;
- long deltaLoadsCompleted = this.cacheStats.getLoadsCompleted() - this.prevLoadsCompleted;
-
- if (logger.isDebugEnabled()) {
- logger.debug("Completed {} loads in {} ms", deltaLoadsCompleted, deltaLoadTime / 1000000);
- }
-
- if (deltaLoadsCompleted != 0) {
- long ratio = deltaLoadTime / deltaLoadsCompleted;
- ratio /= 1000000;
- long threshold = this.config.getMaxLoadTime();
-
- if (ratio > threshold) {
- String s =
- LocalizedStrings.CacheHealthEvaluator_THE_AVERAGE_DURATION_OF_A_CACHE_LOAD_0_MS_EXCEEDS_THE_THRESHOLD_1_MS
- .toLocalizedString(ratio, threshold);
- if (logger.isDebugEnabled()) {
- logger.debug(s);
- }
- status.add(okayHealth(s));
- }
- }
+// if (!isFirstEvaluation()) {
+// long deltaLoadTime = this.cacheStats.getLoadTime() - this.prevLoadTime;
+// long deltaLoadsCompleted = this.cacheStats.getLoadsCompleted() - this.prevLoadsCompleted;
+//
+// if (logger.isDebugEnabled()) {
+// logger.debug("Completed {} loads in {} ms", deltaLoadsCompleted, deltaLoadTime / 1000000);
+// }
+//
+// if (deltaLoadsCompleted != 0) {
+// long ratio = deltaLoadTime / deltaLoadsCompleted;
+// ratio /= 1000000;
+// long threshold = this.config.getMaxLoadTime();
+//
+// if (ratio > threshold) {
+// String s =
+// LocalizedStrings.CacheHealthEvaluator_THE_AVERAGE_DURATION_OF_A_CACHE_LOAD_0_MS_EXCEEDS_THE_THRESHOLD_1_MS
+// .toLocalizedString(ratio, threshold);
+// if (logger.isDebugEnabled()) {
+// logger.debug(s);
+// }
+ status.add(okayHealth("TODO fix health check"));
+// }
+// }
}
- }
/**
* Checks to make sure that the cache hit ratio during the previous health check interval is less
@@ -211,30 +210,31 @@ class CacheHealthEvaluator extends AbstractHealthEvaluator implements CacheLifec
* </PRE>
*
*
- * @see CachePerfStats#getGets
- * @see CachePerfStats#getLoadsCompleted
+// * @see CachePerfStats#getGets
+// * @see CachePerfStats#getLoadsCompleted
* @see CachePerfStats#getNetsearchesCompleted
*/
private void checkHitRatio(List<HealthStatus> status) {
- if (this.cacheStats == null || isFirstEvaluation() || this.cacheStats.isClosed()) {
+ if (this.cacheStats == null || isFirstEvaluation()) {
return;
}
- long deltaGets = this.cacheStats.getGets() - this.prevGets;
- if (deltaGets != 0) {
- long deltaLoadsCompleted = this.cacheStats.getLoadsCompleted() - this.prevLoadsCompleted;
- long deltaNetsearchesCompleted =
- this.cacheStats.getNetsearchesCompleted() - this.prevNetsearchesCompleted;
-
- double hits = deltaGets - (deltaLoadsCompleted + deltaNetsearchesCompleted);
- double hitRatio = hits / deltaGets;
- double threshold = this.config.getMinHitRatio();
- if (hitRatio < threshold) {
- String s = "The hit ratio of this Cache (" + hitRatio + ") is below the threshold ("
- + threshold + ')';
- status.add(okayHealth(s));
- }
- }
+// long deltaGets = this.cacheStats.getGets() - this.prevGets;
+// if (deltaGets != 0) {
+// long deltaLoadsCompleted = this.cacheStats.getLoadsCompleted() - this.prevLoadsCompleted;
+// long deltaNetsearchesCompleted =
+// this.cacheStats.getNetsearchesCompleted() - this.prevNetsearchesCompleted;
+//
+// double hits = deltaGets - (deltaLoadsCompleted + deltaNetsearchesCompleted);
+// double hitRatio = hits / deltaGets;
+// double threshold = this.config.getMinHitRatio();
+// if (hitRatio < threshold) {
+// String s = "The hit ratio of this Cache (" + hitRatio + ") is below the threshold ("
+// + threshold + ')';
+// status.add(okayHealth(s));
+ status.add(okayHealth("TODO fix health check"));
+// }
+// }
}
/**
@@ -243,7 +243,7 @@ class CacheHealthEvaluator extends AbstractHealthEvaluator implements CacheLifec
* does, the status is "okay" health.
*/
private void checkEventQueueSize(List<HealthStatus> status) {
- if (this.cacheStats == null || isFirstEvaluation() || this.cacheStats.isClosed()) {
+ if (this.cacheStats == null || isFirstEvaluation() ) {
return;
}
@@ -261,10 +261,10 @@ class CacheHealthEvaluator extends AbstractHealthEvaluator implements CacheLifec
* Updates the previous values of statistics
*/
private void updatePrevious() {
- if (this.cacheStats != null && !this.cacheStats.isClosed()) {
- this.prevLoadTime = this.cacheStats.getLoadTime();
+ if (this.cacheStats != null) {
+// this.prevLoadTime = this.cacheStats.getLoadTime();
this.prevLoadsCompleted = this.cacheStats.getLoadsCompleted();
- this.prevNetsearchTime = this.cacheStats.getNetsearchTime();
+// this.prevNetsearchTime = this.cacheStats.getNetsearchTime();
this.prevNetsearchesCompleted = this.cacheStats.getNetsearchesCompleted();
this.prevGets = this.cacheStats.getGets();
diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemHealthMonitor.java b/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemHealthMonitor.java
index a429433..b05b5ee 100644
--- a/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemHealthMonitor.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemHealthMonitor.java
@@ -38,10 +38,6 @@ import org.apache.geode.internal.admin.DLockInfo;
import org.apache.geode.internal.admin.GemFireVM;
import org.apache.geode.internal.admin.GfManagerAgent;
import org.apache.geode.internal.admin.HealthListener;
-import org.apache.geode.internal.admin.Stat;
-import org.apache.geode.internal.admin.StatAlertDefinition;
-import org.apache.geode.internal.admin.StatListener;
-import org.apache.geode.internal.admin.StatResource;
import org.apache.geode.internal.i18n.LocalizedStrings;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.LoggingThreadGroup;
@@ -253,31 +249,31 @@ class DistributedSystemHealthMonitor implements Runnable, GemFireVM {
LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
}
- public StatResource[] getStats(String statisticsTypeName) {
- throw new UnsupportedOperationException(
- LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
- }
-
- public StatResource[] getAllStats() {
- throw new UnsupportedOperationException(
- LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
- }
+// public StatResource[] getStats(String statisticsTypeName) {
+// throw new UnsupportedOperationException(
+// LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
+// }
+//
+// public StatResource[] getAllStats() {
+// throw new UnsupportedOperationException(
+// LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
+// }
public DLockInfo[] getDistributedLockInfo() {
throw new UnsupportedOperationException(
LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
}
- public void addStatListener(StatListener observer, StatResource observedResource,
- Stat observedStat) {
- throw new UnsupportedOperationException(
- LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
- }
-
- public void removeStatListener(StatListener observer) {
- throw new UnsupportedOperationException(
- LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
- }
+// public void addStatListener(StatListener observer, StatResource observedResource,
+// Stat observedStat) {
+// throw new UnsupportedOperationException(
+// LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
+// }
+//
+// public void removeStatListener(StatListener observer) {
+// throw new UnsupportedOperationException(
+// LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
+// }
public void addHealthListener(HealthListener observer, GemFireHealthConfig cfg) {
@@ -434,11 +430,11 @@ class DistributedSystemHealthMonitor implements Runnable, GemFireVM {
* This operation is not supported for this object. Will throw UnsupportedOperationException if
* invoked.
*/
- public void setAlertsManager(StatAlertDefinition[] alertDefs, long refreshInterval,
- boolean setRemotely) {
- throw new UnsupportedOperationException(
- LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
- }
+// public void setAlertsManager(StatAlertDefinition[] alertDefs, long refreshInterval,
+// boolean setRemotely) {
+// throw new UnsupportedOperationException(
+// LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
+// }
/**
* This operation is not supported for this object. Will throw UnsupportedOperationException if
@@ -453,8 +449,8 @@ class DistributedSystemHealthMonitor implements Runnable, GemFireVM {
* This operation is not supported for this object. Will throw UnsupportedOperationException if
* invoked.
*/
- public void updateAlertDefinitions(StatAlertDefinition[] alertDefs, int actionCode) {
- throw new UnsupportedOperationException(
- LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
- }
+// public void updateAlertDefinitions(StatAlertDefinition[] alertDefs, int actionCode) {
+// throw new UnsupportedOperationException(
+// LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
+// }
}
diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/StatisticResourceImpl.java b/geode-core/src/main/java/org/apache/geode/admin/internal/StatisticResourceImpl.java
index ed3dade..cff3d8f 100755
--- a/geode-core/src/main/java/org/apache/geode/admin/internal/StatisticResourceImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/internal/StatisticResourceImpl.java
@@ -14,26 +14,16 @@
*/
package org.apache.geode.admin.internal;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.geode.admin.AdminException;
-import org.apache.geode.admin.Statistic;
-import org.apache.geode.admin.SystemMember;
-import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.admin.Stat;
-import org.apache.geode.internal.admin.StatResource;
-import org.apache.geode.internal.i18n.LocalizedStrings;
-
/**
* Provides monitoring of a statistic resource.
*
* @since GemFire 3.5
*/
-public class StatisticResourceImpl implements org.apache.geode.admin.StatisticResource {
+public class StatisticResourceImpl{
+//public class StatisticResourceImpl implements org.apache.geode.admin.StatisticResource {
/** The underlying remote StatResource which this object delegates to */
- protected StatResource statResource;
+// protected StatResource statResource;
/** Displayable name of this statistic resource */
protected String name;
/** Description of this statistic resource */
@@ -41,9 +31,9 @@ public class StatisticResourceImpl implements org.apache.geode.admin.StatisticRe
/** Classification type of this statistic resource */
protected String type;
/** GemFire system member which owns this statistic resource */
- protected SystemMember member;
+// protected SystemMember member;
/** The array of statistics in this resource */
- protected Statistic[] statistics;
+// protected Statistic[] statistics;
// -------------------------------------------------------------------------
// Constructor(s)
@@ -52,19 +42,16 @@ public class StatisticResourceImpl implements org.apache.geode.admin.StatisticRe
/**
* Constructs an instance of StatisticResourceImpl.
*
- * @param statResource the admin StatResource to manage/monitor
- * @param member the SystemMember owning this resource
- * @exception org.apache.geode.admin.AdminException if unable to create this StatisticResource for
* administration
*/
- public StatisticResourceImpl(StatResource statResource, SystemMember member)
- throws org.apache.geode.admin.AdminException {
- this.statResource = statResource;
- this.member = member;
- this.name = this.statResource.getName();
- this.description = this.statResource.getDescription();
- this.type = this.statResource.getType();
- }
+// public StatisticResourceImpl(StatResource statResource, SystemMember member)
+// throws org.apache.geode.admin.AdminException {
+// this.statResource = statResource;
+// this.member = member;
+// this.name = this.statResource.getName();
+// this.description = this.statResource.getDescription();
+// this.type = this.statResource.getType();
+// }
// -------------------------------------------------------------------------
// Attributes accessors and mutators
@@ -82,53 +69,53 @@ public class StatisticResourceImpl implements org.apache.geode.admin.StatisticRe
return this.type;
}
- public String getOwner() {
- return this.member.toString();
- }
-
- public Statistic[] getStatistics() {
- if (this.statistics == null) {
- try {
- refresh();
- } catch (AdminException e) {
- this.statistics = new Statistic[0];
- }
- }
- return this.statistics;
- }
-
- public long getUniqueId() {
- return this.statResource.getResourceUniqueID();
- }
+// public String getOwner() {
+// return this.member.toString();
+// }
+
+// public Statistic[] getStatistics() {
+// if (this.statistics == null) {
+// try {
+// refresh();
+// } catch (AdminException e) {
+// this.statistics = new Statistic[0];
+// }
+// }
+// return this.statistics;
+// }
+
+// public long getUniqueId() {
+// return this.statResource.getResourceUniqueID();
+// }
// -------------------------------------------------------------------------
// Operations
// -------------------------------------------------------------------------
- public void refresh() throws org.apache.geode.admin.AdminException {
- Stat[] stats = null;
- if (this.statResource != null) {
- stats = this.statResource.getStats();
- }
- if (stats == null || stats.length < 1) {
- throw new AdminException(
- LocalizedStrings.StatisticResourceImpl_FAILED_TO_REFRESH_STATISTICS_0_FOR_1
- .toLocalizedString(getType() + "-" + getName(), getOwner()));
- }
-
- if (this.statistics == null || this.statistics.length < 1) {
- // define new statistics instances...
- List statList = new ArrayList();
- for (int i = 0; i < stats.length; i++) {
- statList.add(createStatistic(stats[i]));
- }
- this.statistics = (Statistic[]) statList.toArray(new Statistic[0]);
- } else {
- // update the existing instances...
- for (int i = 0; i < stats.length; i++) {
- updateStatistic(stats[i]);
- }
- }
+ public void refresh() {
+// Stat[] stats = null;
+// if (this.statResource != null) {
+// stats = this.statResource.getStats();
+// }
+// if (stats == null || stats.length < 1) {
+// throw new AdminException(
+// LocalizedStrings.StatisticResourceImpl_FAILED_TO_REFRESH_STATISTICS_0_FOR_1
+// .toLocalizedString(getType() + "-" + getName(), getOwner()));
+// }
+
+// if (this.statistics == null || this.statistics.length < 1) {
+// // define new statistics instances...
+// List statList = new ArrayList();
+// for (int i = 0; i < stats.length; i++) {
+// statList.add(createStatistic(stats[i]));
+// }
+// this.statistics = (Statistic[]) statList.toArray(new Statistic[0]);
+// } else {
+// // update the existing instances...
+// for (int i = 0; i < stats.length; i++) {
+// updateStatistic(stats[i]);
+// }
+// }
}
// -------------------------------------------------------------------------
@@ -137,29 +124,27 @@ public class StatisticResourceImpl implements org.apache.geode.admin.StatisticRe
/**
* Updates the value of the {@link Statistic} corresponding to the internal
- * {@link org.apache.geode.internal.admin.Stat}
*
* @param stat the internal stat to use in updating the matching statistic
*/
- private void updateStatistic(Stat stat) {
- for (int i = 0; i < this.statistics.length; i++) {
- if (this.statistics[i].getName().equals(stat.getName())) {
- ((StatisticImpl) this.statistics[i]).setStat(stat);
- return;
- }
- }
- Assert.assertTrue(false, "Unknown stat: " + stat.getName());
- }
+// private void updateStatistic(Stat stat) {
+// for (int i = 0; i < this.statistics.length; i++) {
+// if (this.statistics[i].getName().equals(stat.getName())) {
+// ((StatisticImpl) this.statistics[i]).setStat(stat);
+// return;
+// }
+// }
+// Assert.assertTrue(false, "Unknown stat: " + stat.getName());
+// }
/**
* Creates a new {@link StatisticImpl} to represent the internal
- * {@link org.apache.geode.internal.admin.Stat}
*
* @param stat the internal stat to wrap in a new statistic
*/
- protected Statistic createStatistic(Stat stat) {
- return new StatisticImpl(stat);
- }
+// protected Statistic createStatistic(Stat stat) {
+// return new StatisticImpl(stat);
+// }
/**
* Returns a string representation of the object.
diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/SystemMemberCacheImpl.java b/geode-core/src/main/java/org/apache/geode/admin/internal/SystemMemberCacheImpl.java
index 1ccb48a..9340614 100644
--- a/geode-core/src/main/java/org/apache/geode/admin/internal/SystemMemberCacheImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/internal/SystemMemberCacheImpl.java
@@ -36,8 +36,6 @@ import org.apache.geode.internal.ObjIdMap;
import org.apache.geode.internal.admin.AdminBridgeServer;
import org.apache.geode.internal.admin.CacheInfo;
import org.apache.geode.internal.admin.GemFireVM;
-import org.apache.geode.internal.admin.Stat;
-import org.apache.geode.internal.admin.StatResource;
import org.apache.geode.internal.i18n.LocalizedStrings;
/**
@@ -181,54 +179,54 @@ public class SystemMemberCacheImpl implements SystemMemberCache {
// internal methods
private void initStats() {
- StatResource resource = this.info.getPerfStats();
- if (resource == null) {
- // See bug 31397
- Assert.assertTrue(this.isClosed());
- return;
- }
-
- Stat[] stats = resource.getStats();
- if (stats == null || stats.length < 1) {
- this.statistics = new Statistic[0];
- return;
- }
+// StatResource resource = this.info.getPerfStats();
+// if (resource == null) {
+// // See bug 31397
+// Assert.assertTrue(this.isClosed());
+// return;
+// }
+//
+// Stat[] stats = resource.getStats();
+// if (stats == null || stats.length < 1) {
+// this.statistics = new Statistic[0];
+// return;
+// }
// define new statistics instances...
- List statList = new ArrayList();
- for (int i = 0; i < stats.length; i++) {
- statList.add(createStatistic(stats[i]));
- }
- this.statistics = (Statistic[]) statList.toArray(new Statistic[statList.size()]);
+// List statList = new ArrayList();
+// for (int i = 0; i < stats.length; i++) {
+// statList.add(createStatistic(stats[i]));
+// }
+// this.statistics = (Statistic[]) statList.toArray(new Statistic[statList.size()]);
}
private void updateStats() {
- StatResource resource = this.info.getPerfStats();
- if (resource == null) {
- // See bug 31397
- Assert.assertTrue(this.isClosed());
- return;
- }
-
- Stat[] stats = resource.getStats();
- if (stats == null || stats.length < 1) {
- return;
- }
-
- for (int i = 0; i < stats.length; i++) {
- updateStatistic(stats[i]);
- }
+// StatResource resource = this.info.getPerfStats();
+// if (resource == null) {
+// // See bug 31397
+// Assert.assertTrue(this.isClosed());
+// return;
+// }
+//
+// Stat[] stats = resource.getStats();
+// if (stats == null || stats.length < 1) {
+// return;
+// }
+//
+// for (int i = 0; i < stats.length; i++) {
+// updateStatistic(stats[i]);
+// }
}
- private void updateStatistic(Stat stat) {
- for (int i = 0; i < this.statistics.length; i++) {
- if (this.statistics[i].getName().equals(stat.getName())) {
- ((StatisticImpl) this.statistics[i]).setStat(stat);
- return;
- }
- }
- Assert.assertTrue(false, "Unknown stat: " + stat.getName());
- }
+// private void updateStatistic(Stat stat) {
+// for (int i = 0; i < this.statistics.length; i++) {
+// if (this.statistics[i].getName().equals(stat.getName())) {
+// ((StatisticImpl) this.statistics[i]).setStat(stat);
+// return;
+// }
+// }
+// Assert.assertTrue(false, "Unknown stat: " + stat.getName());
+// }
/**
* Returns the <code>CacheInfo</code> that describes this cache. Note that this operation does not
@@ -242,9 +240,9 @@ public class SystemMemberCacheImpl implements SystemMemberCache {
return this.vm;
}
- protected Statistic createStatistic(Stat stat) {
- return new StatisticImpl(stat);
- }
+// protected Statistic createStatistic(Stat stat) {
+// return new StatisticImpl(stat);
+// }
protected SystemMemberRegion createSystemMemberRegion(Region r)
throws org.apache.geode.admin.AdminException {
diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/SystemMemberImpl.java b/geode-core/src/main/java/org/apache/geode/admin/internal/SystemMemberImpl.java
index 0341c9a..ed30941 100755
--- a/geode-core/src/main/java/org/apache/geode/admin/internal/SystemMemberImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/internal/SystemMemberImpl.java
@@ -43,7 +43,6 @@ import org.apache.geode.distributed.internal.membership.InternalDistributedMembe
import org.apache.geode.internal.Config;
import org.apache.geode.internal.ConfigSource;
import org.apache.geode.internal.admin.GemFireVM;
-import org.apache.geode.internal.admin.StatResource;
import org.apache.geode.internal.i18n.LocalizedStrings;
import org.apache.geode.internal.logging.LogService;
@@ -217,17 +216,17 @@ public class SystemMemberImpl implements org.apache.geode.admin.SystemMember,
public StatisticResource[] getStat(String statisticsTypeName)
throws org.apache.geode.admin.AdminException {
StatisticResource[] res = new StatisticResource[0];
- if (this.vm != null) {
- res = getStatsImpl(this.vm.getStats(statisticsTypeName));
- }
+// if (this.vm != null) {
+// res = getStatsImpl(this.vm.getStats(statisticsTypeName));
+// }
return res.length == 0 ? null : res;
}
public StatisticResource[] getStats() throws org.apache.geode.admin.AdminException {
StatisticResource[] statsImpl = new StatisticResource[0];
- if (this.vm != null) {
- statsImpl = getStatsImpl(this.vm.getStats(null));
- }
+// if (this.vm != null) {
+// statsImpl = getStatsImpl(this.vm.getStats(null));
+// }
return statsImpl;
}
@@ -434,10 +433,10 @@ public class SystemMemberImpl implements org.apache.geode.admin.SystemMember,
* @param stat the internal stat resource to wrap with {@link StatisticResource}
* @return new impl instance of {@link StatisticResource}
*/
- protected StatisticResource createStatisticResource(StatResource stat)
- throws org.apache.geode.admin.AdminException {
- return new StatisticResourceImpl(stat, this);
- }
+// protected StatisticResource createStatisticResource(StatResource stat)
+// throws org.apache.geode.admin.AdminException {
+// return new StatisticResourceImpl(stat, this);
+// }
/**
* Template method for creating {@link ConfigurationParameter}.
@@ -466,14 +465,14 @@ public class SystemMemberImpl implements org.apache.geode.admin.SystemMember,
}
/** Wrap the internal stats with impls of {@link StatisticResource} */
- protected StatisticResource[] getStatsImpl(StatResource[] stats)
- throws org.apache.geode.admin.AdminException {
- List statList = new ArrayList();
- for (int i = 0; i < stats.length; i++) {
- statList.add(createStatisticResource(stats[i]));
- }
- return (StatisticResource[]) statList.toArray(new StatisticResource[0]);
- }
+// protected StatisticResource[] getStatsImpl(StatResource[] stats)
+// throws org.apache.geode.admin.AdminException {
+// List statList = new ArrayList();
+// for (int i = 0; i < stats.length; i++) {
+// statList.add(createStatisticResource(stats[i]));
+// }
+// return (StatisticResource[]) statList.toArray(new StatisticResource[0]);
+// }
public String[] getRoles() {
Set roles = this.internalId.getRoles();
diff --git a/geode-core/src/main/java/org/apache/geode/admin/jmx/internal/AdminDistributedSystemJmxImpl.java b/geode-core/src/main/java/org/apache/geode/admin/jmx/internal/AdminDistributedSystemJmxImpl.java
index 403dd14..09ad8ba 100755
--- a/geode-core/src/main/java/org/apache/geode/admin/jmx/internal/AdminDistributedSystemJmxImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/jmx/internal/AdminDistributedSystemJmxImpl.java
@@ -85,9 +85,6 @@ import org.apache.geode.internal.admin.ApplicationVM;
import org.apache.geode.internal.admin.ClientMembershipMessage;
import org.apache.geode.internal.admin.GemFireVM;
import org.apache.geode.internal.admin.GfManagerAgent;
-import org.apache.geode.internal.admin.StatAlert;
-import org.apache.geode.internal.admin.StatAlertDefinition;
-import org.apache.geode.internal.admin.remote.UpdateAlertDefinitionMessage;
import org.apache.geode.internal.i18n.LocalizedStrings;
import org.apache.geode.internal.logging.InternalLogWriter;
import org.apache.geode.internal.logging.LogService;
@@ -103,7 +100,8 @@ import org.apache.geode.internal.logging.log4j.LocalizedMessage;
* @since GemFire 3.5
*/
public class AdminDistributedSystemJmxImpl extends AdminDistributedSystemImpl
- implements ManagedResource, DistributedSystemConfig, StatAlertsAggregator {
+// implements ManagedResource, DistributedSystemConfig, StatAlertsAggregator {
+ implements ManagedResource, DistributedSystemConfig{
private static final Logger logger = LogService.getLogger();
@@ -990,7 +988,7 @@ public class AdminDistributedSystemJmxImpl extends AdminDistributedSystemImpl
super.connect(logWriter);
// Load existing StatAlert Definitions
- readAlertDefinitionsAsSerializedObjects();
+// readAlertDefinitionsAsSerializedObjects();
/* Add Cache Listener to listen to Cache & Region create/destroy events */
if (logger.isDebugEnabled()) {
@@ -1023,7 +1021,7 @@ public class AdminDistributedSystemJmxImpl extends AdminDistributedSystemImpl
super.disconnect();
// Save existing StatAlert Definitions
- saveAlertDefinitionsAsSerializedObjects();
+// saveAlertDefinitionsAsSerializedObjects();
/* Remove Cache Listener to listen to Cache & Region create/destroy events */
if (logger.isDebugEnabled()) {
@@ -1424,11 +1422,11 @@ public class AdminDistributedSystemJmxImpl extends AdminDistributedSystemImpl
* @return StatAlertDefinition reference to an instance of StatAlertDefinition
* @since GemFire 5.7
*/
- private StatAlertDefinition getAlertDefinition(int alertDefinitionId) {
- synchronized (ALERT_DEFINITIONS) {
- return (StatAlertDefinition) ALERT_DEFINITIONS.get(Integer.valueOf(alertDefinitionId));
- }
- }
+// private StatAlertDefinition getAlertDefinition(int alertDefinitionId) {
+// synchronized (ALERT_DEFINITIONS) {
+// return (StatAlertDefinition) ALERT_DEFINITIONS.get(Integer.valueOf(alertDefinitionId));
+// }
+// }
/*
* private void setAlertDefinition(StatAlertDefinition alertDefinition) {
@@ -1441,131 +1439,131 @@ public class AdminDistributedSystemJmxImpl extends AdminDistributedSystemImpl
* @param alertDefinition StatAlertDefinition to retrieve
* @since GemFire 5.7
*/
- public StatAlertDefinition getAlertDefinition(StatAlertDefinition alertDefinition) {
- return getAlertDefinition(alertDefinition.getId());
- }
+// public StatAlertDefinition getAlertDefinition(StatAlertDefinition alertDefinition) {
+// return getAlertDefinition(alertDefinition.getId());
+// }
/**
* This method is used to write existing StatAlertDefinitions to a file
*/
- protected void readAlertDefinitionsAsSerializedObjects() {
- StatAlertDefinition[] defns = new StatAlertDefinition[0];
-
- File serFile = null;
- FileInputStream foStr = null;
- DataInputStream ooStr = null;
-
- try {
- serFile = new File(statAlertDefnSerFile);
-
- if (!canWriteToFile(serFile)) {/* can not write a file */
- canPersistStatAlertDefs = false;
- }
- if (!serFile.exists()) {/* file does not exist */
- return;
- }
-
- if (logger.isDebugEnabled()) {
- logger.debug(
- "AdminDistributedSystemJmxImpl.readAlertDefinitionsAsSerializedObjects: File: {}",
- serFile.getPath());
- }
-
- foStr = new FileInputStream(serFile);
- ooStr = new DataInputStream(foStr);
- defns = (StatAlertDefinition[]) DataSerializer.readObjectArray(ooStr);
- } catch (ClassNotFoundException cnfEx) {
- logger.error(LocalizedMessage.create(
- LocalizedStrings.AdminDistributedSystem_ENCOUNTERED_A_0_WHILE_LOADING_STATALERTDEFINITIONS_1,
- new Object[] {cnfEx.getClass().getName(), statAlertDefnSerFile}), cnfEx);
- canPersistStatAlertDefs = false;
- } catch (IOException ex) {
- logger.error(LocalizedMessage.create(
- LocalizedStrings.AdminDistributedSystem_ENCOUNTERED_A_0_WHILE_LOADING_STATALERTDEFINITIONS_1_LOADING_ABORTED,
- new Object[] {ex.getClass().getName(), statAlertDefnSerFile}), ex);
- canPersistStatAlertDefs = false;
- } finally {
- if (foStr != null) {
- try {
- foStr.close();
- } catch (IOException ex) {
- ;
- }
- }
- if (ooStr != null) {
- try {
- ooStr.close();
- } catch (IOException ex) {
- ;
- }
- }
- }
-
- for (int i = 0; i < defns.length; i++) {
- updateAlertDefinition(defns[i]);
- }
- }
+// protected void readAlertDefinitionsAsSerializedObjects() {
+// StatAlertDefinition[] defns = new StatAlertDefinition[0];
+//
+// File serFile = null;
+// FileInputStream foStr = null;
+// DataInputStream ooStr = null;
+//
+// try {
+// serFile = new File(statAlertDefnSerFile);
+//
+// if (!canWriteToFile(serFile)) {/* can not write a file */
+// canPersistStatAlertDefs = false;
+// }
+// if (!serFile.exists()) {/* file does not exist */
+// return;
+// }
+//
+// if (logger.isDebugEnabled()) {
+// logger.debug(
+// "AdminDistributedSystemJmxImpl.readAlertDefinitionsAsSerializedObjects: File: {}",
+// serFile.getPath());
+// }
+//
+// foStr = new FileInputStream(serFile);
+// ooStr = new DataInputStream(foStr);
+// defns = (StatAlertDefinition[]) DataSerializer.readObjectArray(ooStr);
+// } catch (ClassNotFoundException cnfEx) {
+// logger.error(LocalizedMessage.create(
+// LocalizedStrings.AdminDistributedSystem_ENCOUNTERED_A_0_WHILE_LOADING_STATALERTDEFINITIONS_1,
+// new Object[] {cnfEx.getClass().getName(), statAlertDefnSerFile}), cnfEx);
+// canPersistStatAlertDefs = false;
+// } catch (IOException ex) {
+// logger.error(LocalizedMessage.create(
+// LocalizedStrings.AdminDistributedSystem_ENCOUNTERED_A_0_WHILE_LOADING_STATALERTDEFINITIONS_1_LOADING_ABORTED,
+// new Object[] {ex.getClass().getName(), statAlertDefnSerFile}), ex);
+// canPersistStatAlertDefs = false;
+// } finally {
+// if (foStr != null) {
+// try {
+// foStr.close();
+// } catch (IOException ex) {
+// ;
+// }
+// }
+// if (ooStr != null) {
+// try {
+// ooStr.close();
+// } catch (IOException ex) {
+// ;
+// }
+// }
+// }
+//
+// for (int i = 0; i < defns.length; i++) {
+// updateAlertDefinition(defns[i]);
+// }
+// }
/**
* This method is used to write existing StatAlertDefinitions to a file
*/
- public void saveAlertDefinitionsAsSerializedObjects() {
- File serFile = null;
- FileOutputStream foStr = null;
- DataOutputStream ooStr = null;
- try {
- serFile = new File(statAlertDefnSerFile);
-
-
- if (logger.isDebugEnabled()) {
- logger.debug(
- "AdminDistributedSystemJmxImpl.saveAlertDefinitionsAsSerializedObjects: File: {}",
- serFile.getPath());
- }
-
- if (!canWriteToFile(serFile)) {
- return;
- }
-
- foStr = new FileOutputStream(serFile);
- ooStr = new DataOutputStream(foStr);
-
- int numOfAlerts = 0;
- StatAlertDefinition[] defs = null;
-
- synchronized (ALERT_DEFINITIONS) {
- numOfAlerts = ALERT_DEFINITIONS.size();
- defs = new StatAlertDefinition[numOfAlerts];
-
- int i = 0;
- for (Iterator iter = ALERT_DEFINITIONS.keySet().iterator(); iter.hasNext();) {
- Integer key = (Integer) iter.next();
- StatAlertDefinition readDefn = (StatAlertDefinition) ALERT_DEFINITIONS.get(key);
- defs[i] = readDefn;
- i++;
- }
- }
-
- DataSerializer.writeObjectArray(defs, ooStr);
- } catch (IOException ex) {
- logger.error(LocalizedMessage.create(
- LocalizedStrings.AdminDistributedSystem_ENCOUNTERED_A_0_WHILE_SAVING_STATALERTDEFINITIONS_1,
- new Object[] {ex.getClass().getName(), statAlertDefnSerFile}), ex);
- } finally {
- if (foStr != null)
- try {
- foStr.close();
- } catch (IOException ex) {
- ;
- }
- if (ooStr != null)
- try {
- ooStr.close();
- } catch (IOException ex) {
- ;
- }
- }
- }
+// public void saveAlertDefinitionsAsSerializedObjects() {
+// File serFile = null;
+// FileOutputStream foStr = null;
+// DataOutputStream ooStr = null;
+// try {
+// serFile = new File(statAlertDefnSerFile);
+//
+//
+// if (logger.isDebugEnabled()) {
+// logger.debug(
+// "AdminDistributedSystemJmxImpl.saveAlertDefinitionsAsSerializedObjects: File: {}",
+// serFile.getPath());
+// }
+//
+// if (!canWriteToFile(serFile)) {
+// return;
+// }
+//
+// foStr = new FileOutputStream(serFile);
+// ooStr = new DataOutputStream(foStr);
+//
+// int numOfAlerts = 0;
+// StatAlertDefinition[] defs = null;
+//
+// synchronized (ALERT_DEFINITIONS) {
+// numOfAlerts = ALERT_DEFINITIONS.size();
+// defs = new StatAlertDefinition[numOfAlerts];
+//
+// int i = 0;
+// for (Iterator iter = ALERT_DEFINITIONS.keySet().iterator(); iter.hasNext();) {
+// Integer key = (Integer) iter.next();
+// StatAlertDefinition readDefn = (StatAlertDefinition) ALERT_DEFINITIONS.get(key);
+// defs[i] = readDefn;
+// i++;
+// }
+// }
+//
+// DataSerializer.writeObjectArray(defs, ooStr);
+// } catch (IOException ex) {
+// logger.error(LocalizedMessage.create(
+// LocalizedStrings.AdminDistributedSystem_ENCOUNTERED_A_0_WHILE_SAVING_STATALERTDEFINITIONS_1,
+// new Object[] {ex.getClass().getName(), statAlertDefnSerFile}), ex);
+// } finally {
+// if (foStr != null)
+// try {
+// foStr.close();
+// } catch (IOException ex) {
+// ;
+// }
+// if (ooStr != null)
+// try {
+// ooStr.close();
+// } catch (IOException ex) {
+// ;
+// }
+// }
+// }
/**
* Checks if the given file is writable.
@@ -1617,32 +1615,32 @@ public class AdminDistributedSystemJmxImpl extends AdminDistributedSystemImpl
* @param alertDefinition alertDefinition to be updated
* @since GemFire 5.7
*/
- public void updateAlertDefinition(StatAlertDefinition alertDefinition) {
- if (logger.isDebugEnabled()) {
- logger.debug(
- "Entered AdminDistributedSystemJmxImpl.updateAlertDefinition(StatAlertDefinition) *****");
- }
- /*
- * What to update in the alert definition? There should be another argument or arguments in a
- * map. 1. Need to update the list/map of alert definitions across members.
- */
- synchronized (ALERT_DEFINITIONS) {
- ALERT_DEFINITIONS.put(Integer.valueOf(alertDefinition.getId()), alertDefinition);
-
- if (logger.isDebugEnabled()) {
- logger.debug(
- "AdminDistributedSystemJmxImpl.updateAlertDefinition : alertDefinition :: id={} :: {}",
- alertDefinition.getId(), alertDefinition.getStringRepresentation());
- }
-
- /* TODO: add code to retry on failure */
- notifyMembersForAlertDefinitionChange(alertDefinition);
- }
- if (logger.isDebugEnabled()) {
- logger.debug(
- "Exiting AdminDistributedSystemJmxImpl.updateAlertDefinition(StatAlertDefinition) *****");
- }
- }
+// public void updateAlertDefinition(StatAlertDefinition alertDefinition) {
+// if (logger.isDebugEnabled()) {
+// logger.debug(
+// "Entered AdminDistributedSystemJmxImpl.updateAlertDefinition(StatAlertDefinition) *****");
+// }
+// /*
+// * What to update in the alert definition? There should be another argument or arguments in a
+// * map. 1. Need to update the list/map of alert definitions across members.
+// */
+// synchronized (ALERT_DEFINITIONS) {
+// ALERT_DEFINITIONS.put(Integer.valueOf(alertDefinition.getId()), alertDefinition);
+//
+// if (logger.isDebugEnabled()) {
+// logger.debug(
+// "AdminDistributedSystemJmxImpl.updateAlertDefinition : alertDefinition :: id={} :: {}",
+// alertDefinition.getId(), alertDefinition.getStringRepresentation());
+// }
+//
+// /* TODO: add code to retry on failure */
+// notifyMembersForAlertDefinitionChange(alertDefinition);
+// }
+// if (logger.isDebugEnabled()) {
+// logger.debug(
+// "Exiting AdminDistributedSystemJmxImpl.updateAlertDefinition(StatAlertDefinition) *****");
+// }
+// }
/**
* This method can be used to remove alert definition for the Stat mentioned. This method should
@@ -1652,28 +1650,28 @@ public class AdminDistributedSystemJmxImpl extends AdminDistributedSystemImpl
* @param defId id of the alert definition to be removed
* @since GemFire 5.7
*/
- public void removeAlertDefinition(Integer defId) {
- if (logger.isDebugEnabled()) {
- logger.debug("Entered AdminDistributedSystemJmxImpl.removeAlertDefinition id *****");
- }
- /*
- * alert passed to be deleted from the list/map of alerts on JMX MBean & all Member MBeans
- */
- synchronized (ALERT_DEFINITIONS) {
- StatAlertDefinition alertDefinition = (StatAlertDefinition) ALERT_DEFINITIONS.get(defId);
- if (alertDefinition != null) {
- ALERT_DEFINITIONS.remove(defId);
- synchronized (alertsStore) {
- alertsStore.remove(defId);
- }
- /* TODO: add code to retry on failure */
- notifyMembersForAlertDefinitionRemoval(alertDefinition);
- }
- }
- if (logger.isDebugEnabled()) {
- logger.debug("Exiting AdminDistributedSystemJmxImpl.removeAlertDefinition() *****");
- }
- }
+// public void removeAlertDefinition(Integer defId) {
+// if (logger.isDebugEnabled()) {
+// logger.debug("Entered AdminDistributedSystemJmxImpl.removeAlertDefinition id *****");
+// }
+// /*
+// * alert passed to be deleted from the list/map of alerts on JMX MBean & all Member MBeans
+// */
+// synchronized (ALERT_DEFINITIONS) {
+// StatAlertDefinition alertDefinition = (StatAlertDefinition) ALERT_DEFINITIONS.get(defId);
+// if (alertDefinition != null) {
+// ALERT_DEFINITIONS.remove(defId);
+// synchronized (alertsStore) {
+// alertsStore.remove(defId);
+// }
+// /* TODO: add code to retry on failure */
+// notifyMembersForAlertDefinitionRemoval(alertDefinition);
+// }
+// }
+// if (logger.isDebugEnabled()) {
+// logger.debug("Exiting AdminDistributedSystemJmxImpl.removeAlertDefinition() *****");
+// }
+// }
/**
* Convenience method to check whether an alert definition is created.
@@ -1682,17 +1680,17 @@ public class AdminDistributedSystemJmxImpl extends AdminDistributedSystemImpl
* @return true if the alert definition is already created, false otherwise
* @since GemFire 5.7
*/
- public boolean isAlertDefinitionCreated(StatAlertDefinition alertDefinition) {
- /*
- * Need to maintain a map of stat against the StatAlertDefinitions. check in that map whether
- * the alert definition is there for the given alert
- *
- * TODO: optimize to use Map.containsKey - DONE
- */
- synchronized (ALERT_DEFINITIONS) {
- return ALERT_DEFINITIONS.containsKey(Integer.valueOf(alertDefinition.getId()));
- }
- }
+// public boolean isAlertDefinitionCreated(StatAlertDefinition alertDefinition) {
+// /*
+// * Need to maintain a map of stat against the StatAlertDefinitions. check in that map whether
+// * the alert definition is there for the given alert
+// *
+// * TODO: optimize to use Map.containsKey - DONE
+// */
+// synchronized (ALERT_DEFINITIONS) {
+// return ALERT_DEFINITIONS.containsKey(Integer.valueOf(alertDefinition.getId()));
+// }
+// }
/**
* Returns the refresh interval for the Stats in seconds.
@@ -1751,42 +1749,42 @@ public class AdminDistributedSystemJmxImpl extends AdminDistributedSystemImpl
*
* @param alertDef stat alert definition that got changed
*/
- private void notifyMembersForAlertDefinitionChange(StatAlertDefinition alertDef) {
- if (logger.isDebugEnabled()) {
- logger.debug(
- "Entered AdminDistributedSystemJmxImpl.notifyMembersForAlertDefinitionChange(StatAlertDefinition) *****");
- }
- GfManagerAgent agent = getGfManagerAgent();
- StatAlertDefinition[] alertDefs = new StatAlertDefinition[] {alertDef};
- ApplicationVM[] VMs = agent.listApplications();
-
- for (int i = 0; i < VMs.length; i++) {
- VMs[i].updateAlertDefinitions(alertDefs,
- UpdateAlertDefinitionMessage.UPDATE_ALERT_DEFINITION);
- }
-
- if (logger.isDebugEnabled()) {
- logger.debug(
- "Exiting AdminDistributedSystemJmxImpl.notifyMembersForAlertDefinitionChange(StatAlertDefinition) "
- + VMs.length + " members notified.*****");
- }
- }
+// private void notifyMembersForAlertDefinitionChange(StatAlertDefinition alertDef) {
+// if (logger.isDebugEnabled()) {
+// logger.debug(
+// "Entered AdminDistributedSystemJmxImpl.notifyMembersForAlertDefinitionChange(StatAlertDefinition) *****");
+// }
+// GfManagerAgent agent = getGfManagerAgent();
+// StatAlertDefinition[] alertDefs = new StatAlertDefinition[] {alertDef};
+// ApplicationVM[] VMs = agent.listApplications();
+//
+// for (int i = 0; i < VMs.length; i++) {
+// VMs[i].updateAlertDefinitions(alertDefs,
+// UpdateAlertDefinitionMessage.UPDATE_ALERT_DEFINITION);
+// }
+//
+// if (logger.isDebugEnabled()) {
+// logger.debug(
+// "Exiting AdminDistributedSystemJmxImpl.notifyMembersForAlertDefinitionChange(StatAlertDefinition) "
+// + VMs.length + " members notified.*****");
+// }
+// }
/**
* An intermediate method to notify all members for removal of stat alert definition.
*
* @param alertDef stat alert definition to be removed
*/
- private void notifyMembersForAlertDefinitionRemoval(StatAlertDefinition alertDef) {
- GfManagerAgent agent = getGfManagerAgent();
- StatAlertDefinition[] alertDefs = new StatAlertDefinition[] {alertDef};
- ApplicationVM[] VMs = agent.listApplications();
-
- for (int i = 0; i < VMs.length; i++) {
- VMs[i].updateAlertDefinitions(alertDefs,
- UpdateAlertDefinitionMessage.REMOVE_ALERT_DEFINITION);
- }
- }
+// private void notifyMembersForAlertDefinitionRemoval(StatAlertDefinition alertDef) {
+// GfManagerAgent agent = getGfManagerAgent();
+// StatAlertDefinition[] alertDefs = new StatAlertDefinition[] {alertDef};
+// ApplicationVM[] VMs = agent.listApplications();
+//
+// for (int i = 0; i < VMs.length; i++) {
+// VMs[i].updateAlertDefinitions(alertDefs,
+// UpdateAlertDefinitionMessage.REMOVE_ALERT_DEFINITION);
+// }
+// }
/**
* This method can be used to set the AlertsManager for the newly joined member VM.
@@ -1811,20 +1809,20 @@ public class AdminDistributedSystemJmxImpl extends AdminDistributedSystemImpl
}
// creating an array of stat alert definition objects
- StatAlertDefinition[] alertDefs = new StatAlertDefinition[0];
-
- Collection alertDefsCollection = null;
- synchronized (ALERT_DEFINITIONS) {
- alertDefsCollection = ALERT_DEFINITIONS.values();
- }
-
- alertDefs = (StatAlertDefinition[]) alertDefsCollection.toArray(alertDefs);
-
- memberVM.setAlertsManager(alertDefs, getRefreshIntervalForStatAlerts() * 1000l, true);
-
- if (logger.isDebugEnabled()) {
- logger.debug("Exiting AdminDistributedSystemJmxImpl.setAlertsManager(GemFireVM) *****");
- }
+// StatAlertDefinition[] alertDefs = new StatAlertDefinition[0];
+//
+// Collection alertDefsCollection = null;
+// synchronized (ALERT_DEFINITIONS) {
+// alertDefsCollection = ALERT_DEFINITIONS.values();
+// }
+//
+// alertDefs = (StatAlertDefinition[]) alertDefsCollection.toArray(alertDefs);
+//
+// memberVM.setAlertsManager(alertDefs, getRefreshIntervalForStatAlerts() * 1000l, true);
+//
+// if (logger.isDebugEnabled()) {
+// logger.debug("Exiting AdminDistributedSystemJmxImpl.setAlertsManager(GemFireVM) *****");
+// }
}
/**
@@ -1834,31 +1832,31 @@ public class AdminDistributedSystemJmxImpl extends AdminDistributedSystemImpl
* @return An array of all available StatAlertDefinition objects
* @since GemFire 5.7
*/
- public StatAlertDefinition[] getAllStatAlertDefinitions() {
- if (logger.isDebugEnabled()) {
- logger.debug("Entered AdminDistributedSystemJmxImpl.getAllStatAlertDefinitions() *****");
- }
-
- Collection alertDefs = null;
- synchronized (ALERT_DEFINITIONS) {
- alertDefs = ALERT_DEFINITIONS.values();
- }
-
- StatAlertDefinition[] alertDefsArr = null;
-
- if (alertDefs != null) {
- alertDefsArr = new StatAlertDefinition[alertDefs.size()];
- alertDefsArr = (StatAlertDefinition[]) alertDefs.toArray(alertDefsArr);
- } else {
- alertDefsArr = new StatAlertDefinition[0];
- }
-
- if (logger.isDebugEnabled()) {
- logger.debug("Exiting AdminDistributedSystemJmxImpl.getAllStatAlertDefinitions() *****");
- }
-
- return alertDefsArr;
- }
+// public StatAlertDefinition[] getAllStatAlertDefinitions() {
+// if (logger.isDebugEnabled()) {
+// logger.debug("Entered AdminDistributedSystemJmxImpl.getAllStatAlertDefinitions() *****");
+// }
+//
+// Collection alertDefs = null;
+// synchronized (ALERT_DEFINITIONS) {
+// alertDefs = ALERT_DEFINITIONS.values();
+// }
+//
+// StatAlertDefinition[] alertDefsArr = null;
+//
+// if (alertDefs != null) {
+// alertDefsArr = new StatAlertDefinition[alertDefs.size()];
+// alertDefsArr = (StatAlertDefinition[]) alertDefs.toArray(alertDefsArr);
+// } else {
+// alertDefsArr = new StatAlertDefinition[0];
+// }
+//
+// if (logger.isDebugEnabled()) {
+// logger.debug("Exiting AdminDistributedSystemJmxImpl.getAllStatAlertDefinitions() *****");
+// }
+//
+// return alertDefsArr;
+// }
/**
@@ -1866,98 +1864,96 @@ public class AdminDistributedSystemJmxImpl extends AdminDistributedSystemImpl
* of stats can occur here. The array contains alert objects with alert def. ID & value.
* AlertHelper class can be used to retrieve the corresponding alert definition.
*
- * @param alerts array of Alert class(contains alert def. ID & value)
- * @param remoteVM Remote Member VM that sent Stat Alerts for processing the notifications to the
* clients
*/
- public void processNotifications(StatAlert[] alerts, GemFireVM remoteVM) {
- if (logger.isDebugEnabled()) {
- logger.debug(
- "Entered AdminDistributedSystemJmxImpl.processNotifications(StatAlert[{}], GemFireVM) *************",
- alerts.length);
- }
-
- /*
- * Notifications can not be processed if the remote VM is not available. NOTE: Should this
- * method get the required GemFireVM information instead of its reference so that even if the
- * member leaves we still have the information collected earlier to process the notification?
- */
- if (remoteVM == null) {
- if (logger.isDebugEnabled()) {
- logger.debug("Could not process stat alert notifications as given GemFireVM is null.");
- }
- return;
- }
-
- /*
- * 1. The implementation idea is yet not clear. 2. The StatAlert array would received directly
- * or from a request object.
- */
- ArrayList notificationObjects = new ArrayList();
-
- String memberId = remoteVM.getId().getId();
-
- final boolean isSystemWide = false;
-
- StatAlert alert = null;
- Integer defId = null;
- for (int i = 0; i < alerts.length; i++) {
- alert = alerts[i];
-
- if (getAlertDefinition(alert.getDefinitionId()) == null)
- continue; // Ignore any removed AlertDefns
-
- /*
- * 1. check if it's system-wide. 2. if system-wide keep, it in a collection (that should get
- * cleared on timeout). Process all alerts when notifications from all members are received.
- * Need to check if the member leaves meanwhile.
- *
- * 1. Check if function evaluation is required? 2. If it's not required, the notification
- * should directly be sent to clients.
- */
-
- StatAlertNotification alertNotification = new StatAlertNotification(alert, memberId);
-
- /*
- * variable isSystemWide is created only for convienience, there should be an indication for
- * the same in the alert definition. Currently there is no systemWide definition
- *
- * Evaluating system wide alerts: 1. It'll take time for aggregator to gather alerts from all
- * members. Member might keep joining & leaving in between. The member for whom the stat-alert
- * value was taken might have left & new ones might have joined leave until all the
- * calculations are complete. A disclaimer to be put that these are not exact values. 2. How
- * would the aggregator know that it has received alerts from all the managers? Is the concept
- * of system-wide alerts valid? System-wide stats might be!
- *
- */
- if (!isSystemWide) {
- notificationObjects.add(alertNotification);
- continue;
- }
- HashSet accumulatedAlertValues;
- synchronized (alertsStore) {
- accumulatedAlertValues = (HashSet) alertsStore.get(defId);
-
- if (accumulatedAlertValues == null) {
- accumulatedAlertValues = new HashSet();
- alertsStore.put(defId, accumulatedAlertValues);
- }
- }
- synchronized (accumulatedAlertValues) {
- accumulatedAlertValues.add(alertNotification);
- }
- } // for ends
-
- if (!notificationObjects.isEmpty()) {
- /* TODO: should ths method send & forget or be fail-safe? */
- sendNotifications(notificationObjects, getObjectName());
- }
-
- if (logger.isDebugEnabled()) {
- logger.debug(
- "Exiting AdminDistributedSystemJmxImpl.processNotifications(StatAlert[], GemFireVM) *************");
- }
- }
+// public void processNotifications(StatAlert[] alerts, GemFireVM remoteVM) {
+// if (logger.isDebugEnabled()) {
+// logger.debug(
+// "Entered AdminDistributedSystemJmxImpl.processNotifications(StatAlert[{}], GemFireVM) *************",
+// alerts.length);
+// }
+//
+// /*
+// * Notifications can not be processed if the remote VM is not available. NOTE: Should this
+// * method get the required GemFireVM information instead of its reference so that even if the
+// * member leaves we still have the information collected earlier to process the notification?
+// */
+// if (remoteVM == null) {
+// if (logger.isDebugEnabled()) {
+// logger.debug("Could not process stat alert notifications as given GemFireVM is null.");
+// }
+// return;
+// }
+//
+// /*
+// * 1. The implementation idea is yet not clear. 2. The StatAlert array would received directly
+// * or from a request object.
+// */
+// ArrayList notificationObjects = new ArrayList();
+//
+// String memberId = remoteVM.getId().getId();
+//
+// final boolean isSystemWide = false;
+//
+// StatAlert alert = null;
+// Integer defId = null;
+// for (int i = 0; i < alerts.length; i++) {
+// alert = alerts[i];
+//
+// if (getAlertDefinition(alert.getDefinitionId()) == null)
+// continue; // Ignore any removed AlertDefns
+//
+// /*
+// * 1. check if it's system-wide. 2. if system-wide keep, it in a collection (that should get
+// * cleared on timeout). Process all alerts when notifications from all members are received.
+// * Need to check if the member leaves meanwhile.
+// *
+// * 1. Check if function evaluation is required? 2. If it's not required, the notification
+// * should directly be sent to clients.
+// */
+//
+// StatAlertNotification alertNotification = new StatAlertNotification(alert, memberId);
+//
+// /*
+// * variable isSystemWide is created only for convienience, there should be an indication for
+// * the same in the alert definition. Currently there is no systemWide definition
+// *
+// * Evaluating system wide alerts: 1. It'll take time for aggregator to gather alerts from all
+// * members. Member might keep joining & leaving in between. The member for whom the stat-alert
+// * value was taken might have left & new ones might have joined leave until all the
+// * calculations are complete. A disclaimer to be put that these are not exact values. 2. How
+// * would the aggregator know that it has received alerts from all the managers? Is the concept
+// * of system-wide alerts valid? System-wide stats might be!
+// *
+// */
+// if (!isSystemWide) {
+// notificationObjects.add(alertNotification);
+// continue;
+// }
+// HashSet accumulatedAlertValues;
+// synchronized (alertsStore) {
+// accumulatedAlertValues = (HashSet) alertsStore.get(defId);
+//
+// if (accumulatedAlertValues == null) {
+// accumulatedAlertValues = new HashSet();
+// alertsStore.put(defId, accumulatedAlertValues);
+// }
+// }
+// synchronized (accumulatedAlertValues) {
+// accumulatedAlertValues.add(alertNotification);
+// }
+// } // for ends
+//
+// if (!notificationObjects.isEmpty()) {
+// /* TODO: should ths method send & forget or be fail-safe? */
+// sendNotifications(notificationObjects, getObjectName());
+// }
+//
+// if (logger.isDebugEnabled()) {
+// logger.debug(
+// "Exiting AdminDistributedSystemJmxImpl.processNotifications(StatAlert[], GemFireVM) *************");
+// }
+// }
private byte[] convertNotificationsDataToByteArray(ArrayList notificationObjects) {
if (logger.isDebugEnabled()) {
@@ -1988,57 +1984,57 @@ public class AdminDistributedSystemJmxImpl extends AdminDistributedSystemImpl
*
* @param notificationObjects list of StatAlertNotification objects
*/
- private void sendNotifications(ArrayList notificationObjects, ObjectName objName) {
- try {
- if (logger.isDebugEnabled()) {
- logger.debug("AdminDistributedSystemJmxImpl#sendNotifications: sending {} notifications",
- notificationObjects.size());
- }
-
- byte[] notifBytes = convertNotificationsDataToByteArray(notificationObjects);
- if (notifBytes != null) {
- Notification notif = new Notification(NOTIF_STAT_ALERT, objName, // Pass the
- // StatNotifications
- notificationSequenceNumber.addAndGet(1), "StatAlert Notifications");
- notif.setUserData(notifBytes);
- this.modelMBean.sendNotification(notif);
- } // IOException handled and logged in convertNotificationsDataToByteArray
-
- StringBuffer buf = new StringBuffer();
- for (int i = 0; i < notificationObjects.size(); i++) {
- StatAlertNotification not = (StatAlertNotification) notificationObjects.get(i);
- buf.append(not.toString(getAlertDefinition(not.getDefinitionId())));
- }
- if (isEmailNotificationEnabled) {
- String mess =
- LocalizedStrings.AdminDistributedSystemJmxImpl_STATISTICS_ALERT_FROM_DISTRIBUTED_SYSTEM_MEMBER_0_STATISTICS_1
- .toLocalizedString(new Object[] {objName.getCanonicalName(), buf.toString()});
- sendEmail(EML_SUBJ_PRFX_GFE_ALERT + EML_SUBJ_ITEM_GFE_DS + getName() + " <"
- + LocalizedStrings.AdminDistributedSystemJmxImpl_STATISTICS_ALERT_FOR_MEMBER
- .toLocalizedString()
- + ">", mess);
- }
- } catch (javax.management.MBeanException e) {
- logger.error(e.getMessage(), e);
- } catch (RuntimeException e) {
- logger.error(e.getMessage(), e);
- throw e;
- } catch (VirtualMachineError err) {
- SystemFailure.initiateFailure(err);
- // If this ever returns, rethrow the error. We're poisoned
- // now, so don't let this thread continue.
- throw err;
- } catch (Error e) {
- // Whenever you catch Error or Throwable, you must also
- // catch VirtualMachineError (see above). However, there is
- // _still_ a possibility that you are dealing with a cascading
- // error condition, so you also need to check to see if the JVM
- // is still usable:
- SystemFailure.checkFailure();
- logger.error(e.getMessage(), e);
- throw e;
- }
- }
+// private void sendNotifications(ArrayList notificationObjects, ObjectName objName) {
+// try {
+// if (logger.isDebugEnabled()) {
+// logger.debug("AdminDistributedSystemJmxImpl#sendNotifications: sending {} notifications",
+// notificationObjects.size());
+// }
+//
+// byte[] notifBytes = convertNotificationsDataToByteArray(notificationObjects);
+// if (notifBytes != null) {
+// Notification notif = new Notification(NOTIF_STAT_ALERT, objName, // Pass the
+// // StatNotifications
+// notificationSequenceNumber.addAndGet(1), "StatAlert Notifications");
+// notif.setUserData(notifBytes);
+// this.modelMBean.sendNotification(notif);
+// } // IOException handled and logged in convertNotificationsDataToByteArray
+//
+// StringBuffer buf = new StringBuffer();
+// for (int i = 0; i < notificationObjects.size(); i++) {
+// StatAlertNotification not = (StatAlertNotification) notificationObjects.get(i);
+// buf.append(not.toString(getAlertDefinition(not.getDefinitionId())));
+// }
+// if (isEmailNotificationEnabled) {
+// String mess =
+// LocalizedStrings.AdminDistributedSystemJmxImpl_STATISTICS_ALERT_FROM_DISTRIBUTED_SYSTEM_MEMBER_0_STATISTICS_1
+// .toLocalizedString(new Object[] {objName.getCanonicalName(), buf.toString()});
+// sendEmail(EML_SUBJ_PRFX_GFE_ALERT + EML_SUBJ_ITEM_GFE_DS + getName() + " <"
+// + LocalizedStrings.AdminDistributedSystemJmxImpl_STATISTICS_ALERT_FOR_MEMBER
+// .toLocalizedString()
+// + ">", mess);
+// }
+// } catch (javax.management.MBeanException e) {
+// logger.error(e.getMessage(), e);
+// } catch (RuntimeException e) {
+// logger.error(e.getMessage(), e);
+// throw e;
+// } catch (VirtualMachineError err) {
+// SystemFailure.initiateFailure(err);
+// // If this ever returns, rethrow the error. We're poisoned
+// // now, so don't let this thread continue.
+// throw err;
+// } catch (Error e) {
+// // Whenever you catch Error or Throwable, you must also
+// // catch VirtualMachineError (see above). However, there is
+// // _still_ a possibility that you are dealing with a cascading
+// // error condition, so you also need to check to see if the JVM
+// // is still usable:
+// SystemFailure.checkFailure();
+// logger.error(e.getMessage(), e);
+// throw e;
+// }
+// }
/**
* Sends an email to the configured recipients using configured email server. The given message
diff --git a/geode-core/src/main/java/org/apache/geode/admin/jmx/internal/StatAlertsAggregator.java b/geode-core/src/main/java/org/apache/geode/admin/jmx/internal/StatAlertsAggregator.java
index 102d041..da8b2c9 100644
--- a/geode-core/src/main/java/org/apache/geode/admin/jmx/internal/StatAlertsAggregator.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/jmx/internal/StatAlertsAggregator.java
@@ -15,8 +15,6 @@
package org.apache.geode.admin.jmx.internal;
import org.apache.geode.internal.admin.GemFireVM;
-import org.apache.geode.internal.admin.StatAlert;
-import org.apache.geode.internal.admin.StatAlertDefinition;
/**
* This interface represents an Aggregator entity and resides in JMXAgent. Responsibilities are as
@@ -37,14 +35,14 @@ public interface StatAlertsAggregator {
*
* @param alertDefinition StatAlertDefinition to retrieve
*/
- StatAlertDefinition getAlertDefinition(StatAlertDefinition alertDefinition);
+// StatAlertDefinition getAlertDefinition(StatAlertDefinition alertDefinition);
/**
* This method can be used to retrieve all available stat alert definitions.
*
* @return An array of all available StatAlertDefinition objects
*/
- StatAlertDefinition[] getAllStatAlertDefinitions();
+// StatAlertDefinition[] getAllStatAlertDefinitions();
/**
* This method can be used to update alert definition for the Stat mentioned. This method should
@@ -55,7 +53,7 @@ public interface StatAlertsAggregator {
*
* @param alertDefinition alertDefinition to be updated
*/
- void updateAlertDefinition(StatAlertDefinition alertDefinition);
+// void updateAlertDefinition(StatAlertDefinition alertDefinition);
/**
* This method can be used to remove alert definition for the Stat mentioned.
@@ -73,7 +71,7 @@ public interface StatAlertsAggregator {
* @param alert alert definition to check whether already created
* @return true if the alert definition is already created, false otherwise
*/
- boolean isAlertDefinitionCreated(StatAlertDefinition alert);
+// boolean isAlertDefinitionCreated(StatAlertDefinition alert);
/**
* This method can be used to set the AlertManager for the newly joined member VM.
@@ -101,9 +99,8 @@ public interface StatAlertsAggregator {
* of stats can occur here. The array contains alert objects with alert def. ID & value.
* AlertHelper class can be used to retrieve the corresponding alert definition.
*
- * @param alerts array of Alert class(contains alert def. ID & value)
*/
- void processNotifications(StatAlert[] alerts, GemFireVM remoteVM);
+// void processNotifications(StatAlert[] alerts, GemFireVM remoteVM);
void processSystemwideNotifications();
}
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/GetClientPRMetaDataOp.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/GetClientPRMetaDataOp.java
index 94ad7d1..eedc310 100755
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/GetClientPRMetaDataOp.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/GetClientPRMetaDataOp.java
@@ -27,12 +27,11 @@ import org.apache.geode.internal.cache.tier.sockets.Message;
import org.apache.geode.internal.cache.tier.sockets.Part;
import org.apache.geode.internal.i18n.LocalizedStrings;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.statistics.client.connection.ConnectionStats;
/**
* Retrieves {@link ClientPartitionAdvisor} for the specified PartitionedRegion from one of the
* servers
- *
- *
* @since GemFire 6.5
*/
public class GetClientPRMetaDataOp {
@@ -44,7 +43,7 @@ public class GetClientPRMetaDataOp {
}
public static void execute(ExecutablePool pool, String regionFullPath,
- ClientMetadataService cms) {
+ ClientMetadataService cms) {
AbstractOp op = new GetClientPRMetaDataOpImpl(regionFullPath, cms);
if (logger.isDebugEnabled()) {
logger.debug(
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/GetPDXEnumsOp.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/GetPDXEnumsOp.java
index fcc68b7..97d41ca 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/GetPDXEnumsOp.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/GetPDXEnumsOp.java
@@ -22,6 +22,7 @@ import org.apache.geode.internal.cache.tier.MessageType;
import org.apache.geode.internal.cache.tier.sockets.Message;
import org.apache.geode.internal.cache.tier.sockets.Part;
import org.apache.geode.pdx.internal.EnumInfo;
+import org.apache.geode.statistics.client.connection.ConnectionStats;
/**
* Retrieve all known PDX types.
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/PrimaryAckOp.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/PrimaryAckOp.java
index 2e54586..1b181c4 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/PrimaryAckOp.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/PrimaryAckOp.java
@@ -19,6 +19,7 @@ import java.util.List;
import org.apache.geode.internal.cache.tier.MessageType;
import org.apache.geode.internal.cache.tier.sockets.Message;
+import org.apache.geode.statistics.client.connection.ConnectionStats;
/**
* Send the primary server acknowledgement on the events this client has received and processed from
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/QueueConnectionImpl.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/QueueConnectionImpl.java
index c6f138d..20475b2 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/QueueConnectionImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/QueueConnectionImpl.java
@@ -29,6 +29,7 @@ import org.apache.geode.cache.client.internal.pooling.ConnectionDestroyedExcepti
import org.apache.geode.distributed.internal.ServerLocation;
import org.apache.geode.internal.cache.tier.sockets.ServerQueueStatus;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.statistics.client.connection.ConnectionStats;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/RegisterInterestOp.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/RegisterInterestOp.java
index e7fe472..498a5fe 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/RegisterInterestOp.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/RegisterInterestOp.java
@@ -30,6 +30,7 @@ import org.apache.geode.internal.cache.tier.sockets.ChunkedMessage;
import org.apache.geode.internal.cache.tier.sockets.Message;
import org.apache.geode.internal.cache.tier.sockets.Part;
import org.apache.geode.internal.cache.tier.sockets.VersionedObjectList;
+import org.apache.geode.statistics.client.connection.ConnectionStats;
/**
* Does a region registerInterest on a server
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultsBag.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultsBag.java
index 2195e26..0d7fb5b 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultsBag.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultsBag.java
@@ -24,7 +24,6 @@ import java.util.TreeMap;
import org.apache.geode.cache.query.internal.types.CollectionTypeImpl;
import org.apache.geode.cache.query.types.CollectionType;
import org.apache.geode.cache.query.types.ObjectType;
-import org.apache.geode.internal.cache.CachePerfStats;
import org.apache.geode.statistics.cache.CachePerfStats;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
index 45ea16a..44158e1 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
@@ -101,7 +101,6 @@ import org.apache.geode.internal.offheap.MemoryAllocator;
import org.apache.geode.internal.offheap.OffHeapStorage;
import org.apache.geode.internal.security.SecurityService;
import org.apache.geode.internal.security.SecurityServiceFactory;
-import org.apache.geode.internal.statistics.platform.LinuxProcFsStatistics;
import org.apache.geode.internal.tcp.ConnectionTable;
import org.apache.geode.management.ManagementException;
import org.apache.geode.security.GemFireSecurityException;
@@ -745,27 +744,28 @@ public class InternalDistributedSystem extends DistributedSystem {
.createOffHeapStorage(offHeapMemorySize,this);
// Note: this can only happen on a linux system
- if (getConfig().getLockMemory()) {
- // This calculation is not exact, but seems fairly close. So far we have
- // not loaded much into the heap and the current RSS usage is already
- // included the available memory calculation.
- long avail = LinuxProcFsStatistics.getAvailableMemory(logger);
- long size = offHeapMemorySize + Runtime.getRuntime().totalMemory();
- if (avail < size) {
- if (ALLOW_MEMORY_LOCK_WHEN_OVERCOMMITTED) {
- logger.warn(LocalizedMessage.create(
- LocalizedStrings.InternalDistributedSystem_MEMORY_OVERCOMMIT_WARN, size - avail));
- } else {
- throw new IllegalStateException(
- LocalizedStrings.InternalDistributedSystem_MEMORY_OVERCOMMIT
- .toLocalizedString(avail, size));
- }
- }
-
- logger.info("Locking memory. This may take a while...");
- GemFireCacheImpl.lockMemory();
- logger.info("Finished locking memory.");
- }
+ //TODO: Udo re-enable the linux lockMemory func
+// if (getConfig().getLockMemory()) {
+// // This calculation is not exact, but seems fairly close. So far we have
+// // not loaded much into the heap and the current RSS usage is already
+// // included the available memory calculation.
+// long avail = LinuxProcFsStatistics.getAvailableMemory(logger);
+// long size = offHeapMemorySize + Runtime.getRuntime().totalMemory();
+// if (avail < size) {
+// if (ALLOW_MEMORY_LOCK_WHEN_OVERCOMMITTED) {
+// logger.warn(LocalizedMessage.create(
+// LocalizedStrings.InternalDistributedSystem_MEMORY_OVERCOMMIT_WARN, size - avail));
+// } else {
+// throw new IllegalStateException(
+// LocalizedStrings.InternalDistributedSystem_MEMORY_OVERCOMMIT
+// .toLocalizedString(avail, size));
+// }
+// }
+//
+// logger.info("Locking memory. This may take a while...");
+// GemFireCacheImpl.lockMemory();
+// logger.info("Finished locking memory.");
+// }
synchronized (this.isConnectedMutex) {
this.isConnected = true;
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
index 83cbe71..49cd7c8 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
@@ -73,10 +73,8 @@ import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.DistributedSystemDisconnectedException;
import org.apache.geode.distributed.DurableClientAttributes;
import org.apache.geode.distributed.internal.ClusterDistributionManager;
-import org.apache.geode.distributed.internal.DMStats;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.DistributionMessage;
-import org.apache.geode.distributed.internal.DistributionStats;
import org.apache.geode.distributed.internal.HighPriorityDistributionMessage;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.distributed.internal.membership.MemberAttributes;
@@ -104,6 +102,7 @@ import org.apache.geode.internal.logging.log4j.AlertAppender;
import org.apache.geode.internal.logging.log4j.LocalizedMessage;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.tcp.MemberShunnedException;
+import org.apache.geode.statistics.distributed.DMStats;
@SuppressWarnings("StatementWithEmptyBody")
@@ -1227,7 +1226,7 @@ public class JGroupsMessenger implements Messenger {
@Override
public void receive(Message jgmsg) {
- long startTime = DistributionStats.getStatTime();
+ long startTime = System.nanoTime();
try {
if (services.getManager().shutdownInProgress()) {
return;
@@ -1293,7 +1292,7 @@ public class JGroupsMessenger implements Messenger {
}
} finally {
- long delta = DistributionStats.getStatTime() - startTime;
+ long delta = System.nanoTime() - startTime;
JGroupsMessenger.this.services.getStatistics().incUDPDispatchRequestTime(delta);
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java b/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java
index c6d3738..d593076 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java
@@ -82,8 +82,6 @@ import org.apache.geode.internal.logging.DateFormatter;
import org.apache.geode.internal.logging.MergeLogFiles;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.statistics.StatArchiveReader;
-import org.apache.geode.internal.statistics.StatArchiveReader.ResourceInst;
-import org.apache.geode.internal.statistics.StatArchiveReader.StatValue;
import org.apache.geode.internal.util.JavaCommandBuilder;
import org.apache.geode.internal.util.PluckStacks;
import org.apache.geode.internal.util.PluckStacks.ThreadStack;
@@ -614,7 +612,7 @@ public class SystemAdmin {
}
}
- public static void backup(String targetDir) throws AdminException {
+ public static void backup(String targetDir) {
InternalDistributedSystem ads = getAdminCnx();
// Baseline directory should be null if it was not provided on the command line
@@ -1212,8 +1210,8 @@ public class SystemAdmin {
if (specs.length == 0) {
Iterator it = reader.getResourceInstList().iterator();
while (it.hasNext()) {
- ResourceInst inst = (ResourceInst) it.next();
- StatValue values[] = inst.getStatValues();
+ StatArchiveReader.ResourceInst inst = (StatArchiveReader.ResourceInst) it.next();
+ StatArchiveReader.StatValue values[] = inst.getStatValues();
boolean firstTime = true;
for (int i = 0; i < values.length; i++) {
if (values[i] != null && values[i].hasValueChanged()) {
@@ -1227,25 +1225,25 @@ public class SystemAdmin {
}
}
} else {
- Map<CombinedResources, List<StatValue>> allSpecsMap =
- new HashMap<CombinedResources, List<StatValue>>();
+ Map<CombinedResources, List<StatArchiveReader.StatValue>> allSpecsMap =
+ new HashMap<CombinedResources, List<StatArchiveReader.StatValue>>();
for (int i = 0; i < specs.length; i++) {
- StatValue[] values = reader.matchSpec(specs[i]);
+ StatArchiveReader.StatValue[] values = reader.matchSpec(specs[i]);
if (values.length == 0) {
if (!quiet) {
System.err.println(LocalizedStrings.SystemAdmin_WARNING_NO_STATS_MATCHED_0
.toLocalizedString(specs[i].cmdLineSpec));
}
} else {
- Map<CombinedResources, List<StatValue>> specMap =
- new HashMap<CombinedResources, List<StatValue>>();
- for (StatValue v : values) {
+ Map<CombinedResources, List<StatArchiveReader.StatValue>> specMap =
+ new HashMap<CombinedResources, List<StatArchiveReader.StatValue>>();
+ for (StatArchiveReader.StatValue v : values) {
CombinedResources key = new CombinedResources(v);
List<StatArchiveReader.StatValue> list = specMap.get(key);
if (list != null) {
list.add(v);
} else {
- specMap.put(key, new ArrayList<StatValue>(Collections.singletonList(v)));
+ specMap.put(key, new ArrayList<StatArchiveReader.StatValue>(Collections.singletonList(v)));
}
}
if (!quiet) {
@@ -1253,7 +1251,7 @@ public class SystemAdmin {
LocalizedStrings.SystemAdmin_INFO_FOUND_0_MATCHES_FOR_1.toLocalizedString(
new Object[] {Integer.valueOf(specMap.size()), specs[i].cmdLineSpec}));
}
- for (Map.Entry<CombinedResources, List<StatValue>> me : specMap.entrySet()) {
+ for (Map.Entry<CombinedResources, List<StatArchiveReader.StatValue>> me : specMap.entrySet()) {
List<StatArchiveReader.StatValue> list = allSpecsMap.get(me.getKey());
if (list != null) {
list.addAll(me.getValue());
@@ -1263,9 +1261,9 @@ public class SystemAdmin {
}
}
}
- for (Map.Entry<CombinedResources, List<StatValue>> me : allSpecsMap.entrySet()) {
+ for (Map.Entry<CombinedResources, List<StatArchiveReader.StatValue>> me : allSpecsMap.entrySet()) {
System.out.println(me.getKey());
- for (StatValue v : me.getValue()) {
+ for (StatArchiveReader.StatValue v : me.getValue()) {
printStatValue(v, startTime, endTime, nofilter, persec, persample, prunezeros,
details);
}
@@ -1304,8 +1302,8 @@ public class SystemAdmin {
*
*/
@SuppressWarnings("serial")
- private static class CombinedResources extends ArrayList<ResourceInst> {
- public CombinedResources(StatValue v) {
+ private static class CombinedResources extends ArrayList<StatArchiveReader.ResourceInst> {
+ public CombinedResources(StatArchiveReader.StatValue v) {
super(Arrays.asList(v.getResources()));
}
@@ -1313,7 +1311,7 @@ public class SystemAdmin {
public String toString() {
StringBuffer sb = new StringBuffer();
boolean first = true;
- for (ResourceInst inst : this) {
+ for (StatArchiveReader.ResourceInst inst : this) {
if (first) {
first = false;
} else {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/CacheInfo.java b/geode-core/src/main/java/org/apache/geode/internal/admin/CacheInfo.java
index e0ca4b0..d7a7f99 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/CacheInfo.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/CacheInfo.java
@@ -71,7 +71,7 @@ public interface CacheInfo {
* Returns the statistic resource that contains this cache's performance statistics. Returns null
* if the cache is closed;
*/
- StatResource getPerfStats();
+// StatResource getPerfStats();
/**
* Forces this instance to be closed. Does not actually close the cache.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/GemFireVM.java b/geode-core/src/main/java/org/apache/geode/internal/admin/GemFireVM.java
index 80c0337..ae5bae2 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/GemFireVM.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/GemFireVM.java
@@ -85,28 +85,28 @@ public interface GemFireVM {
/**
* Returns all statistic resources except those involving SharedClass
*/
- StatResource[] getStats(String statisticsTypeName);
-
- /**
- * Returns all statistic resources
- */
- StatResource[] getAllStats();
+// StatResource[] getStats(String statisticsTypeName);
+//
+// /**
+// * Returns all statistic resources
+// */
+// StatResource[] getAllStats();
/**
* Returns a snapshot of the distributed lock services
*/
DLockInfo[] getDistributedLockInfo();
- /**
- * Adds a {@link StatListener} for the given resource and attribute. Changes in value will be
- * streamed back from the vm.
- */
- void addStatListener(StatListener observer, StatResource observedResource, Stat observedStat);
-
- /**
- * Removes {@link StatListener}
- */
- void removeStatListener(StatListener observer);
+// /**
+// * Adds a {@link StatListener} for the given resource and attribute. Changes in value will be
+// * streamed back from the vm.
+// */
+// void addStatListener(StatListener observer, StatResource observedResource, Stat observedStat);
+//
+// /**
+// * Removes {@link StatListener}
+// */
+// void removeStatListener(StatListener observer);
/**
* Adds a {@link HealthListener} with the given configuration to the vm. If a health listener has
@@ -340,7 +340,7 @@ public interface GemFireVM {
*
* @since GemFire 5.7
*/
- void setAlertsManager(StatAlertDefinition[] alertDefs, long refreshInterval, boolean setRemotely);
+// void setAlertsManager(StatAlertDefinition[] alertDefs, long refreshInterval, boolean setRemotely);
/**
* This method would be used to set refresh interval for the GemFireVM. This method would mostly
@@ -364,5 +364,5 @@ public interface GemFireVM {
*
* @since GemFire 5.7
*/
- void updateAlertDefinitions(StatAlertDefinition[] alertDefs, int actionCode);
+// void updateAlertDefinitions(StatAlertDefinition[] alertDefs, int actionCode);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteGemFireVM.java b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteGemFireVM.java
index 8e55f10..721cfa0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteGemFireVM.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteGemFireVM.java
@@ -16,10 +16,7 @@ package org.apache.geode.internal.admin.remote;
import java.io.File;
import java.net.InetAddress;
-import java.util.ArrayList;
import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
@@ -43,10 +40,6 @@ import org.apache.geode.internal.admin.GemFireVM;
import org.apache.geode.internal.admin.GfManagerAgent;
import org.apache.geode.internal.admin.HealthListener;
import org.apache.geode.internal.admin.ListenerIdMap;
-import org.apache.geode.internal.admin.Stat;
-import org.apache.geode.internal.admin.StatAlertDefinition;
-import org.apache.geode.internal.admin.StatListener;
-import org.apache.geode.internal.admin.StatResource;
import org.apache.geode.internal.i18n.LocalizedStrings;
/**
@@ -76,7 +69,7 @@ public abstract class RemoteGemFireVM implements GemFireVM {
/**
* A thread that asynchronously dispatches callbacks to <code>StatListener</code>s.
*/
- protected final StatDispatcher dispatcher;
+// protected final StatDispatcher dispatcher;
/**
* The classpath from which to load the classes of objects inspected from this remote VM.
@@ -102,7 +95,7 @@ public abstract class RemoteGemFireVM implements GemFireVM {
* Creates a <code>RemoteApplicationVM</code> in a given distributed system (<code>agent</code>)
* with the given <code>id</code>.
* <p/>
- * You MUST invoke {@link #startStatDispatcher()} immediately after constructing an instance.
+ * You MUST invoke immediately after constructing an instance.
*
* @param alertLevel The level of {@link Alert}s that this administration console should receive
* from this member of the distributed system.
@@ -115,13 +108,13 @@ public abstract class RemoteGemFireVM implements GemFireVM {
.toLocalizedString());
}
this.id = id;
- this.dispatcher = new StatDispatcher();
+// this.dispatcher = new StatDispatcher();
sendAsync(AdminConsoleMessage.create(alertLevel));
}
- public void startStatDispatcher() {
- this.dispatcher.start();
- }
+// public void startStatDispatcher() {
+// this.dispatcher.start();
+// }
// Object methods
@@ -205,32 +198,32 @@ public abstract class RemoteGemFireVM implements GemFireVM {
this.isDedicatedCacheServer = Boolean.valueOf(response.isDedicatedCacheServer());
}
- /**
- * Retrieves all statistic resources from the remote vm.
- *
- * @return array of all statistic resources
- *
- * @see FetchStatsRequest
- * @see FetchStatsResponse#getAllStats
- */
- public StatResource[] getAllStats() {
- FetchStatsResponse resp = (FetchStatsResponse) sendAndWait(FetchStatsRequest.create(null));
- return resp.getAllStats(this);
- }
-
- /**
- * Retrieves all statistic resources from the remote VM except for those involving SharedClass.
- *
- * @return array of non-SharedClass statistic resources
- *
- * @see FetchStatsRequest
- * @see FetchStatsResponse#getStats
- */
- public StatResource[] getStats(String statisticsTypeName) {
- FetchStatsResponse resp =
- (FetchStatsResponse) sendAndWait(FetchStatsRequest.create(statisticsTypeName));
- return resp.getAllStats(this);
- }
+// /**
+// * Retrieves all statistic resources from the remote vm.
+// *
+// * @return array of all statistic resources
+// *
+// * @see FetchStatsRequest
+// * @see FetchStatsResponse#getAllStats
+// */
+// public StatResource[] getAllStats() {
+// FetchStatsResponse resp = (FetchStatsResponse) sendAndWait(FetchStatsRequest.create(null));
+// return resp.getAllStats(this);
+// }
+
+// /**
+// * Retrieves all statistic resources from the remote VM except for those involving SharedClass.
+// *
+// * @return array of non-SharedClass statistic resources
+// *
+// * @see FetchStatsRequest
+// * @see FetchStatsResponse#getStats
+// */
+// public StatResource[] getStats(String statisticsTypeName) {
+// FetchStatsResponse resp =
+// (FetchStatsResponse) sendAndWait(FetchStatsRequest.create(statisticsTypeName));
+// return resp.getAllStats(this);
+// }
/**
* Returns information about distributed locks held by the remote VM.
@@ -253,19 +246,19 @@ public abstract class RemoteGemFireVM implements GemFireVM {
*
* @see AddStatListenerRequest
*/
- public void addStatListener(StatListener observer, StatResource observedResource,
- Stat observedStat) {
- AddStatListenerResponse resp = (AddStatListenerResponse) sendAndWait(
- AddStatListenerRequest.create(observedResource, observedStat));
- int listenerId = resp.getListenerId();
- synchronized (this.statListenersLock) {
- this.statListeners.put(listenerId, observer);
- }
- }
+// public void addStatListener(StatListener observer, StatResource observedResource,
+// Stat observedStat) {
+// AddStatListenerResponse resp = (AddStatListenerResponse) sendAndWait(
+// AddStatListenerRequest.create(observedResource, observedStat));
+// int listenerId = resp.getListenerId();
+// synchronized (this.statListenersLock) {
+// this.statListeners.put(listenerId, observer);
+// }
+// }
/**
* Notes that several statistics values have been updated in the distributed system member modeled
- * by this <code>RemoteGemFireVM</code> and invokes the {@link StatListener}s accordingly. Note
+ * by this <code>RemoteGemFireVM</code> and invokes the accordingly. Note
* that the listener notification happens asynchronously.
*
* @param timestamp The time at which the statistics were sampled
@@ -273,7 +266,7 @@ public abstract class RemoteGemFireVM implements GemFireVM {
* @param values The new values of the statistics
*/
public void callStatListeners(long timestamp, int[] listenerIds, double[] values) {
- dispatcher.put(new DispatchArgs(timestamp, listenerIds, values));
+// dispatcher.put(new DispatchArgs(timestamp, listenerIds, values));
}
@@ -288,39 +281,39 @@ public abstract class RemoteGemFireVM implements GemFireVM {
*
* @see #cancelStatListener
*/
- protected void internalCallStatListeners(long timestamp, int[] listenerIds, double[] values) {
- ListenerIdMap.Entry[] entries = null;
- List listenersToRemove = new ArrayList();
- synchronized (this.statListenersLock) {
- entries = this.statListeners.entries();
- }
-
- for (int j = 0; j < entries.length; j++) {
- int listenerId = entries[j].getKey();
- StatListener sl = (StatListener) entries[j].getValue();
- int i;
- for (i = 0; i < listenerIds.length; i++) {
- if (listenerIds[i] == listenerId || listenerIds[i] == -listenerId) {
- break;
- }
- }
- if (i == listenerIds.length) {
- sl.statValueUnchanged(timestamp);
- } else if (listenerIds[i] < 0) { // Stat resource went away
- listenersToRemove.add(Integer.valueOf(listenerId));
- } else {
- sl.statValueChanged(values[i], timestamp);
- }
- }
-
- synchronized (this.statListenersLock) {
- for (Iterator iter = listenersToRemove.iterator(); iter.hasNext();) {
- int i = ((Integer) iter.next()).intValue();
- statListeners.remove(i);
- cancelStatListener(i);
- }
- }
- }
+// protected void internalCallStatListeners(long timestamp, int[] listenerIds, double[] values) {
+// ListenerIdMap.Entry[] entries = null;
+// List listenersToRemove = new ArrayList();
+// synchronized (this.statListenersLock) {
+// entries = this.statListeners.entries();
+// }
+//
+// for (int j = 0; j < entries.length; j++) {
+// int listenerId = entries[j].getKey();
+// StatListener sl = (StatListener) entries[j].getValue();
+// int i;
+// for (i = 0; i < listenerIds.length; i++) {
+// if (listenerIds[i] == listenerId || listenerIds[i] == -listenerId) {
+// break;
+// }
+// }
+// if (i == listenerIds.length) {
+// sl.statValueUnchanged(timestamp);
+// } else if (listenerIds[i] < 0) { // Stat resource went away
+// listenersToRemove.add(Integer.valueOf(listenerId));
+// } else {
+// sl.statValueChanged(values[i], timestamp);
+// }
+// }
+//
+// synchronized (this.statListenersLock) {
+// for (Iterator iter = listenersToRemove.iterator(); iter.hasNext();) {
+// int i = ((Integer) iter.next()).intValue();
+// statListeners.remove(i);
+// cancelStatListener(i);
+// }
+// }
+// }
/**
* Sends a message to the remote VM letting it know that the listener with the given id no longer
@@ -333,26 +326,26 @@ public abstract class RemoteGemFireVM implements GemFireVM {
/**
* Removes a <code>StatListener</code> that receives updates from the remote member VM.
*/
- public void removeStatListener(StatListener observer) {
- int listenerId = -1;
- boolean foundIt = false;
- synchronized (this.statListenersLock) {
- ListenerIdMap.EntryIterator it = this.statListeners.iterator();
- ListenerIdMap.Entry e = it.next();
- while (e != null) {
- if (e.getValue() == observer) {
- foundIt = true;
- listenerId = e.getKey();
- this.statListeners.remove(listenerId);
- break;
- }
- e = it.next();
- }
- }
- if (foundIt) {
- cancelStatListener(listenerId);
- }
- }
+// public void removeStatListener(StatListener observer) {
+// int listenerId = -1;
+// boolean foundIt = false;
+// synchronized (this.statListenersLock) {
+// ListenerIdMap.EntryIterator it = this.statListeners.iterator();
+// ListenerIdMap.Entry e = it.next();
+// while (e != null) {
+// if (e.getValue() == observer) {
+// foundIt = true;
+// listenerId = e.getKey();
+// this.statListeners.remove(listenerId);
+// break;
+// }
+// e = it.next();
+// }
+// }
+// if (foundIt) {
+// cancelStatListener(listenerId);
+// }
+// }
/**
* Returns the configuration of the remote VM.
@@ -752,7 +745,7 @@ public abstract class RemoteGemFireVM implements GemFireVM {
this.statListeners = new ListenerIdMap(); // we don't provide a way to empty a ListenerIdMap
unreachable = true;
}
- dispatcher.stopDispatching();
+// dispatcher.stopDispatching();
}
/**
@@ -791,56 +784,56 @@ public abstract class RemoteGemFireVM implements GemFireVM {
/**
* A daemon thread that reads org.apache.geode.internal.admin.remote.RemoteGemFireVM.DispatchArgs
* off of a queue and delivers callbacks to the appropriate
- * {@link org.apache.geode.internal.admin.StatListener}.
- */
- private class StatDispatcher extends Thread {
- private BlockingQueue queue = new LinkedBlockingQueue();
- private volatile boolean stopped = false;
-
- protected StatDispatcher() {
- super(RemoteGemFireVM.this.agent.getThreadGroup(), "StatDispatcher");
- setDaemon(true);
- }
-
- protected synchronized void stopDispatching() {
- this.stopped = true;
- this.interrupt();
- }
-
- @Override // GemStoneAddition
- public void run() {
- while (!stopped) {
- SystemFailure.checkFailure();
- try {
- DispatchArgs args = (DispatchArgs) queue.take();
- internalCallStatListeners(args.timestamp, args.listenerIds, args.values);
-
- } catch (InterruptedException ex) {
- // No need to reset the interrupt bit, we'll just exit.
- break;
-
- } catch (Exception ignore) {
- }
- }
- }
- protected void put(DispatchArgs args) {
- for (;;) {
- RemoteGemFireVM.this.agent.getDM().getCancelCriterion().checkCancelInProgress(null);
- boolean interrupted = Thread.interrupted();
- try {
- queue.put(args);
- break;
- } catch (InterruptedException ignore) {
- interrupted = true;
- } finally {
- if (interrupted) {
- Thread.currentThread().interrupt();
- }
- }
- } // for
- }
- }
+ */
+// private class StatDispatcher extends Thread {
+// private BlockingQueue queue = new LinkedBlockingQueue();
+// private volatile boolean stopped = false;
+//
+// protected StatDispatcher() {
+// super(RemoteGemFireVM.this.agent.getThreadGroup(), "StatDispatcher");
+// setDaemon(true);
+// }
+//
+// protected synchronized void stopDispatching() {
+// this.stopped = true;
+// this.interrupt();
+// }
+//
+// @Override // GemStoneAddition
+// public void run() {
+// while (!stopped) {
+// SystemFailure.checkFailure();
+// try {
+// DispatchArgs args = (DispatchArgs) queue.take();
+// internalCallStatListeners(args.timestamp, args.listenerIds, args.values);
+//
+// } catch (InterruptedException ex) {
+// // No need to reset the interrupt bit, we'll just exit.
+// break;
+//
+// } catch (Exception ignore) {
+// }
+// }
+// }
+//
+// protected void put(DispatchArgs args) {
+// for (;;) {
+// RemoteGemFireVM.this.agent.getDM().getCancelCriterion().checkCancelInProgress(null);
+// boolean interrupted = Thread.interrupted();
+// try {
+// queue.put(args);
+// break;
+// } catch (InterruptedException ignore) {
+// interrupted = true;
+// } finally {
+// if (interrupted) {
+// Thread.currentThread().interrupt();
+// }
+// }
+// } // for
+// }
+// }
/**
* Encapsulates an update to several statistics
@@ -906,13 +899,13 @@ public abstract class RemoteGemFireVM implements GemFireVM {
* @param refreshInterval refresh interval to be used by the Alerts Manager
* @param setRemotely whether to be set on remote VM
*/
- public void setAlertsManager(StatAlertDefinition[] alertDefs, long refreshInterval,
- boolean setRemotely) {
- if (setRemotely) {
- // TODO: is the check for valid AdminResponse required
- sendAsync(StatAlertsManagerAssignMessage.create(alertDefs, refreshInterval));
- }
- }
+// public void setAlertsManager(StatAlertDefinition[] alertDefs, long refreshInterval,
+// boolean setRemotely) {
+// if (setRemotely) {
+// // TODO: is the check for valid AdminResponse required
+// sendAsync(StatAlertsManagerAssignMessage.create(alertDefs, refreshInterval));
+// }
+// }
/**
* This method would be used to set refresh interval for the GemFireVM. This method would mostly
@@ -934,9 +927,9 @@ public abstract class RemoteGemFireVM implements GemFireVM {
* UpdateAlertDefinitionRequestUPDATE_ALERT_DEFINITION,
* UpdateAlertDefinitionRequest.REMOVE_ALERT_DEFINITION
*/
- public void updateAlertDefinitions(StatAlertDefinition[] alertDefs, int actionCode) {
- // TODO: is the check for valid AdminResponse required
- sendAsync(UpdateAlertDefinitionMessage.create(alertDefs, actionCode));
- }
+// public void updateAlertDefinitions(StatAlertDefinition[] alertDefs, int actionCode) {
+// // TODO: is the check for valid AdminResponse required
+// sendAsync(UpdateAlertDefinitionMessage.create(alertDefs, actionCode));
+// }
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteStat.java b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteStat.java
index 3e47cab..c0c3110 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteStat.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteStat.java
@@ -21,12 +21,9 @@ import java.io.IOException;
import org.apache.geode.DataSerializable;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.admin.Stat;
-import org.apache.geode.internal.statistics.StatisticDescriptorImpl;
-import org.apache.geode.statistics.StatisticDescriptor;
-import org.apache.geode.statistics.Statistics;
-public class RemoteStat implements Stat, DataSerializable {
+//public class RemoteStat implements Stat, DataSerializable {
+public class RemoteStat implements DataSerializable {
private static final long serialVersionUID = 8263951659282343027L;
// instance variables
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXRollbackMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXRollbackMessage.java
index 3770e79..2b0e347 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXRollbackMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXRollbackMessage.java
@@ -36,7 +36,6 @@ import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.ClusterDistributionManager;
import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.distributed.internal.DistributionMessage;
-import org.apache.geode.distributed.internal.DistributionStats;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.ReplyException;
import org.apache.geode.distributed.internal.ReplyMessage;
@@ -52,11 +51,14 @@ public class DistTXRollbackMessage extends TXMessage {
private static final Logger logger = LogService.getLogger();
- /** for deserialization */
- public DistTXRollbackMessage() {}
+ /**
+ * for deserialization
+ */
+ public DistTXRollbackMessage() {
+ }
public DistTXRollbackMessage(TXId txUniqId, InternalDistributedMember onBehalfOfClientMember,
- ReplyProcessor21 processor) {
+ ReplyProcessor21 processor) {
super(txUniqId.getUniqId(), onBehalfOfClientMember, processor);
}
@@ -135,7 +137,8 @@ public class DistTXRollbackMessage extends TXMessage {
/**
* Empty constructor to conform to DataSerializable interface
*/
- public DistTXRollbackReplyMessage() {}
+ public DistTXRollbackReplyMessage() {
+ }
public DistTXRollbackReplyMessage(DataInput in) throws IOException, ClassNotFoundException {
fromData(in);
@@ -146,7 +149,9 @@ public class DistTXRollbackMessage extends TXMessage {
this.rollbackState = val;
}
- /** GetReplyMessages are always processed in-line */
+ /**
+ * GetReplyMessages are always processed in-line
+ */
@Override
public boolean getInlineProcess() {
return true;
@@ -156,14 +161,13 @@ public class DistTXRollbackMessage extends TXMessage {
* Return the value from the get operation, serialize it bytes as late as possible to avoid
* making un-neccesary byte[] copies. De-serialize those same bytes as late as possible to avoid
* using precious threads (aka P2P readers).
- *
* @param recipient the origin VM that performed the get
* @param processorId the processor on which the origin thread is waiting
* @param val the raw value that will eventually be serialized
* @param replySender distribution manager used to send the reply
*/
public static void send(InternalDistributedMember recipient, int processorId, Boolean val,
- ReplySender replySender) throws RemoteOperationException {
+ ReplySender replySender) throws RemoteOperationException {
Assert.assertTrue(recipient != null, "DistTXRollbackReplyMessage NULL reply message");
DistTXRollbackReplyMessage m = new DistTXRollbackReplyMessage(processorId, val);
m.setRecipient(recipient);
@@ -172,7 +176,6 @@ public class DistTXRollbackMessage extends TXMessage {
/**
* Processes this message. This method is invoked by the receiver of the message.
- *
* @param dm the distribution manager that is processing the message.
*/
@Override
@@ -240,9 +243,7 @@ public class DistTXRollbackMessage extends TXMessage {
@Override
public void process(DistributionMessage msg) {
- if (DistributionStats.enableClockStats) {
- this.start = DistributionStats.getStatTime();
- }
+ this.start = System.nanoTime();
if (msg instanceof DistTXRollbackReplyMessage) {
DistTXRollbackReplyMessage reply = (DistTXRollbackReplyMessage) msg;
// De-serialization needs to occur in the requesting thread, not a P2P
@@ -258,9 +259,7 @@ public class DistTXRollbackMessage extends TXMessage {
*/
public Boolean waitForResponse() throws RemoteOperationException {
waitForRemoteResponse();
- if (DistributionStats.enableClockStats) {
- getDistributionManager().getStats().incReplyHandOffTime(this.start);
- }
+ getDistributionManager().getStats().incReplyHandOffTime(this.start);
return rollbackState;
}
}
@@ -268,10 +267,9 @@ public class DistTXRollbackMessage extends TXMessage {
/**
* Reply processor which collects all CommitReplyExceptions for Dist Tx and emits a detailed
* failure exception if problems occur
- *
* @see TXCommitMessage.CommitReplyProcessor
*
- * [DISTTX] TODO see if need ReliableReplyProcessor21? departed members?
+ * [DISTTX] TODO see if need ReliableReplyProcessor21? departed members?
*/
public static class DistTxRollbackReplyProcessor extends ReplyProcessor21 {
private HashMap<DistributedMember, DistTXCoordinatorInterface> msgMap;
@@ -279,7 +277,7 @@ public class DistTXRollbackMessage extends TXMessage {
private transient TXId txIdent = null;
public DistTxRollbackReplyProcessor(TXId txUniqId, DistributionManager dm, Set initMembers,
- HashMap<DistributedMember, DistTXCoordinatorInterface> msgMap) {
+ HashMap<DistributedMember, DistTXCoordinatorInterface> msgMap) {
super(dm, initMembers);
this.msgMap = msgMap;
// [DISTTX] TODO Do we need synchronised map?
@@ -357,16 +355,21 @@ public class DistTXRollbackMessage extends TXMessage {
/**
* An Exception that collects many remote CommitExceptions
- *
* @see TXCommitMessage.CommitExceptionCollectingException
*/
public static class DistTxRollbackExceptionCollectingException extends ReplyException {
private static final long serialVersionUID = -2681117727592137893L;
- /** Set of members that threw CacheClosedExceptions */
+ /**
+ * Set of members that threw CacheClosedExceptions
+ */
private final Set<InternalDistributedMember> cacheExceptions;
- /** key=region path, value=Set of members */
+ /**
+ * key=region path, value=Set of members
+ */
private final Map<String, Set<InternalDistributedMember>> regionExceptions;
- /** List of exceptions that were unexpected and caused the tx to fail */
+ /**
+ * List of exceptions that were unexpected and caused the tx to fail
+ */
private final Map fatalExceptions;
private final TXId id;
@@ -390,12 +393,12 @@ public class DistTXRollbackMessage extends TXMessage {
if (fatalExceptions.size() > 0) {
StringBuilder errorMessage = new StringBuilder("Incomplete commit of transaction ")
.append(id).append(". Caused by the following exceptions: ");
- for (Iterator i = fatalExceptions.entrySet().iterator(); i.hasNext();) {
+ for (Iterator i = fatalExceptions.entrySet().iterator(); i.hasNext(); ) {
Map.Entry me = (Map.Entry) i.next();
DistributedMember mem = (DistributedMember) me.getKey();
errorMessage.append(" From member: ").append(mem).append(" ");
List exceptions = (List) me.getValue();
- for (Iterator ei = exceptions.iterator(); ei.hasNext();) {
+ for (Iterator ei = exceptions.iterator(); ei.hasNext(); ) {
Exception e = (Exception) ei.next();
errorMessage.append(e);
for (StackTraceElement ste : e.getStackTrace()) {
@@ -432,7 +435,7 @@ public class DistTXRollbackMessage extends TXMessage {
* Protected by (this)
*/
public void addExceptionsFromMember(InternalDistributedMember member, Set exceptions) {
- for (Iterator iter = exceptions.iterator(); iter.hasNext();) {
+ for (Iterator iter = exceptions.iterator(); iter.hasNext(); ) {
Exception ex = (Exception) iter.next();
if (ex instanceof CancelException) {
cacheExceptions.add(member);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/InternalRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/InternalRegion.java
index cb128d5..87a7e96 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/InternalRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/InternalRegion.java
@@ -47,6 +47,7 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionTag;
import org.apache.geode.internal.util.concurrent.StoppableCountDownLatch;
import org.apache.geode.statistics.cache.CachePerfStats;
+import org.apache.geode.statistics.eviction.EvictionStats;
/**
* Interface to be used instead of type-casting to LocalRegion.
@@ -159,7 +160,7 @@ public interface InternalRegion extends Region, HasCachePerfStats, RegionEntryCo
* Returns null if the region is not configured for eviction otherwise returns the Statistics used
* to measure eviction activity.
*/
- Statistics getEvictionStatistics();
+ EvictionStats getEvictionStatistics();
long getEvictionCounter();
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
index 640e928..de07d1e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
@@ -224,6 +224,8 @@ import org.apache.geode.internal.util.concurrent.StoppableReadWriteLock;
import org.apache.geode.pdx.JSONFormatter;
import org.apache.geode.pdx.PdxInstance;
import org.apache.geode.statistics.cache.CachePerfStats;
+import org.apache.geode.statistics.disk.DiskRegionStats;
+import org.apache.geode.statistics.eviction.EvictionStats;
import org.apache.geode.statistics.region.RegionPerfStats;
/**
@@ -7651,7 +7653,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
if (this instanceof BucketRegion) {
stats = internalRegionArgs.getPartitionedRegion().getDiskRegionStats();
} else {
- stats = new DiskRegionStats(getCache().getDistributedSystem().getStatisticsFactory(), getFullPath());
+ stats = new DiskRegionStats(getFullPath());
}
EnumSet<DiskRegionFlag> diskFlags = EnumSet.noneOf(DiskRegionFlag.class);
@@ -11673,13 +11675,13 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
}
@Override
- public Statistics getEvictionStatistics() {
- Statistics result = null;
+ public EvictionStats getEvictionStatistics() {
+ EvictionStats result = null;
EvictionController evictionController = getEvictionController();
if (evictionController != null) {
- EvictionCounters es = evictionController.getCounters();
- if (es != null) {
- result = es.getStatistics();
+ EvictionCounters evictionCounters = evictionController.getCounters();
+ if (evictionCounters != null) {
+ result = evictionCounters.getStatistics();
}
}
return result;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/control/HeapMemoryMonitor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/control/HeapMemoryMonitor.java
index 737937b..b8aea1a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/control/HeapMemoryMonitor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/control/HeapMemoryMonitor.java
@@ -47,6 +47,7 @@ import org.apache.geode.internal.i18n.LocalizedStrings;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.LoggingThreadGroup;
import org.apache.geode.internal.logging.log4j.LocalizedMessage;
+import org.apache.geode.internal.statistics.LocalStatListener;
import org.apache.geode.statistics.resourcemanger.ResourceManagerStats;
/**
@@ -328,13 +329,10 @@ public class HeapMemoryMonitor implements NotificationListener, MemoryMonitor {
}
final ThreadGroup threadGroup = LoggingThreadGroup.createThreadGroup("HeapPoller", logger);
- final ThreadFactory threadFactory = new ThreadFactory() {
- @Override
- public Thread newThread(Runnable r) {
- Thread thread = new Thread(threadGroup, r, "GemfireHeapPoller");
- thread.setDaemon(true);
- return thread;
- }
+ final ThreadFactory threadFactory = r -> {
+ Thread thread = new Thread(threadGroup, r, "GemfireHeapPoller");
+ thread.setDaemon(true);
+ return thread;
};
this.pollerExecutor = Executors.newScheduledThreadPool(1, threadFactory);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/AbstractEvictionController.java b/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/AbstractEvictionController.java
index 64018ce..fa67296 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/AbstractEvictionController.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/AbstractEvictionController.java
@@ -20,6 +20,9 @@ import org.apache.geode.cache.EvictionAlgorithm;
import org.apache.geode.cache.EvictionAttributes;
import org.apache.geode.cache.util.ObjectSizer;
import org.apache.geode.internal.cache.BucketRegion;
+import org.apache.geode.statistics.eviction.CountLRUStatistics;
+import org.apache.geode.statistics.eviction.HeapLRUStatistics;
+import org.apache.geode.statistics.eviction.MemoryLRUStatistics;
/**
* Eviction controllers that extend this class evict the least recently used (LRU) entry in the
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/CountLRUStatistics.java b/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/CountLRUStatistics.java
deleted file mode 100644
index cbf1a1e..0000000
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/CountLRUStatistics.java
+++ /dev/null
@@ -1,111 +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.geode.internal.cache.eviction;
-
-import org.apache.geode.statistics.StatisticDescriptor;
-import org.apache.geode.statistics.Statistics;
-import org.apache.geode.statistics.StatisticsFactory;
-import org.apache.geode.statistics.StatisticsType;
-import org.apache.geode.statistics.StatisticsTypeFactory;
-import org.apache.geode.internal.statistics.StatisticsTypeFactoryImpl;
-
-public class CountLRUStatistics implements EvictionStats {
- private StatisticsType statType;
- private int limitId;
- private int counterId;
- private int evictionsId;
- private int destroysId;
- private int evaluationsId;
- private int greedyReturnsId;
-
- private void initializeStats(StatisticsFactory factory) {
- final String entriesAllowedDesc = "Number of entries allowed in this region.";
- final String regionEntryCountDesc = "Number of entries in this region.";
- final String lruEvictionsDesc = "Number of total entry evictions triggered by LRU.";
- final String lruDestroysDesc =
- "Number of entries destroyed in the region through both destroy cache operations and eviction.";
- final String lruEvaluationsDesc = "Number of entries evaluated during LRU operations.";
- final String lruGreedyReturnsDesc = "Number of non-LRU entries evicted during LRU operations";
-
- statType = factory.createType("LRUStatistics", "Statistics relates to entry cout based eviction",
- new StatisticDescriptor[] {
- factory.createLongGauge("entriesAllowed", entriesAllowedDesc, "entries"),
- factory.createLongGauge("entryCount", regionEntryCountDesc, "entries"),
- factory.createLongCounter("lruEvictions", lruEvictionsDesc, "entries"),
- factory.createLongCounter("lruDestroys", lruDestroysDesc, "entries"),
- factory.createLongCounter("lruEvaluations", lruEvaluationsDesc, "entries"),
- factory.createLongCounter("lruGreedyReturns", lruGreedyReturnsDesc, "entries")});
-
- limitId = statType.nameToId("entriesAllowed");
- counterId = statType.nameToId("entryCount");
- evictionsId = statType.nameToId("lruEvictions");
- destroysId = statType.nameToId("lruDestroys");
- evaluationsId = statType.nameToId("lruEvaluations");
- greedyReturnsId = statType.nameToId("lruGreedyReturns");
- }
-
- private final Statistics stats;
-
- public CountLRUStatistics(StatisticsFactory factory, String name) {
- initializeStats(factory);
- this.stats = factory.createAtomicStatistics(statType, "LRUStatistics-" + name);
- }
-
- @Override
- public Statistics getStatistics() {
- return this.stats;
- }
-
- @Override
- public void close() {
- this.stats.close();
- }
-
- @Override
- public void incEvictions() {
- this.stats.incLong(evictionsId, 1);
- }
-
- @Override
- public void updateCounter(long delta) {
- this.stats.incLong(counterId, delta);
- }
-
- @Override
- public void incDestroys() {
- this.stats.incLong(destroysId, 1);
- }
-
- @Override
- public void setLimit(long newValue) {
- this.stats.setLong(limitId, newValue);
- }
-
- @Override
- public void setCounter(long newValue) {
- this.stats.setLong(counterId, newValue);
- }
-
- @Override
- public void incEvaluations(long delta) {
- this.stats.incLong(evaluationsId, delta);
- }
-
- @Override
- public void incGreedyReturns(long delta) {
- this.stats.incLong(greedyReturnsId, delta);
- }
-
-}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/EvictionCounters.java b/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/EvictionCounters.java
index ba3f406..614b726 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/EvictionCounters.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/EvictionCounters.java
@@ -14,6 +14,8 @@
*/
package org.apache.geode.internal.cache.eviction;
+import org.apache.geode.statistics.eviction.EvictionStats;
+
public interface EvictionCounters {
long getCounter();
@@ -40,5 +42,7 @@ public interface EvictionCounters {
void incGreedyReturns(long greedyReturns);
+ EvictionStats getStatistics();
+
void close();
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/HeapLRUStatistics.java b/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/HeapLRUStatistics.java
deleted file mode 100644
index 6c37a1e..0000000
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/HeapLRUStatistics.java
+++ /dev/null
@@ -1,108 +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.geode.internal.cache.eviction;
-
-import org.apache.geode.statistics.StatisticDescriptor;
-import org.apache.geode.statistics.Statistics;
-import org.apache.geode.statistics.StatisticsFactory;
-import org.apache.geode.statistics.StatisticsType;
-import org.apache.geode.statistics.StatisticsTypeFactory;
-import org.apache.geode.internal.statistics.StatisticsTypeFactoryImpl;
-
-public class HeapLRUStatistics implements EvictionStats {
- private StatisticsType statType;
- private int counterId;
- private int evictionsId;
- private int destroysId;
- private int evaluationsId;
- private int greedyReturnsId;
-
- private void initializeStats(StatisticsFactory factory) {
- final String entryBytesDesc =
- "The amount of memory currently used by regions configured for eviction.";
- final String lruEvictionsDesc = "Number of total entry evictions triggered by LRU.";
- final String
- lruDestroysDesc =
- "Number of entries destroyed in the region through both destroy cache operations and eviction.";
- final String lruEvaluationsDesc = "Number of entries evaluated during LRU operations.";
- final String lruGreedyReturnsDesc = "Number of non-LRU entries evicted during LRU operations";
-
- statType = factory.createType("HeapLRUStatistics", "Statistics related to heap based eviction",
- new StatisticDescriptor[]{factory.createLongGauge("entryBytes", entryBytesDesc, "bytes"),
- factory.createLongCounter("lruEvictions", lruEvictionsDesc, "entries"),
- factory.createLongCounter("lruDestroys", lruDestroysDesc, "entries"),
- factory.createLongCounter("lruEvaluations", lruEvaluationsDesc, "entries"),
- factory.createLongCounter("lruGreedyReturns", lruGreedyReturnsDesc, "entries")});
-
- counterId = statType.nameToId("entryBytes");
- evictionsId = statType.nameToId("lruEvictions");
- destroysId = statType.nameToId("lruDestroys");
- evaluationsId = statType.nameToId("lruEvaluations");
- greedyReturnsId = statType.nameToId("lruGreedyReturns");
- }
-
- private final Statistics stats;
-
- public HeapLRUStatistics(StatisticsFactory factory, String name) {
- initializeStats(factory);
- this.stats = factory.createAtomicStatistics(statType, "HeapLRUStatistics-" + name);
- }
-
- @Override
- public Statistics getStatistics() {
- return this.stats;
- }
-
- @Override
- public void close() {
- this.stats.close();
- }
-
- @Override
- public void incEvictions() {
- this.stats.incLong(evictionsId, 1);
- }
-
- @Override
- public void updateCounter(long delta) {
- this.stats.incLong(counterId, delta);
- }
-
- @Override
- public void incDestroys() {
- this.stats.incLong(destroysId, 1);
- }
-
- @Override
- public void setLimit(long newValue) {
- // nothing needed
- }
-
- @Override
- public void setCounter(long newValue) {
- this.stats.setLong(counterId, newValue);
- }
-
- @Override
- public void incEvaluations(long delta) {
- this.stats.incLong(evaluationsId, delta);
- }
-
- @Override
- public void incGreedyReturns(long delta) {
- this.stats.incLong(greedyReturnsId, delta);
- }
-
-}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/MemoryLRUStatistics.java b/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/MemoryLRUStatistics.java
deleted file mode 100644
index 503b648..0000000
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/MemoryLRUStatistics.java
+++ /dev/null
@@ -1,110 +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.geode.internal.cache.eviction;
-
-import org.apache.geode.statistics.StatisticDescriptor;
-import org.apache.geode.statistics.Statistics;
-import org.apache.geode.statistics.StatisticsFactory;
-import org.apache.geode.statistics.StatisticsType;
-import org.apache.geode.statistics.StatisticsTypeFactory;
-import org.apache.geode.internal.statistics.StatisticsTypeFactoryImpl;
-
-public class MemoryLRUStatistics implements EvictionStats {
- private StatisticsType statType;
- private int limitId;
- private int counterId;
- private int evictionsId;
- private int destroysId;
- private int evaluationsId;
- private int greedyReturnsId;
-
- private void initializeStats(StatisticsFactory factory) {
- final String bytesAllowedDesc = "Number of total bytes allowed in this region.";
- final String byteCountDesc = "Number of bytes in region.";
- final String lruEvictionsDesc = "Number of total entry evictions triggered by LRU.";
- final String lruDestroysDesc =
- "Number of entries destroyed in the region through both destroy cache operations and eviction.";
- final String lruEvaluationsDesc = "Number of entries evaluated during LRU operations.";
- final String lruGreedyReturnsDesc = "Number of non-LRU entries evicted during LRU operations";
-
- statType = factory.createType("MemLRUStatistics", "Statistics relates to memory based eviction",
- new StatisticDescriptor[] {factory.createLongGauge("bytesAllowed", bytesAllowedDesc, "bytes"),
- factory.createLongGauge("byteCount", byteCountDesc, "bytes"),
- factory.createLongCounter("lruEvictions", lruEvictionsDesc, "entries"),
- factory.createLongCounter("lruDestroys", lruDestroysDesc, "entries"),
- factory.createLongCounter("lruEvaluations", lruEvaluationsDesc, "entries"),
- factory.createLongCounter("lruGreedyReturns", lruGreedyReturnsDesc, "entries")});
-
- limitId = statType.nameToId("bytesAllowed");
- counterId = statType.nameToId("byteCount");
- evictionsId = statType.nameToId("lruEvictions");
- destroysId = statType.nameToId("lruDestroys");
- evaluationsId = statType.nameToId("lruEvaluations");
- greedyReturnsId = statType.nameToId("lruGreedyReturns");
- }
-
- private final Statistics stats;
-
- public MemoryLRUStatistics(StatisticsFactory factory, String name) {
- initializeStats(factory);
- this.stats = factory.createAtomicStatistics(statType, "MemLRUStatistics-" + name);
- }
-
- @Override
- public Statistics getStatistics() {
- return this.stats;
- }
-
- @Override
- public void close() {
- this.stats.close();
- }
-
- @Override
- public void incEvictions() {
- this.stats.incLong(evictionsId, 1);
- }
-
- @Override
- public void updateCounter(long delta) {
- this.stats.incLong(counterId, delta);
- }
-
- @Override
- public void incDestroys() {
- this.stats.incLong(destroysId, 1);
- }
-
- @Override
- public void setLimit(long newValue) {
- this.stats.setLong(limitId, newValue);
- }
-
- @Override
- public void setCounter(long newValue) {
- this.stats.setLong(counterId, newValue);
- }
-
- @Override
- public void incEvaluations(long delta) {
- this.stats.incLong(evaluationsId, delta);
- }
-
- @Override
- public void incGreedyReturns(long delta) {
- this.stats.incLong(greedyReturnsId, delta);
- }
-
-}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteSizeMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteSizeMessage.java
index 69cb0e5..a4d65fd 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteSizeMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteSizeMessage.java
@@ -26,7 +26,6 @@ import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.ClusterDistributionManager;
import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.distributed.internal.DistributionMessage;
-import org.apache.geode.distributed.internal.DistributionStats;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.ReplyException;
import org.apache.geode.distributed.internal.ReplyMessage;
@@ -169,7 +168,7 @@ public class RemoteSizeMessage extends RemoteOperationMessage {
if (logger.isTraceEnabled(LogMarker.DM_VERBOSE)) {
logger.trace(LogMarker.DM_VERBOSE, "{} processed {}", getClass().getName(), this);
}
- dm.getStats().incReplyMessageTime(DistributionStats.getStatTime() - startTime);
+ dm.getStats().incReplyMessageTime(System.nanoTime() - startTime);
}
@Override
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java
index 057697a..8bb217c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java
@@ -62,7 +62,6 @@ import org.apache.geode.internal.cache.BucketRegion;
import org.apache.geode.internal.cache.BucketRegionQueue;
import org.apache.geode.internal.cache.ColocationHelper;
import org.apache.geode.internal.cache.Conflatable;
-import org.apache.geode.internal.cache.DiskRegionStats;
import org.apache.geode.internal.cache.DistributedRegion;
import org.apache.geode.internal.cache.EntryEventImpl;
import org.apache.geode.internal.cache.ForceReattemptException;
@@ -78,7 +77,6 @@ import org.apache.geode.internal.cache.wan.AsyncEventQueueConfigurationException
import org.apache.geode.internal.cache.wan.GatewaySenderConfigurationException;
import org.apache.geode.internal.cache.wan.GatewaySenderEventImpl;
import org.apache.geode.internal.cache.wan.GatewaySenderException;
-import org.apache.geode.internal.cache.wan.GatewaySenderStats;
import org.apache.geode.internal.i18n.LocalizedStrings;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.LoggingThreadGroup;
@@ -86,9 +84,7 @@ import org.apache.geode.internal.logging.log4j.LocalizedMessage;
import org.apache.geode.internal.size.SingleObjectSizer;
import org.apache.geode.internal.util.concurrent.StoppableCondition;
import org.apache.geode.internal.util.concurrent.StoppableReentrantLock;
-import org.apache.geode.management.ManagementService;
-import org.apache.geode.management.internal.beans.AsyncEventQueueMBean;
-import org.apache.geode.management.internal.beans.GatewaySenderMBean;
+import org.apache.geode.statistics.wan.GatewaySenderStats;
public class ParallelGatewaySenderQueue implements RegionQueue {
@@ -562,30 +558,30 @@ public class ParallelGatewaySenderQueue implements RegionQueue {
private void addOverflowStatisticsToMBean(Cache cache, PartitionedRegion prQ) {
// Get the appropriate mbean and add the eviction and disk region stats to it
- ManagementService service = ManagementService.getManagementService(cache);
- if (this.sender.getId().contains(AsyncEventQueueImpl.ASYNC_EVENT_QUEUE_PREFIX)) {
- AsyncEventQueueMBean bean = (AsyncEventQueueMBean) service.getLocalAsyncEventQueueMXBean(
- AsyncEventQueueImpl.getAsyncEventQueueIdFromSenderId(this.sender.getId()));
-
- if (bean != null) {
- // Add the eviction stats
- bean.getBridge().addOverflowStatistics(prQ.getEvictionStatistics());
-
- // Add the disk region stats
- bean.getBridge().addOverflowStatistics(prQ.getDiskRegionStats().getStats());
- }
- } else {
- GatewaySenderMBean bean =
- (GatewaySenderMBean) service.getLocalGatewaySenderMXBean(this.sender.getId());
-
- if (bean != null) {
- // Add the eviction stats
- bean.getBridge().addOverflowStatistics(prQ.getEvictionStatistics());
-
- // Add the disk region stats
- bean.getBridge().addOverflowStatistics(prQ.getDiskRegionStats().getStats());
- }
- }
+// ManagementService service = ManagementService.getManagementService(cache);
+// if (this.sender.getId().contains(AsyncEventQueueImpl.ASYNC_EVENT_QUEUE_PREFIX)) {
+// AsyncEventQueueMBean bean = (AsyncEventQueueMBean) service.getLocalAsyncEventQueueMXBean(
+// AsyncEventQueueImpl.getAsyncEventQueueIdFromSenderId(this.sender.getId()));
+//
+// if (bean != null) {
+// // Add the eviction stats
+// bean.getBridge().addOverflowStatistics(prQ.getEvictionStatistics());
+//
+// // Add the disk region stats
+// bean.getBridge().addOverflowStatistics(prQ.getDiskRegionStats().getStats());
+// }
+// } else {
+// GatewaySenderMBean bean =
+// (GatewaySenderMBean) service.getLocalGatewaySenderMXBean(this.sender.getId());
+//
+// if (bean != null) {
+// // Add the eviction stats
+// bean.getBridge().addOverflowStatistics(prQ.getEvictionStatistics());
+//
+// // Add the disk region stats
+// bean.getBridge().addOverflowStatistics(prQ.getDiskRegionStats().getStats());
+// }
+// }
}
/**
@@ -1514,48 +1510,48 @@ public class ParallelGatewaySenderQueue implements RegionQueue {
conflationExecutor.execute(conflationHandler);
}
- public long getNumEntriesOverflowOnDiskTestOnly() {
- long numEntriesOnDisk = 0;
- for (PartitionedRegion prQ : this.userRegionNameToshadowPRMap.values()) {
- DiskRegionStats diskStats = prQ.getDiskRegionStats();
- if (diskStats == null) {
- if (logger.isDebugEnabled()) {
- logger.debug(
- "{}: DiskRegionStats for shadow PR is null. Returning the numEntriesOverflowOnDisk as 0",
- this);
- }
- return 0;
- }
- if (logger.isDebugEnabled()) {
- logger.debug(
- "{}: DiskRegionStats for shadow PR is NOT null. Returning the numEntriesOverflowOnDisk obtained from DiskRegionStats",
- this);
- }
- numEntriesOnDisk += diskStats.getNumOverflowOnDisk();
- }
- return numEntriesOnDisk;
- }
-
- public long getNumEntriesInVMTestOnly() {
- long numEntriesInVM = 0;
- for (PartitionedRegion prQ : this.userRegionNameToshadowPRMap.values()) {
- DiskRegionStats diskStats = prQ.getDiskRegionStats();
- if (diskStats == null) {
- if (logger.isDebugEnabled()) {
- logger.debug(
- "{}: DiskRegionStats for shadow PR is null. Returning the numEntriesInVM as 0", this);
- }
- return 0;
- }
- if (logger.isDebugEnabled()) {
- logger.debug(
- "{}: DiskRegionStats for shadow PR is NOT null. Returning the numEntriesInVM obtained from DiskRegionStats",
- this);
- }
- numEntriesInVM += diskStats.getNumEntriesInVM();
- }
- return numEntriesInVM;
- }
+// public long getNumEntriesOverflowOnDiskTestOnly() {
+// long numEntriesOnDisk = 0;
+// for (PartitionedRegion prQ : this.userRegionNameToshadowPRMap.values()) {
+// DiskRegionStats diskStats = prQ.getDiskRegionStats();
+// if (diskStats == null) {
+// if (logger.isDebugEnabled()) {
+// logger.debug(
+// "{}: DiskRegionStats for shadow PR is null. Returning the numEntriesOverflowOnDisk as 0",
+// this);
+// }
+// return 0;
+// }
+// if (logger.isDebugEnabled()) {
+// logger.debug(
+// "{}: DiskRegionStats for shadow PR is NOT null. Returning the numEntriesOverflowOnDisk obtained from DiskRegionStats",
+// this);
+// }
+// numEntriesOnDisk += diskStats.getNumOverflowOnDisk();
+// }
+// return numEntriesOnDisk;
+// }
+
+// public long getNumEntriesInVMTestOnly() {
+// long numEntriesInVM = 0;
+// for (PartitionedRegion prQ : this.userRegionNameToshadowPRMap.values()) {
+// DiskRegionStats diskStats = prQ.getDiskRegionStats();
+// if (diskStats == null) {
+// if (logger.isDebugEnabled()) {
+// logger.debug(
+// "{}: DiskRegionStats for shadow PR is null. Returning the numEntriesInVM as 0", this);
+// }
+// return 0;
+// }
+// if (logger.isDebugEnabled()) {
+// logger.debug(
+// "{}: DiskRegionStats for shadow PR is NOT null. Returning the numEntriesInVM obtained from DiskRegionStats",
+// this);
+// }
+// numEntriesInVM += diskStats.getNumEntriesInVM();
+// }
+// return numEntriesInVM;
+// }
/**
* This method does the cleanup of any threads, sockets, connection that are held up by the queue.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderEventProcessor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderEventProcessor.java
index 4d371ea..2f0a091 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderEventProcessor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderEventProcessor.java
@@ -54,13 +54,13 @@ import org.apache.geode.internal.cache.wan.AbstractGatewaySenderEventProcessor;
import org.apache.geode.internal.cache.wan.GatewaySenderEventCallbackArgument;
import org.apache.geode.internal.cache.wan.GatewaySenderEventCallbackDispatcher;
import org.apache.geode.internal.cache.wan.GatewaySenderEventImpl;
-import org.apache.geode.internal.cache.wan.GatewaySenderStats;
import org.apache.geode.internal.i18n.LocalizedStrings;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.LoggingThreadGroup;
import org.apache.geode.internal.logging.log4j.LocalizedMessage;
import org.apache.geode.internal.monitoring.ThreadsMonitoring;
import org.apache.geode.pdx.internal.PeerTypeRegistration;
+import org.apache.geode.statistics.wan.GatewaySenderStats;
/**
* @since GemFire 7.0
diff --git a/geode-stats/src/main/java/org/apache/geode/internal/statistics/LocalStatListener.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/LocalStatListener.java
similarity index 100%
rename from geode-stats/src/main/java/org/apache/geode/internal/statistics/LocalStatListener.java
rename to geode-core/src/main/java/org/apache/geode/internal/statistics/LocalStatListener.java
diff --git a/geode-stats/src/main/java/org/apache/geode/internal/statistics/StatArchiveDescriptor.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveDescriptor.java
similarity index 100%
rename from geode-stats/src/main/java/org/apache/geode/internal/statistics/StatArchiveDescriptor.java
rename to geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveDescriptor.java
diff --git a/geode-stats/src/main/java/org/apache/geode/internal/statistics/StatArchiveFormat.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveFormat.java
similarity index 100%
rename from geode-stats/src/main/java/org/apache/geode/internal/statistics/StatArchiveFormat.java
rename to geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveFormat.java
diff --git a/geode-stats/src/main/java/org/apache/geode/internal/statistics/StatArchiveHandler.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveHandler.java
similarity index 100%
rename from geode-stats/src/main/java/org/apache/geode/internal/statistics/StatArchiveHandler.java
rename to geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveHandler.java
diff --git a/geode-stats/src/main/java/org/apache/geode/internal/statistics/StatArchiveHandlerConfig.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveHandlerConfig.java
similarity index 100%
rename from geode-stats/src/main/java/org/apache/geode/internal/statistics/StatArchiveHandlerConfig.java
rename to geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveHandlerConfig.java
diff --git a/geode-stats/src/main/java/org/apache/geode/internal/statistics/StatArchiveReader.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveReader.java
similarity index 100%
rename from geode-stats/src/main/java/org/apache/geode/internal/statistics/StatArchiveReader.java
rename to geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveReader.java
diff --git a/geode-stats/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java
similarity index 100%
rename from geode-stats/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java
rename to geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/FederatingManager.java b/geode-core/src/main/java/org/apache/geode/management/internal/FederatingManager.java
index ff97c79..f0357e5 100755
--- a/geode-core/src/main/java/org/apache/geode/management/internal/FederatingManager.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/FederatingManager.java
@@ -46,12 +46,12 @@ import org.apache.geode.cache.TimeoutException;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.cache.CachePerfStats;
import org.apache.geode.internal.cache.HasCachePerfStats;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.InternalRegionArguments;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.ManagementException;
+import org.apache.geode.statistics.cache.CachePerfStats;
/**
* Manager implementation which manages federated MBeans for the entire DistributedSystem and
@@ -381,9 +381,7 @@ public class FederatingManager extends Manager {
internalArgs.setIsUsedForMetaRegion(true);
// Create anonymous stats holder for Management Regions
- final HasCachePerfStats monitoringRegionStats =
- () -> new CachePerfStats(cache.getDistributedSystem().getStatisticsFactory(),
- "managementRegionStats");
+ final HasCachePerfStats monitoringRegionStats = () -> new CachePerfStats("managementRegionStats");
internalArgs.setCachePerfStatsHolder(monitoringRegionStats);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/LocalManager.java b/geode-core/src/main/java/org/apache/geode/management/internal/LocalManager.java
index e0f6088..54d8534 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/LocalManager.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/LocalManager.java
@@ -41,13 +41,13 @@ import org.apache.geode.cache.RegionExistsException;
import org.apache.geode.cache.Scope;
import org.apache.geode.cache.TimeoutException;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.internal.cache.CachePerfStats;
import org.apache.geode.internal.cache.HasCachePerfStats;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.InternalRegionArguments;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.LoggingThreadGroup;
import org.apache.geode.management.ManagementException;
+import org.apache.geode.statistics.cache.CachePerfStats;
/**
* DistributionHelper solves the following problems
@@ -134,11 +134,8 @@ public class LocalManager extends Manager {
internalArgs.setIsUsedForMetaRegion(true);
// Create anonymous stats holder for Management Regions
- final HasCachePerfStats monitoringRegionStats = new HasCachePerfStats() {
- public CachePerfStats getCachePerfStats() {
- return new CachePerfStats(cache.getDistributedSystem().getStatisticsFactory(), "managementRegionStats");
- }
- };
+ final HasCachePerfStats monitoringRegionStats =
+ () -> new CachePerfStats("managementRegionStats");
internalArgs.setCachePerfStatsHolder(monitoringRegionStats);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/beans/DiskRegionBridge.java b/geode-core/src/main/java/org/apache/geode/management/internal/beans/DiskRegionBridge.java
index 84218ef..d8a0f2f 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/beans/DiskRegionBridge.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/beans/DiskRegionBridge.java
@@ -14,31 +14,24 @@
*/
package org.apache.geode.management.internal.beans;
-import org.apache.geode.internal.cache.DiskDirectoryStats;
-import org.apache.geode.internal.cache.DiskRegionStats;
import org.apache.geode.management.internal.ManagementConstants;
-import org.apache.geode.management.internal.beans.stats.AggregateRegionStatsMonitor;
-import org.apache.geode.management.internal.beans.stats.MBeanStatsMonitor;
-import org.apache.geode.management.internal.beans.stats.StatType;
-import org.apache.geode.management.internal.beans.stats.StatsAverageLatency;
-import org.apache.geode.management.internal.beans.stats.StatsKey;
-import org.apache.geode.management.internal.beans.stats.StatsRate;
+import org.apache.geode.statistics.disk.DiskRegionStats;
public class DiskRegionBridge {
- private DiskRegionStats diskRegionStats;
-
- private AggregateRegionStatsMonitor aggregateRegionMonitor;
-
- private MBeanStatsMonitor diskRegionMonitor;
-
- private StatsAverageLatency diskRegionReadsAverageLatency;
-
- private StatsAverageLatency diskRegionWritesAverageLatency;
-
- private StatsRate diskRegionReadsRate;
-
- private StatsRate diskRegionWritesRate;
+// private DiskRegionStats diskRegionStats;
+//
+// private AggregateRegionStatsMonitor aggregateRegionMonitor;
+//
+// private MBeanStatsMonitor diskRegionMonitor;
+//
+// private StatsAverageLatency diskRegionReadsAverageLatency;
+//
+// private StatsAverageLatency diskRegionWritesAverageLatency;
+//
+// private StatsRate diskRegionReadsRate;
+//
+// private StatsRate diskRegionWritesRate;
public static final String DISK_REGION_MONITOR = "DiskRegionMonitor";
@@ -47,83 +40,83 @@ public class DiskRegionBridge {
private static final String REGION_MONITOR = "MemberLevelRegionMonitor";
public DiskRegionBridge(DiskRegionStats stats) {
- this.diskRegionStats = stats;
- this.aggregateRegionMonitor = new AggregateRegionStatsMonitor(REGION_MONITOR);
-
- this.diskRegionMonitor = new MBeanStatsMonitor(DISK_REGION_MONITOR);
-
- addDiskRegionStats(diskRegionStats);
+// this.diskRegionStats = stats;
+// this.aggregateRegionMonitor = new AggregateRegionStatsMonitor(REGION_MONITOR);
+//
+// this.diskRegionMonitor = new MBeanStatsMonitor(DISK_REGION_MONITOR);
+//
+// addDiskRegionStats(diskRegionStats);
this.configureDiskRegionMetrics();
}
private Number getDiskRegionStatistic(String statName) {
- if (diskRegionStats != null) {
- return diskRegionStats.getStats().get(statName);
- } else {
+// if (diskRegionStats != null) {
+// return diskRegionStats.getStats().get(statName);
+// } else {
return ManagementConstants.ZERO;
- }
+// }
}
public void stopMonitor() {
- diskRegionMonitor.stopListener();
- aggregateRegionMonitor.stopListener();
+// diskRegionMonitor.stopListener();
+// aggregateRegionMonitor.stopListener();
}
- public void addDirectoryStats(DiskDirectoryStats diskDirStats) {
- aggregateRegionMonitor.addStatisticsToMonitor(diskDirStats.getStats());
- }
+// public void addDirectoryStats(DiskDirectoryStats diskDirStats) {
+// aggregateRegionMonitor.addStatisticsToMonitor(diskDirStats.getStats());
+// }
public void addDiskRegionStats(DiskRegionStats diskRegionStats) {
- diskRegionMonitor.addStatisticsToMonitor(diskRegionStats.getStats());
+// diskRegionMonitor.addStatisticsToMonitor(diskRegionStats.getStats());
}
private void configureDiskRegionMetrics() {
-
- diskRegionReadsRate = new StatsRate(StatsKey.DISK_READS, StatType.LONG_TYPE, diskRegionMonitor);
-
- diskRegionWritesRate =
- new StatsRate(StatsKey.DISK_WRITES, StatType.LONG_TYPE, diskRegionMonitor);
-
- diskRegionReadsAverageLatency = new StatsAverageLatency(StatsKey.DISK_READS, StatType.LONG_TYPE,
- StatsKey.DISK_REGION_READ_TIME, diskRegionMonitor);
-
- diskRegionWritesAverageLatency = new StatsAverageLatency(StatsKey.DISK_WRITES,
- StatType.LONG_TYPE, StatsKey.DISK_REGION_WRITE_TIMES, diskRegionMonitor);
- }
-
- public float getDiskReadsRate() {
- return diskRegionReadsRate.getRate();
- }
-
- public float getDiskWritesRate() {
- return diskRegionWritesRate.getRate();
- }
-
- public long getDiskReadsAverageLatency() {
- return diskRegionReadsAverageLatency.getAverageLatency();
- }
-
- public long getDiskWritesAverageLatency() {
- return diskRegionWritesAverageLatency.getAverageLatency();
+//
+// diskRegionReadsRate = new StatsRate(StatsKey.DISK_READS, StatType.LONG_TYPE, diskRegionMonitor);
+//
+// diskRegionWritesRate =
+// new StatsRate(StatsKey.DISK_WRITES, StatType.LONG_TYPE, diskRegionMonitor);
+//
+// diskRegionReadsAverageLatency = new StatsAverageLatency(StatsKey.DISK_READS, StatType.LONG_TYPE,
+// StatsKey.DISK_REGION_READ_TIME, diskRegionMonitor);
+//
+// diskRegionWritesAverageLatency = new StatsAverageLatency(StatsKey.DISK_WRITES,
+// StatType.LONG_TYPE, StatsKey.DISK_REGION_WRITE_TIMES, diskRegionMonitor);
}
- public long getTotalDiskWritesProgress() {
- return getDiskRegionStatistic(StatsKey.DISK_REGION_WRITE_IN_PROGRESS).longValue();
- }
-
- public long getTotalDiskEntriesInVM() {
- return getDiskRegionStatistic(StatsKey.DISK_REGION_ENTRIES_IN_VM).longValue();
- }
-
- public long getTotalEntriesOnlyOnDisk() {
- return getDiskRegionStatistic(StatsKey.DISK_REGION_ENTRIES_IN_DISK).longValue();
- }
-
- public long getDiskUsage() {
- long diskSpaceUsage = aggregateRegionMonitor.getDiskSpace();
- return diskSpaceUsage;
- }
+// public float getDiskReadsRate() {
+// return diskRegionReadsRate.getRate();
+// }
+//
+// public float getDiskWritesRate() {
+// return diskRegionWritesRate.getRate();
+// }
+//
+// public long getDiskReadsAverageLatency() {
+// return diskRegionReadsAverageLatency.getAverageLatency();
+// }
+
+// public long getDiskWritesAverageLatency() {
+// return diskRegionWritesAverageLatency.getAverageLatency();
+// }
+
+// public long getTotalDiskWritesProgress() {
+// return getDiskRegionStatistic(StatsKey.DISK_REGION_WRITE_IN_PROGRESS).longValue();
+// }
+
+// public long getTotalDiskEntriesInVM() {
+// return getDiskRegionStatistic(StatsKey.DISK_REGION_ENTRIES_IN_VM).longValue();
+// }
+
+// public long getTotalEntriesOnlyOnDisk() {
+// return getDiskRegionStatistic(StatsKey.DISK_REGION_ENTRIES_IN_DISK).longValue();
+// }
+//
+// public long getDiskUsage() {
+// long diskSpaceUsage = aggregateRegionMonitor.getDiskSpace();
+// return diskSpaceUsage;
+// }
public long getDiskTaskWaiting() {
return ManagementConstants.NOT_AVAILABLE_LONG;
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java b/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java
index d5aef60..14e25cb 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java
@@ -41,8 +41,7 @@ import javax.management.ObjectName;
import org.apache.logging.log4j.Logger;
-import org.apache.geode.internal.statistics.InternalDistributedSystemStats;
-import org.apache.geode.statistics.StatisticsType;
+import org.apache.geode.statistics.InternalDistributedSystemStats;
import org.apache.geode.cache.DiskStore;
import org.apache.geode.cache.Region;
import org.apache.geode.cache.execute.FunctionService;
@@ -54,25 +53,17 @@ import org.apache.geode.distributed.ServerLauncher;
import org.apache.geode.distributed.internal.ClusterDistributionManager;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.DistributionManager;
-import org.apache.geode.distributed.internal.DistributionStats;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.locks.DLockService;
-import org.apache.geode.distributed.internal.locks.DLockStats;
import org.apache.geode.internal.GemFireVersion;
import org.apache.geode.internal.PureJavaMode;
-import org.apache.geode.internal.cache.CachePerfStats;
import org.apache.geode.internal.cache.DirectoryHolder;
-import org.apache.geode.internal.cache.DiskDirectoryStats;
import org.apache.geode.internal.cache.DiskRegion;
import org.apache.geode.internal.cache.DiskStoreImpl;
-import org.apache.geode.internal.cache.DiskStoreStats;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.InternalRegion;
import org.apache.geode.internal.cache.LocalRegion;
import org.apache.geode.internal.cache.PartitionedRegion;
-import org.apache.geode.internal.cache.PartitionedRegionStats;
-import org.apache.geode.internal.cache.control.ResourceManagerStats;
-import org.apache.geode.internal.cache.execute.FunctionServiceStats;
import org.apache.geode.internal.i18n.LocalizedStrings;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LocalizedMessage;
@@ -81,18 +72,15 @@ import org.apache.geode.internal.logging.log4j.LogWriterAppender;
import org.apache.geode.internal.logging.log4j.LogWriterAppenders;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.offheap.MemoryAllocator;
-import org.apache.geode.internal.offheap.OffHeapMemoryStats;
import org.apache.geode.internal.process.PidUnavailableException;
import org.apache.geode.internal.process.ProcessUtils;
import org.apache.geode.internal.statistics.GemFireStatSampler;
import org.apache.geode.internal.statistics.HostStatHelper;
-import org.apache.geode.internal.statistics.StatSamplerStats;
import org.apache.geode.internal.statistics.VMStatsContract;
import org.apache.geode.internal.statistics.platform.LinuxSystemStats;
import org.apache.geode.internal.statistics.platform.ProcessStats;
import org.apache.geode.internal.statistics.platform.SolarisSystemStats;
import org.apache.geode.internal.statistics.platform.WindowsSystemStats;
-import org.apache.geode.internal.stats50.VMStats50;
import org.apache.geode.internal.tcp.ConnectionTable;
import org.apache.geode.management.GemFireProperties;
import org.apache.geode.management.JVMMetrics;
@@ -114,6 +102,10 @@ import org.apache.geode.management.internal.cli.CommandResponseBuilder;
import org.apache.geode.management.internal.cli.remote.OnlineCommandProcessor;
import org.apache.geode.management.internal.cli.result.CommandResult;
import org.apache.geode.management.internal.cli.result.model.ResultModel;
+import org.apache.geode.statistics.disk.DiskDirectoryStats;
+import org.apache.geode.statistics.dlock.DLockStats;
+import org.apache.geode.statistics.region.PartitionedRegionStats;
+import org.apache.geode.statistics.resourcemanger.ResourceManagerStats;
/**
* This class acts as an Bridge between MemberMBean and GemFire Cache and Distributed System
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/beans/PartitionedRegionBridge.java b/geode-core/src/main/java/org/apache/geode/management/internal/beans/PartitionedRegionBridge.java
index dcd4b76..8289547 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/beans/PartitionedRegionBridge.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/beans/PartitionedRegionBridge.java
@@ -20,16 +20,11 @@ import org.apache.geode.cache.PartitionAttributes;
import org.apache.geode.cache.Region;
import org.apache.geode.internal.cache.BucketRegion;
import org.apache.geode.internal.cache.PartitionedRegion;
-import org.apache.geode.internal.cache.PartitionedRegionStats;
import org.apache.geode.management.FixedPartitionAttributesData;
import org.apache.geode.management.PartitionAttributesData;
import org.apache.geode.management.internal.ManagementConstants;
-import org.apache.geode.management.internal.beans.stats.MBeanStatsMonitor;
import org.apache.geode.management.internal.beans.stats.StatType;
-import org.apache.geode.management.internal.beans.stats.StatsAverageLatency;
-import org.apache.geode.management.internal.beans.stats.StatsKey;
-import org.apache.geode.management.internal.beans.stats.StatsLatency;
-import org.apache.geode.management.internal.beans.stats.StatsRate;
+import org.apache.geode.statistics.region.PartitionedRegionStats;
public class PartitionedRegionBridge<K, V> extends RegionMBeanBridge<K, V> {
@@ -43,29 +38,29 @@ public class PartitionedRegionBridge<K, V> extends RegionMBeanBridge<K, V> {
private int configuredRedundancy = -1;
- private MBeanStatsMonitor parRegionMonitor;
-
- private StatsRate putAllRate;
-
- private StatsRate putRequestRate;
-
- private StatsRate getRequestRate;
-
- private StatsRate createsRate;
-
- private StatsRate destroysRate;
-
- private StatsRate putLocalRate;
-
- private StatsRate putRemoteRate;
-
- private StatsLatency putRemoteLatency;
-
- private StatsRate averageWritesRate;
-
- private StatsRate averageReadsRate;
-
- private StatsAverageLatency remotePutAvgLatency;
+// private MBeanStatsMonitor parRegionMonitor;
+//
+// private StatsRate putAllRate;
+//
+// private StatsRate putRequestRate;
+//
+// private StatsRate getRequestRate;
+//
+// private StatsRate createsRate;
+//
+// private StatsRate destroysRate;
+//
+// private StatsRate putLocalRate;
+//
+// private StatsRate putRemoteRate;
+//
+// private StatsLatency putRemoteLatency;
+//
+// private StatsRate averageWritesRate;
+//
+// private StatsRate averageReadsRate;
+//
+// private StatsAverageLatency remotePutAvgLatency;
public static final String PAR_REGION_MONITOR = "PartitionedRegionMonitor";
@@ -83,7 +78,7 @@ public class PartitionedRegionBridge<K, V> extends RegionMBeanBridge<K, V> {
PartitionAttributes<K, V> partAttrs = parRegion.getPartitionAttributes();
- this.parRegionMonitor = new MBeanStatsMonitor(PAR_REGION_MONITOR);
+// this.parRegionMonitor = new MBeanStatsMonitor(PAR_REGION_MONITOR);
this.configurePartitionRegionMetrics();
@@ -94,125 +89,125 @@ public class PartitionedRegionBridge<K, V> extends RegionMBeanBridge<K, V> {
this.fixedPartitionAttributesTable =
RegionMBeanCompositeDataFactory.getFixedPartitionAttributesData(partAttrs);
}
- parRegionMonitor.addStatisticsToMonitor(prStats.getStats());
+// parRegionMonitor.addStatisticsToMonitor(prStats.getStats());
}
// Dummy constructor for testing purpose only
public PartitionedRegionBridge(PartitionedRegionStats prStats) {
this.prStats = prStats;
- this.parRegionMonitor = new MBeanStatsMonitor(PAR_REGION_MONITOR);
- parRegionMonitor.addStatisticsToMonitor(prStats.getStats());
+// this.parRegionMonitor = new MBeanStatsMonitor(PAR_REGION_MONITOR);
+// parRegionMonitor.addStatisticsToMonitor(prStats.getStats());
configurePartitionRegionMetrics();
}
private Number getPrStatistic(String statName) {
- if (prStats != null) {
- return prStats.getStats().get(statName);
- } else {
+// if (prStats != null) {
+// return prStats.getStats().get(statName);
+// } else {
return ManagementConstants.ZERO;
- }
+// }
}
public void stopMonitor() {
super.stopMonitor();
- parRegionMonitor.stopListener();
+// parRegionMonitor.stopListener();
}
private void configurePartitionRegionMetrics() {
- putAllRate = new StatsRate(StatsKey.PUTALL_COMPLETED, StatType.INT_TYPE, parRegionMonitor);
- putRequestRate = new StatsRate(StatsKey.PUTS_COMPLETED, StatType.INT_TYPE, parRegionMonitor);
- getRequestRate = new StatsRate(StatsKey.GETS_COMPLETED, StatType.INT_TYPE, parRegionMonitor);
- destroysRate = new StatsRate(StatsKey.DESTROYS_COMPLETED, StatType.INT_TYPE, parRegionMonitor);
- createsRate = new StatsRate(StatsKey.CREATES_COMPLETED, StatType.INT_TYPE, parRegionMonitor);
-
- // Remote Reads Only in case of partitioned Region
- putRemoteRate = new StatsRate(StatsKey.REMOTE_PUTS, StatType.INT_TYPE, parRegionMonitor);
-
- putLocalRate = new StatsRate(StatsKey.PUT_LOCAL, StatType.INT_TYPE, parRegionMonitor);
-
- remotePutAvgLatency = new StatsAverageLatency(StatsKey.REMOTE_PUTS, StatType.INT_TYPE,
- StatsKey.REMOTE_PUT_TIME, parRegionMonitor);
-
- putRemoteLatency = new StatsLatency(StatsKey.REMOTE_PUTS, StatType.INT_TYPE,
- StatsKey.REMOTE_PUT_TIME, parRegionMonitor);
-
- String[] writesRates = new String[] {StatsKey.PUTALL_COMPLETED, StatsKey.PUTS_COMPLETED,
- StatsKey.CREATES_COMPLETED};
- averageWritesRate = new StatsRate(writesRates, StatType.INT_TYPE, parRegionMonitor);
- averageReadsRate = new StatsRate(StatsKey.GETS_COMPLETED, StatType.INT_TYPE, parRegionMonitor);
- }
-
- @Override
- public float getAverageReads() {
- return averageReadsRate.getRate();
- }
-
- @Override
- public float getAverageWrites() {
- return averageWritesRate.getRate();
- }
-
- @Override
- public float getCreatesRate() {
- return createsRate.getRate();
- }
-
- @Override
- public float getPutAllRate() {
- return putAllRate.getRate();
- }
-
- @Override
- public float getPutsRate() {
- return putRequestRate.getRate();
- }
-
- @Override
- public float getDestroyRate() {
- return destroysRate.getRate();
- }
-
- @Override
- public float getGetsRate() {
- return getRequestRate.getRate();
- }
-
-
- @Override
- public int getActualRedundancy() {
- return getPrStatistic(StatsKey.ACTUAL_REDUNDANT_COPIES).intValue();
- }
-
- @Override
- public int getAvgBucketSize() {
- return ManagementConstants.NOT_AVAILABLE_INT;
- }
-
- @Override
- public int getBucketCount() {
- return getPrStatistic(StatsKey.BUCKET_COUNT).intValue();
- }
-
- @Override
- public int getConfiguredRedundancy() {
- return configuredRedundancy;
- }
-
- @Override
- public int getNumBucketsWithoutRedundancy() {
- return getPrStatistic(StatsKey.LOW_REDUNDANCYBUCKET_COUNT).intValue();
- }
-
- @Override
- public int getPrimaryBucketCount() {
- return getPrStatistic(StatsKey.PRIMARY_BUCKET_COUNT).intValue();
- }
-
- @Override
- public int getTotalBucketSize() {
- return getPrStatistic(StatsKey.TOTAL_BUCKET_SIZE).intValue();
- }
+// putAllRate = new StatsRate(StatsKey.PUTALL_COMPLETED, StatType.INT_TYPE, parRegionMonitor);
+// putRequestRate = new StatsRate(StatsKey.PUTS_COMPLETED, StatType.INT_TYPE, parRegionMonitor);
+// getRequestRate = new StatsRate(StatsKey.GETS_COMPLETED, StatType.INT_TYPE, parRegionMonitor);
+// destroysRate = new StatsRate(StatsKey.DESTROYS_COMPLETED, StatType.INT_TYPE, parRegionMonitor);
+// createsRate = new StatsRate(StatsKey.CREATES_COMPLETED, StatType.INT_TYPE, parRegionMonitor);
+//
+// Remote Reads Only in case of partitioned Region
+// putRemoteRate = new StatsRate(StatsKey.REMOTE_PUTS, StatType.INT_TYPE, parRegionMonitor);
+//
+// putLocalRate = new StatsRate(StatsKey.PUT_LOCAL, StatType.INT_TYPE, parRegionMonitor);
+//
+// remotePutAvgLatency = new StatsAverageLatency(StatsKey.REMOTE_PUTS, StatType.INT_TYPE,
+// StatsKey.REMOTE_PUT_TIME, parRegionMonitor);
+//
+// putRemoteLatency = new StatsLatency(StatsKey.REMOTE_PUTS, StatType.INT_TYPE,
+// StatsKey.REMOTE_PUT_TIME, parRegionMonitor);
+//
+// String[] writesRates = new String[] {StatsKey.PUTALL_COMPLETED, StatsKey.PUTS_COMPLETED,
+// StatsKey.CREATES_COMPLETED};
+// averageWritesRate = new StatsRate(writesRates, StatType.INT_TYPE, parRegionMonitor);
+// averageReadsRate = new StatsRate(StatsKey.GETS_COMPLETED, StatType.INT_TYPE, parRegionMonitor);
+ }
+
+// @Override
+// public float getAverageReads() {
+// return averageReadsRate.getRate();
+// }
+//
+// @Override
+// public float getAverageWrites() {
+// return averageWritesRate.getRate();
+// }
+//
+// @Override
+// public float getCreatesRate() {
+// return createsRate.getRate();
+// }
+//
+// @Override
+// public float getPutAllRate() {
+// return putAllRate.getRate();
+// }
+//
+// @Override
+// public float getPutsRate() {
+// return putRequestRate.getRate();
+// }
+//
+// @Override
+// public float getDestroyRate() {
+// return destroysRate.getRate();
+// }
+//
+// @Override
+// public float getGetsRate() {
+// return getRequestRate.getRate();
+// }
+//
+//
+// @Override
+// public int getActualRedundancy() {
+// return getPrStatistic(StatsKey.ACTUAL_REDUNDANT_COPIES).intValue();
+// }
+
+// @Override
+// public int getAvgBucketSize() {
+// return ManagementConstants.NOT_AVAILABLE_INT;
+// }
+//
+// @Override
+// public int getBucketCount() {
+// return getPrStatistic(StatsKey.BUCKET_COUNT).intValue();
+// }
+//
+// @Override
+// public int getConfiguredRedundancy() {
+// return configuredRedundancy;
+// }
+//
+// @Override
+// public int getNumBucketsWithoutRedundancy() {
+// return getPrStatistic(StatsKey.LOW_REDUNDANCYBUCKET_COUNT).intValue();
+// }
+//
+// @Override
+// public int getPrimaryBucketCount() {
+// return getPrStatistic(StatsKey.PRIMARY_BUCKET_COUNT).intValue();
+// }
+
+// @Override
+// public int getTotalBucketSize() {
+// return getPrStatistic(StatsKey.TOTAL_BUCKET_SIZE).intValue();
+// }
@Override
public PartitionAttributesData listPartitionAttributes() {
@@ -224,14 +219,14 @@ public class PartitionedRegionBridge<K, V> extends RegionMBeanBridge<K, V> {
return fixedPartitionAttributesTable;
}
- @Override
- public long getEntrySize() {
- if (parRegion.isDataStore()) {
- return getPrStatistic(StatsKey.DATA_STORE_BYTES_IN_USE).longValue();
- } else {
- return ManagementConstants.ZERO;
- }
- }
+// @Override
+// public long getEntrySize() {
+// if (parRegion.isDataStore()) {
+// return getPrStatistic(StatsKey.DATA_STORE_BYTES_IN_USE).longValue();
+// } else {
+// return ManagementConstants.ZERO;
+// }
+// }
@Override
public long getHitCount() {
@@ -254,25 +249,25 @@ public class PartitionedRegionBridge<K, V> extends RegionMBeanBridge<K, V> {
}
- @Override
- public long getPutRemoteAvgLatency() {
- return remotePutAvgLatency.getAverageLatency();
- }
-
- @Override
- public long getPutRemoteLatency() {
- return putRemoteLatency.getLatency();
- }
-
- @Override
- public float getPutLocalRate() {
- return putLocalRate.getRate();
- }
-
- @Override
- public float getPutRemoteRate() {
- return putRemoteRate.getRate();
- }
+// @Override
+// public long getPutRemoteAvgLatency() {
+// return remotePutAvgLatency.getAverageLatency();
+// }
+//
+// @Override
+// public long getPutRemoteLatency() {
+// return putRemoteLatency.getLatency();
+// }
+//
+// @Override
+// public float getPutLocalRate() {
+// return putLocalRate.getRate();
+// }
+//
+// @Override
+// public float getPutRemoteRate() {
+// return putRemoteRate.getRate();
+// }
/**
* partition region entry count is taken from all primary bucket entry count. Ideally it should
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/beans/RegionMBeanBridge.java b/geode-core/src/main/java/org/apache/geode/management/internal/beans/RegionMBeanBridge.java
index fc33df3..a4db686 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/beans/RegionMBeanBridge.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/beans/RegionMBeanBridge.java
@@ -18,13 +18,9 @@ import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
-import org.apache.geode.statistics.Statistics;
import org.apache.geode.cache.EvictionAttributes;
import org.apache.geode.cache.Region;
import org.apache.geode.cache.RegionAttributes;
-import org.apache.geode.internal.cache.CachePerfStats;
-import org.apache.geode.internal.cache.DirectoryHolder;
-import org.apache.geode.internal.cache.DiskRegionStats;
import org.apache.geode.internal.cache.DiskStoreImpl;
import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.cache.InternalRegion;
@@ -36,12 +32,8 @@ import org.apache.geode.management.MembershipAttributesData;
import org.apache.geode.management.PartitionAttributesData;
import org.apache.geode.management.RegionAttributesData;
import org.apache.geode.management.internal.ManagementConstants;
-import org.apache.geode.management.internal.ManagementStrings;
-import org.apache.geode.management.internal.beans.stats.MBeanStatsMonitor;
-import org.apache.geode.management.internal.beans.stats.StatType;
-import org.apache.geode.management.internal.beans.stats.StatsAverageLatency;
-import org.apache.geode.management.internal.beans.stats.StatsKey;
-import org.apache.geode.management.internal.beans.stats.StatsRate;
+import org.apache.geode.statistics.cache.CachePerfStats;
+import org.apache.geode.statistics.disk.DiskRegionStats;
/**
* This class acts as a bridge between a Region and RegionMBean This also listens for statistics
@@ -64,25 +56,25 @@ public class RegionMBeanBridge<K, V> {
private boolean isStatisticsEnabled = false;
- private MBeanStatsMonitor regionMonitor;
-
- private StatsRate getRequestRate;
-
- private StatsRate putRequestRate;
-
- private StatsRate putAllRate;
-
- private StatsRate createsRate;
-
- private StatsAverageLatency listenerCallsAvgLatency;
-
- private StatsAverageLatency writerCallsAvgLatency;
-
- private StatsRate destroysRate;
-
- private StatsRate lruDestroyRate;
-
- private StatsRate lruEvictionRate;
+// private MBeanStatsMonitor regionMonitor;
+//
+// private StatsRate getRequestRate;
+//
+// private StatsRate putRequestRate;
+//
+// private StatsRate putAllRate;
+//
+// private StatsRate createsRate;
+//
+// private StatsAverageLatency listenerCallsAvgLatency;
+//
+// private StatsAverageLatency writerCallsAvgLatency;
+//
+// private StatsRate destroysRate;
+//
+// private StatsRate lruDestroyRate;
+//
+// private StatsRate lruEvictionRate;
private boolean isGatewayEnabled = false;
@@ -94,9 +86,9 @@ public class RegionMBeanBridge<K, V> {
private DiskRegionBridge diskRegionBridge;
- private StatsRate averageWritesRate;
-
- private StatsRate averageReadsRate;
+// private StatsRate averageWritesRate;
+//
+// private StatsRate averageReadsRate;
public static <K, V> RegionMBeanBridge<K, V> getInstance(Region<K, V> region) {
if (region.getAttributes().getPartitionAttributes() != null) {
@@ -109,9 +101,9 @@ public class RegionMBeanBridge<K, V> {
DiskRegionBridge diskRegionBridge = new DiskRegionBridge(stats);
bridge.addDiskRegionBridge(diskRegionBridge);
- for (DirectoryHolder dh : dsi.getDirectoryHolders()) {
- diskRegionBridge.addDirectoryStats(dh.getDiskDirectoryStats());
- }
+// for (DirectoryHolder dh : dsi.getDirectoryHolders()) {
+// diskRegionBridge.addDirectoryStats(dh.getDiskDirectoryStats());
+// }
bridge.addDiskRegionBridge(diskRegionBridge);
}
@@ -127,9 +119,9 @@ public class RegionMBeanBridge<K, V> {
new DiskRegionBridge(localRegion.getDiskRegion().getStats());
bridge.addDiskRegionBridge(diskRegionBridge);
- for (DirectoryHolder dh : dsi.getDirectoryHolders()) {
- diskRegionBridge.addDirectoryStats(dh.getDiskDirectoryStats());
- }
+// for (DirectoryHolder dh : dsi.getDirectoryHolders()) {
+// diskRegionBridge.addDirectoryStats(dh.getDiskDirectoryStats());
+// }
}
return bridge;
}
@@ -158,17 +150,17 @@ public class RegionMBeanBridge<K, V> {
this.evictionAttributesData =
RegionMBeanCompositeDataFactory.getEvictionAttributesData(regAttrs);
- this.regionMonitor =
- new MBeanStatsMonitor(ManagementStrings.REGION_MONITOR.toLocalizedString());
+// this.regionMonitor =
+// new MBeanStatsMonitor(ManagementStrings.REGION_MONITOR.toLocalizedString());
configureRegionMetrics();
this.persistentEnabled = region.getAttributes().getDataPolicy().withPersistence();
this.regionStats = ((LocalRegion) region).getRegionPerfStats();
- if (regionStats != null) {
- regionMonitor.addStatisticsToMonitor(regionStats.getStats()); // fixes 46692
- }
+// if (regionStats != null) {
+// regionMonitor.addStatisticsToMonitor(regionStats.getStats()); // fixes 46692
+// }
monitorLRUStatistics();
@@ -190,10 +182,10 @@ public class RegionMBeanBridge<K, V> {
private void monitorLRUStatistics() {
InternalRegion internalRegion = (InternalRegion) region;
- Statistics lruStats = internalRegion.getEvictionStatistics();
- if (lruStats != null) {
- regionMonitor.addStatisticsToMonitor(lruStats);
- }
+// Statistics lruStats = internalRegion.getEvictionStatistics();
+// if (lruStats != null) {
+// regionMonitor.addStatisticsToMonitor(lruStats);
+// }
}
public String getRegionType() {
@@ -240,9 +232,9 @@ public class RegionMBeanBridge<K, V> {
public RegionMBeanBridge(CachePerfStats cachePerfStats) {
this.regionStats = cachePerfStats;
- this.regionMonitor =
- new MBeanStatsMonitor(ManagementStrings.REGION_MONITOR.toLocalizedString());
- regionMonitor.addStatisticsToMonitor(cachePerfStats.getStats());
+// this.regionMonitor =
+// new MBeanStatsMonitor(ManagementStrings.REGION_MONITOR.toLocalizedString());
+// regionMonitor.addStatisticsToMonitor(cachePerfStats.getStats());
configureRegionMetrics();
}
@@ -250,76 +242,76 @@ public class RegionMBeanBridge<K, V> {
public RegionMBeanBridge() {}
public void stopMonitor() {
- regionMonitor.stopListener();
+// regionMonitor.stopListener();
if (diskRegionBridge != null) {
diskRegionBridge.stopMonitor();
}
}
private void configureRegionMetrics() {
- putAllRate = new StatsRate(StatsKey.PUT_ALLS, StatType.INT_TYPE, regionMonitor);
- getRequestRate = new StatsRate(StatsKey.GETS, StatType.INT_TYPE, regionMonitor);
-
- putRequestRate = new StatsRate(StatsKey.PUTS, StatType.INT_TYPE, regionMonitor);
-
- destroysRate = new StatsRate(StatsKey.DESTROYS, StatType.INT_TYPE, regionMonitor);
-
- createsRate = new StatsRate(StatsKey.CREATES, StatType.INT_TYPE, regionMonitor);
-
- listenerCallsAvgLatency = new StatsAverageLatency(StatsKey.CACHE_LISTENER_CALLS_COMPLETED,
- StatType.INT_TYPE, StatsKey.CACHE_LISTENR_CALL_TIME, regionMonitor);
-
- writerCallsAvgLatency = new StatsAverageLatency(StatsKey.CACHE_WRITER_CALLS_COMPLETED,
- StatType.INT_TYPE, StatsKey.CACHE_WRITER_CALL_TIME, regionMonitor);
-
- lruDestroyRate = new StatsRate(StatsKey.LRU_DESTROYS, StatType.LONG_TYPE, regionMonitor);
-
- lruEvictionRate = new StatsRate(StatsKey.LRU_EVICTIONS, StatType.LONG_TYPE, regionMonitor);
-
- String[] writesRates = new String[] {StatsKey.PUT_ALLS, StatsKey.PUTS, StatsKey.CREATES};
- averageWritesRate = new StatsRate(writesRates, StatType.INT_TYPE, regionMonitor);
- averageReadsRate = new StatsRate(StatsKey.GETS, StatType.INT_TYPE, regionMonitor);
+// putAllRate = new StatsRate(StatsKey.PUT_ALLS, StatType.INT_TYPE, regionMonitor);
+// getRequestRate = new StatsRate(StatsKey.GETS, StatType.INT_TYPE, regionMonitor);
+//
+// putRequestRate = new StatsRate(StatsKey.PUTS, StatType.INT_TYPE, regionMonitor);
+//
+// destroysRate = new StatsRate(StatsKey.DESTROYS, StatType.INT_TYPE, regionMonitor);
+//
+// createsRate = new StatsRate(StatsKey.CREATES, StatType.INT_TYPE, regionMonitor);
+//
+// listenerCallsAvgLatency = new StatsAverageLatency(StatsKey.CACHE_LISTENER_CALLS_COMPLETED,
+// StatType.INT_TYPE, StatsKey.CACHE_LISTENR_CALL_TIME, regionMonitor);
+//
+// writerCallsAvgLatency = new StatsAverageLatency(StatsKey.CACHE_WRITER_CALLS_COMPLETED,
+// StatType.INT_TYPE, StatsKey.CACHE_WRITER_CALL_TIME, regionMonitor);
+//
+// lruDestroyRate = new StatsRate(StatsKey.LRU_DESTROYS, StatType.LONG_TYPE, regionMonitor);
+//
+// lruEvictionRate = new StatsRate(StatsKey.LRU_EVICTIONS, StatType.LONG_TYPE, regionMonitor);
+//
+// String[] writesRates = new String[] {StatsKey.PUT_ALLS, StatsKey.PUTS, StatsKey.CREATES};
+// averageWritesRate = new StatsRate(writesRates, StatType.INT_TYPE, regionMonitor);
+// averageReadsRate = new StatsRate(StatsKey.GETS, StatType.INT_TYPE, regionMonitor);
}
private Number getRegionStatistic(String statName) {
- if (regionStats != null) {
- return regionStats.getStats().get(statName);
- } else {
+// if (regionStats != null) {
+// return regionStats.getStats().get(statName);
+// } else {
return 0;
- }
- }
-
- public long getEntryCount() {
- return getRegionStatistic(StatsKey.ENTRIES).longValue();
- }
-
- public long getCacheListenerCallsAvgLatency() {
- return listenerCallsAvgLatency.getAverageLatency();
- }
-
- public long getCacheWriterCallsAvgLatency() {
- return writerCallsAvgLatency.getAverageLatency();
- }
-
- public float getCreatesRate() {
- return createsRate.getRate();
- }
-
- public float getPutAllRate() {
- return putAllRate.getRate();
- }
-
- public float getPutsRate() {
- return putRequestRate.getRate();
- }
-
- public float getDestroyRate() {
- return destroysRate.getRate();
- }
-
- public float getGetsRate() {
- return getRequestRate.getRate();
- }
+// }
+ }
+
+// public long getEntryCount() {
+// return getRegionStatistic(StatsKey.ENTRIES).longValue();
+// }
+
+// public long getCacheListenerCallsAvgLatency() {
+// return listenerCallsAvgLatency.getAverageLatency();
+// }
+
+// public long getCacheWriterCallsAvgLatency() {
+// return writerCallsAvgLatency.getAverageLatency();
+// }
+//
+// public float getCreatesRate() {
+// return createsRate.getRate();
+// }
+//
+// public float getPutAllRate() {
+// return putAllRate.getRate();
+// }
+//
+// public float getPutsRate() {
+// return putRequestRate.getRate();
+// }
+//
+// public float getDestroyRate() {
+// return destroysRate.getRate();
+// }
+//
+// public float getGetsRate() {
+// return getRequestRate.getRate();
+// }
public long getHitCount() {
if (isStatisticsEnabled) {
@@ -356,21 +348,21 @@ public class RegionMBeanBridge<K, V> {
return ManagementConstants.NOT_AVAILABLE_LONG;
}
- public float getLruDestroyRate() {
- return lruDestroyRate.getRate();
- }
-
- public float getLruEvictionRate() {
- return lruEvictionRate.getRate();
- }
-
- public float getAverageReads() {
- return averageReadsRate.getRate();
- }
-
- public float getAverageWrites() {
- return averageWritesRate.getRate();
- }
+// public float getLruDestroyRate() {
+// return lruDestroyRate.getRate();
+// }
+//
+// public float getLruEvictionRate() {
+// return lruEvictionRate.getRate();
+// }
+//
+// public float getAverageReads() {
+// return averageReadsRate.getRate();
+// }
+//
+// public float getAverageWrites() {
+// return averageWritesRate.getRate();
+// }
public long getEntrySize() {
if (isMemoryEvictionConfigured()) {
@@ -494,58 +486,58 @@ public class RegionMBeanBridge<K, V> {
}
public long getDiskReadsAverageLatency() {
- if (this.diskRegionBridge != null) {
- return diskRegionBridge.getDiskReadsAverageLatency();
- }
+// if (this.diskRegionBridge != null) {
+// return diskRegionBridge.getDiskReadsAverageLatency();
+// }
return ManagementConstants.ZERO;
}
public float getDiskReadsRate() {
- if (this.diskRegionBridge != null) {
- return diskRegionBridge.getDiskReadsRate();
- }
+// if (this.diskRegionBridge != null) {
+// return diskRegionBridge.getDiskReadsRate();
+// }
return ManagementConstants.ZERO;
}
public long getDiskUsage() {
- if (this.diskRegionBridge != null) {
- return diskRegionBridge.getDiskUsage();
- }
+// if (this.diskRegionBridge != null) {
+// return diskRegionBridge.getDiskUsage();
+// }
return ManagementConstants.ZERO;
}
public long getDiskWritesAverageLatency() {
- if (this.diskRegionBridge != null) {
- return diskRegionBridge.getDiskWritesAverageLatency();
- }
+// if (this.diskRegionBridge != null) {
+// return diskRegionBridge.getDiskWritesAverageLatency();
+// }
return ManagementConstants.ZERO;
}
public float getDiskWritesRate() {
- if (this.diskRegionBridge != null) {
- return diskRegionBridge.getDiskWritesRate();
- }
+// if (this.diskRegionBridge != null) {
+// return diskRegionBridge.getDiskWritesRate();
+// }
return ManagementConstants.ZERO;
}
public long getTotalDiskEntriesInVM() {
- if (this.diskRegionBridge != null) {
- return diskRegionBridge.getTotalDiskEntriesInVM();
- }
+// if (this.diskRegionBridge != null) {
+// return diskRegionBridge.getTotalDiskEntriesInVM();
+// }
return ManagementConstants.ZERO;
}
public long getTotalDiskWritesProgress() {
- if (this.diskRegionBridge != null) {
- return diskRegionBridge.getTotalDiskWritesProgress();
- }
+// if (this.diskRegionBridge != null) {
+// return diskRegionBridge.getTotalDiskWritesProgress();
+// }
return ManagementConstants.ZERO;
}
public long getTotalEntriesOnlyOnDisk() {
- if (this.diskRegionBridge != null) {
- return diskRegionBridge.getTotalEntriesOnlyOnDisk();
- }
+// if (this.diskRegionBridge != null) {
+// return diskRegionBridge.getTotalEntriesOnlyOnDisk();
+// }
return ManagementConstants.ZERO;
}
diff --git a/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/cache/CachePerfStats.kt b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/cache/CachePerfStats.kt
index 311b663..8dc7821 100644
--- a/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/cache/CachePerfStats.kt
+++ b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/cache/CachePerfStats.kt
@@ -8,12 +8,18 @@ import org.apache.geode.statistics.internal.micrometer.MicrometerMeterGroup
import org.apache.geode.statistics.internal.micrometer.TimerStatisticMeter
import org.apache.geode.statistics.util.NOW_NANOS
-open class CachePerfStats(regionName:String?) : MicrometerMeterGroup("CachePerfStats${regionName?.let{"-$it"}?:""}") {
+open class CachePerfStats(regionName: String?) : MicrometerMeterGroup("CachePerfStats${regionName?.let { "-$it" }
+ ?: ""}") {
- constructor(): this(null)
+ constructor() : this(null)
+
+ private val cachePerfStatsPrefix: String by lazy {
+ regionName?.let { "region." } ?: "cachePerf."
+ }
+ private val meterTagDefaultArray: Array<String> by lazy {
+ regionName?.let { arrayOf("regionName", regionName) } ?: emptyArray()
+ }
- private val cachePerfStatsPrefix :String by lazy { regionName?.let{"region."}?:"cachePerf." }
- private val meterTagDefaultArray: Array<String> by lazy { regionName?.let{ arrayOf("regionName", regionName)}?: emptyArray() }
val regionLoadsInProgressMeter = GaugeStatisticMeter("$cachePerfStatsPrefix.loads.inprogress", "Current number of threads in this cache doing a cache load.", meterTagDefaultArray)
val regionLoadsCompletedMeter = CounterStatisticMeter("$cachePerfStatsPrefix.loads.completed", "Total number of times a load on this cache has completed (as a result of either a local get() or a remote netload).", meterTagDefaultArray)
@@ -666,4 +672,18 @@ open class CachePerfStats(regionName:String?) : MicrometerMeterGroup("CachePerfS
@Deprecated(message = "This was just done as an interim solution until GEODE does not depend on stats for internal state")
fun getReliableRegionsMissing(): Int = regionReliableRegionMissingMeter.getValue().toInt()
+
+ @Deprecated("The method is deprecated to be removed, but here until a better stats mechanism is found")
+ fun getNetsearchesCompleted(): Long = regionNetLoadCompletedMeter.getValue()
+
+ @Deprecated("The method is deprecated to be removed, but here until a better stats mechanism is found")
+ fun getEventQueueSize(): Long = regionEventQueueSizeMeter.getValue()
+
+ @Deprecated("The method is deprecated to be removed, but here until a better stats mechanism is found")
+ fun getLoadsCompleted(): Long = regionLoadsCompletedMeter.getValue()
+
+ @Deprecated("The method is deprecated to be removed, but here until a better stats mechanism is found")
+ fun getGets(): Long = regionGetOperationMeter.getValue()
+
+
}
diff --git a/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/disk/DiskRegionStats.kt b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/disk/DiskRegionStats.kt
index 38f3557..28f31a0 100644
--- a/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/disk/DiskRegionStats.kt
+++ b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/disk/DiskRegionStats.kt
@@ -83,4 +83,8 @@ class DiskRegionStats(diskRegionName: String) : MicrometerMeterGroup("DiskRegion
diskStoreRegionRemoteInitializationMeter.increment()
}
}
+
+ fun getNumOverflowOnDisk(): Long {
+ return diskStoreEntriesOnDiskOnlyMeter.getValue()
+ }
}
\ No newline at end of file
diff --git a/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/CountLRUStatistics.kt b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/CountLRUStatistics.kt
new file mode 100644
index 0000000..df0497a
--- /dev/null
+++ b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/CountLRUStatistics.kt
@@ -0,0 +1,42 @@
+/*
+ * 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.geode.statistics.eviction
+
+import org.apache.geode.statistics.internal.micrometer.GaugeStatisticMeter
+
+class CountLRUStatistics(name: String) : EvictionStatsImpl(name, "CountLRUStats-$name") {
+
+ private val countEvictionEntriesAllowedCount = GaugeStatisticMeter("eviction.count.lru.entries.allowed.count", "Number of entries allowed in this region.")
+ private val countEvictionEntryCount = GaugeStatisticMeter("eviction.count.lru.entries.count", "Number of entries in this region.")
+
+
+ override fun initializeStaticMeters() {
+ super.initializeStaticMeters()
+ registerMeter(countEvictionEntriesAllowedCount)
+ registerMeter(countEvictionEntryCount)
+ }
+
+ override fun updateCounter(delta: Long) {
+ countEvictionEntryCount.increment(delta)
+ }
+
+ override fun setLimit(newValue: Long) {
+ countEvictionEntriesAllowedCount.setValue(newValue)
+ }
+
+ override fun setCounter(newValue: Long) {
+ countEvictionEntryCount.setValue(newValue)
+ }
+}
diff --git a/geode-core/src/main/java/org/apache/geode/admin/AlertListener.java b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/EvictionStats.kt
old mode 100755
new mode 100644
similarity index 63%
rename from geode-core/src/main/java/org/apache/geode/admin/AlertListener.java
rename to geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/EvictionStats.kt
index 708c9cf..3ce3430
--- a/geode-core/src/main/java/org/apache/geode/admin/AlertListener.java
+++ b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/EvictionStats.kt
@@ -12,19 +12,21 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.admin;
+package org.apache.geode.statistics.eviction
-/**
- * A listener whose callback methods are invoked when an {@link Alert} is received.
- *
- * @deprecated as of 7.0 use the <code><a href=
- * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
- * package instead
- */
-public interface AlertListener extends java.util.EventListener {
+interface EvictionStats {
+
+ fun incEvictions()
+
+ fun updateCounter(delta: Long)
+
+ fun incDestroys()
+
+ fun setLimit(newValue: Long)
+
+ fun setCounter(l: Long)
+
+ fun incEvaluations(evaluations: Long)
- /**
- * Invoked when an <code>Alert</code> is received.
- */
- void alert(Alert alert);
+ fun incGreedyReturns(greedyReturns: Long)
}
diff --git a/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/EvictionStatsImpl.kt b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/EvictionStatsImpl.kt
new file mode 100644
index 0000000..ddb7058
--- /dev/null
+++ b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/EvictionStatsImpl.kt
@@ -0,0 +1,36 @@
+package org.apache.geode.statistics.eviction
+
+import org.apache.geode.statistics.internal.micrometer.CounterStatisticMeter
+import org.apache.geode.statistics.internal.micrometer.MicrometerMeterGroup
+
+abstract class EvictionStatsImpl(private val regionName: String, private val groupName: String = "EvictionStats-$regionName") : MicrometerMeterGroup(groupName), EvictionStats {
+ override fun getCommonTags(): Array<String> = arrayOf("regionName", regionName)
+
+ override fun initializeStaticMeters() {
+ registerMeter(evictionLRUEvictionCountMeter)
+ registerMeter(evictionLRUDestroyCountMeter)
+ registerMeter(evictionLRUEvaluationsCountMeter)
+ registerMeter(evictionLRUGreedyReturnsCountMeter)
+ }
+
+ private val evictionLRUEvictionCountMeter = CounterStatisticMeter("eviction.lru.evictions.count", "Number of total entry evictions triggered by LRU.")
+ private val evictionLRUDestroyCountMeter = CounterStatisticMeter("eviction.lru.destroy.count", "Number of entries destroyed in the region through both destroy cache operations and eviction.")
+ private val evictionLRUEvaluationsCountMeter = CounterStatisticMeter("eviction.lru.evaluation.count", "Number of entries evaluated during LRU operations.")
+ private val evictionLRUGreedyReturnsCountMeter = CounterStatisticMeter("eviction.lru.greedyreturns.count", "Number of non-LRU entries evicted during LRU operations")
+
+ override fun incEvictions() {
+ evictionLRUEvictionCountMeter.increment()
+ }
+
+ override fun incEvaluations(delta: Long) {
+ evictionLRUEvaluationsCountMeter.increment(delta)
+ }
+
+ override fun incDestroys() {
+ evictionLRUDestroyCountMeter.increment()
+ }
+
+ override fun incGreedyReturns(delta: Long) {
+ evictionLRUGreedyReturnsCountMeter.increment(delta)
+ }
+}
\ No newline at end of file
diff --git a/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/HeapLRUStatistics.kt b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/HeapLRUStatistics.kt
new file mode 100644
index 0000000..d9b9d40
--- /dev/null
+++ b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/HeapLRUStatistics.kt
@@ -0,0 +1,39 @@
+/*
+ * 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.geode.statistics.eviction
+
+import org.apache.geode.statistics.internal.micrometer.GaugeStatisticMeter
+
+class HeapLRUStatistics(name: String) : EvictionStatsImpl(name, "HeapLRUStatistics-$name") {
+
+ override fun initializeStaticMeters() {
+ super.initializeStaticMeters()
+ registerMeter(heapEvictionEntryBytesMeter)
+ }
+
+ private val heapEvictionEntryBytesMeter = GaugeStatisticMeter("eviction.heap.lru.entries.bytes", "The amount of memory currently used by regions configured for eviction.", unit = "bytes")
+
+ override fun updateCounter(delta: Long) {
+ heapEvictionEntryBytesMeter.increment(delta)
+ }
+
+ override fun setCounter(newValue: Long) {
+ heapEvictionEntryBytesMeter.setValue(newValue)
+ }
+
+ override fun setLimit(newValue: Long) {
+ //noop
+ }
+}
diff --git a/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/MemoryLRUStatistics.kt b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/MemoryLRUStatistics.kt
new file mode 100644
index 0000000..02192da
--- /dev/null
+++ b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/eviction/MemoryLRUStatistics.kt
@@ -0,0 +1,41 @@
+/*
+ * 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.geode.statistics.eviction
+
+import org.apache.geode.statistics.internal.micrometer.GaugeStatisticMeter
+
+class MemoryLRUStatistics(name: String) : EvictionStatsImpl(name, "MemLRUStatistics-$name") {
+
+ override fun initializeStaticMeters() {
+ super.initializeStaticMeters()
+ registerMeter(memoryEvictionBytesAllowedMeter)
+ registerMeter(memoryEvictionBytesCountMeter)
+ }
+
+ private val memoryEvictionBytesAllowedMeter = GaugeStatisticMeter("eviction.memory.lru.bytes.limit.count", "Number of total bytes allowed in this region.", unit = "bytes")
+ private val memoryEvictionBytesCountMeter = GaugeStatisticMeter("eviction.memory.lru.bytes.count", "Number of bytes in region.", unit = "bytes")
+
+ override fun updateCounter(delta: Long) {
+ memoryEvictionBytesCountMeter.increment(delta)
+ }
+
+ override fun setLimit(newValue: Long) {
+ memoryEvictionBytesAllowedMeter.setValue(newValue)
+ }
+
+ override fun setCounter(newValue: Long) {
+ memoryEvictionBytesCountMeter.setValue(newValue)
+ }
+}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/Stat.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/Stat.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/Stat.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/Stat.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/StatAlert.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/StatAlert.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/StatAlert.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/StatAlert.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/StatAlertDefinition.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/StatAlertDefinition.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/StatAlertDefinition.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/StatAlertDefinition.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/StatAlertsManager.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/StatAlertsManager.java
similarity index 95%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/StatAlertsManager.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/StatAlertsManager.java
index deb623a..7ac5c78 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/StatAlertsManager.java
+++ b/geode-stats/src/main/java/org/apache/geode/internal/admin/StatAlertsManager.java
@@ -340,7 +340,7 @@ public class StatAlertsManager {
*/
@Override
public void run2() {
- final boolean isDebugEnabled = logger.isDebugEnabled();
+ final boolean isDebugEnabled = SystemTimerTask.logger.isDebugEnabled();
synchronized (StatAlertsManager.this) {
if (dm.getCancelCriterion().isCancelInProgress()) {
@@ -356,13 +356,13 @@ public class StatAlertsManager {
return;
if (isDebugEnabled) {
- logger.debug("EvaluateAlertDefnsTask: starting");
+ SystemTimerTask.logger.debug("EvaluateAlertDefnsTask: starting");
}
try {
StatAlert[] alerts = getAlerts();
if (alerts.length == 0) {
if (isDebugEnabled) {
- logger.debug("EvaluateAlertsDefnsTask: no alerts");
+ SystemTimerTask.logger.debug("EvaluateAlertsDefnsTask: no alerts");
}
return;
}
@@ -372,24 +372,24 @@ public class StatAlertsManager {
if (isDebugEnabled) {
Iterator iterator = adminMemberSet.iterator();
while (iterator.hasNext()) {
- logger.debug("EvaluateAlertDefnsTask: sending {} alerts to {}", alerts.length,
+ SystemTimerTask.logger.debug("EvaluateAlertDefnsTask: sending {} alerts to {}", alerts.length,
iterator.next());
}
}
request.setRecipients(adminMemberSet);
dm.putOutgoing(request);
} catch (CancelException e) {
- logger.debug("EvaluateAlertDefnsTask: system closed: {}", e.getMessage(), e);
+ SystemTimerTask.logger.debug("EvaluateAlertDefnsTask: system closed: {}", e.getMessage(), e);
close();
} catch (Exception e) {
- logger.error(
+ SystemTimerTask.logger.error(
LocalizedMessage.create(
LocalizedStrings.StatAlertsManager_EVALUATEALERTDEFNSTASK_FAILED_WITH_AN_EXCEPTION),
e);
close();
}
if (isDebugEnabled) {
- logger.debug("EvaluateAlertDefnsTask: done ");
+ SystemTimerTask.logger.debug("EvaluateAlertDefnsTask: done ");
}
}
} // run
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/StatListener.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/StatListener.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/StatListener.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/StatListener.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/StatResource.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/StatResource.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/StatResource.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/StatResource.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/BaseDecoratorImpl.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/BaseDecoratorImpl.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/BaseDecoratorImpl.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/BaseDecoratorImpl.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/DummyStatisticInfoImpl.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/DummyStatisticInfoImpl.java
similarity index 97%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/DummyStatisticInfoImpl.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/DummyStatisticInfoImpl.java
index 143aea5..a882111 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/DummyStatisticInfoImpl.java
+++ b/geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/DummyStatisticInfoImpl.java
@@ -18,8 +18,6 @@ import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-import org.apache.geode.statistics.StatisticDescriptor;
-import org.apache.geode.statistics.Statistics;
import org.apache.geode.internal.admin.StatAlertsManager;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/FunctionDecoratorImpl.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/FunctionDecoratorImpl.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/FunctionDecoratorImpl.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/FunctionDecoratorImpl.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/FunctionHelper.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/FunctionHelper.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/FunctionHelper.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/FunctionHelper.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/GaugeThresholdDecoratorImpl.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/GaugeThresholdDecoratorImpl.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/GaugeThresholdDecoratorImpl.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/GaugeThresholdDecoratorImpl.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/MultiAttrDefinitionImpl.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/MultiAttrDefinitionImpl.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/MultiAttrDefinitionImpl.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/MultiAttrDefinitionImpl.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/NumberThresholdDecoratorImpl.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/NumberThresholdDecoratorImpl.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/NumberThresholdDecoratorImpl.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/NumberThresholdDecoratorImpl.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/SingleAttrDefinitionImpl.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/SingleAttrDefinitionImpl.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/SingleAttrDefinitionImpl.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/SingleAttrDefinitionImpl.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/StatisticInfo.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/StatisticInfo.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/StatisticInfo.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/StatisticInfo.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/StatisticInfoImpl.java b/geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/StatisticInfoImpl.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/StatisticInfoImpl.java
rename to geode-stats/src/main/java/org/apache/geode/internal/admin/statalerts/StatisticInfoImpl.java