This is an automated email from the ASF dual-hosted git repository. udo pushed a commit to branch feature/Micrometer in repository https://gitbox.apache.org/repos/asf/geode.git
commit 15c066ada3cc8e4817b6fbad66227186b7da4a40 Author: Udo Kohlmeyer <[email protected]> AuthorDate: Sun Sep 23 22:00:55 2018 -0400 Made some changes to handle Tenured memory. need to revert those. --- build.gradle | 4 +- .../management/MemoryThresholdsDUnitTest.java | 13 +- .../GemFireStatSamplerIntegrationTest.java | 12 +- .../internal/cache/control/HeapMemoryMonitor.java | 22 +-- .../statistics/InternalDistributedSystemStats.java | 2 +- .../internal/beans/stats/MBeanStatsMonitor.java | 193 ++++++++++----------- .../stats/AggregateRegionStatsMonitorTest.java | 2 +- .../stats/GatewaySenderOverflowMonitorTest.java | 2 +- .../beans/stats/MemberLevelDiskMonitorTest.java | 2 +- .../tier/sockets/DurableClientCQDUnitTest.java | 2 +- .../tier/sockets/DurableClientSimpleDUnitTest.java | 5 - geode-micrometer-stats/build.gradle.kts | 2 +- 12 files changed, 127 insertions(+), 134 deletions(-) diff --git a/build.gradle b/build.gradle index 0018d1d..81f574e 100755 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ buildscript { repositories { mavenCentral() - maven { url "file://home/ukohlmeyer/.m2/repository"} + maven { url "file://Users/ukohlmeyer/.m2/repository"} maven { url "https://plugins.gradle.org/m2/" } maven { url "https://dl.bintray.com/palantir/releases" } jcenter() @@ -62,7 +62,7 @@ allprojects { repositories { mavenCentral() maven { url "http://repo.spring.io/release" } - maven { url 'file://home/ukohlmeyer/.m2/repository' } + maven { url 'file://Users/ukohlmeyer/.m2/repository' } } group = "org.apache.geode" diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/management/MemoryThresholdsDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/management/MemoryThresholdsDUnitTest.java index 74a9039..d20c36b 100644 --- a/geode-core/src/distributedTest/java/org/apache/geode/cache/management/MemoryThresholdsDUnitTest.java +++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/management/MemoryThresholdsDUnitTest.java @@ -43,7 +43,6 @@ import org.junit.Ignore; import org.junit.Test; import org.apache.geode.DataSerializable; -import org.apache.geode.Statistics; import org.apache.geode.cache.AttributesFactory; import org.apache.geode.cache.AttributesMutator; import org.apache.geode.cache.Cache; @@ -1757,12 +1756,12 @@ public class MemoryThresholdsDUnitTest extends ClientServerTestCase { // fix: found race condition here... WaitCriterion wc = new WaitCriterion() { public boolean done() { - Statistics si = HeapMemoryMonitor.getTenuredPoolStatistics(internalSystem); - if (si != null) { - sampler.addLocalStatListener(l, si, "currentUsedMemory"); - return true; - } - return false; + // Statistics si = HeapMemoryMonitor.getTenuredPoolStatistics(internalSystem); + // if (si != null) { + // sampler.addLocalStatListener(l, si, "currentUsedMemory"); + return true; + // } + // return false; } public String description() { diff --git a/geode-core/src/integrationTest/java/org/apache/geode/internal/statistics/GemFireStatSamplerIntegrationTest.java b/geode-core/src/integrationTest/java/org/apache/geode/internal/statistics/GemFireStatSamplerIntegrationTest.java index 92117e1..9617068 100644 --- a/geode-core/src/integrationTest/java/org/apache/geode/internal/statistics/GemFireStatSamplerIntegrationTest.java +++ b/geode-core/src/integrationTest/java/org/apache/geode/internal/statistics/GemFireStatSamplerIntegrationTest.java @@ -485,12 +485,12 @@ public class GemFireStatSamplerIntegrationTest extends StatSamplerTestCase { try { for (StopWatch time = new StopWatch(true); !done && time.elapsedTimeMillis() < 5000;) { Thread.sleep(10); - Statistics si = - HeapMemoryMonitor.getTenuredPoolStatistics((StatisticsManager) this.system); - if (si != null) { - statSampler.addLocalStatListener(listener, si, "currentUsedMemory"); - done = true; - } + // Statistics si = + // HeapMemoryMonitor.getTenuredPoolStatistics((StatisticsManager) this.system); + // if (si != null) { + // statSampler.addLocalStatListener(listener, si, "currentUsedMemory"); + done = true; + // } } } catch (InterruptedException e) { Thread.currentThread().interrupt(); 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 8a982a7..dc2f911 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 @@ -36,7 +36,6 @@ import javax.management.NotificationListener; import org.apache.logging.log4j.Logger; import org.apache.geode.CancelException; -import org.apache.geode.Statistics; import org.apache.geode.SystemFailure; import org.apache.geode.cache.CacheClosedException; import org.apache.geode.cache.LowMemoryException; @@ -54,8 +53,9 @@ import org.apache.geode.internal.logging.LoggingThreadGroup; import org.apache.geode.internal.logging.log4j.LocalizedMessage; import org.apache.geode.internal.statistics.GemFireStatSampler; import org.apache.geode.internal.statistics.LocalStatListener; -import org.apache.geode.internal.statistics.StatisticsImpl; +import org.apache.geode.internal.statistics.StatisticsManager; import org.apache.geode.stats.common.internal.cache.control.ResourceManagerStats; +import org.apache.geode.stats.common.statistics.Statistics; /** * Allows for the setting of eviction and critical thresholds. These thresholds are compared against @@ -326,15 +326,15 @@ public class HeapMemoryMonitor implements NotificationListener, MemoryMonitor { try { sampler.waitForInitialization(); - Statistics si = getTenuredPoolStatistics(this.cache.getInternalDistributedSystem()); - if (si != null) { - sampler.addLocalStatListener(this.statListener, si, "currentUsedMemory"); - if (logger.isDebugEnabled()) { - logger.debug("Registered stat listener for " + si.getTextId()); - } - - return true; - } + // Statistics si = getTenuredPoolStatistics(this.cache.getInternalDistributedSystem()); + // if (si != null) { + // sampler.addLocalStatListener(this.statListener, si, "currentUsedMemory"); + // if (logger.isDebugEnabled()) { + // logger.debug("Registered stat listener for " + si.getTextId()); + // } + // + return true; + // } } catch (InterruptedException iex) { Thread.currentThread().interrupt(); this.cache.getCancelCriterion().checkCancelInProgress(iex); diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/InternalDistributedSystemStats.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/InternalDistributedSystemStats.java index b28ffab..a5bc74b 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/statistics/InternalDistributedSystemStats.java +++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/InternalDistributedSystemStats.java @@ -83,7 +83,7 @@ public class InternalDistributedSystemStats { FunctionStats stats = functionExecutionStatsMap.get(textId); if (stats == null) { stats = StatsFactory.createStatsImpl(FunctionStats.class, textId); - System.out.println("stats = " + stats+ " textId = "+textId); + System.out.println("stats = " + stats + " textId = " + textId); FunctionStats oldStats = functionExecutionStatsMap.putIfAbsent(textId, stats); if (oldStats != null) { stats.close(); diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/beans/stats/MBeanStatsMonitor.java b/geode-core/src/main/java/org/apache/geode/management/internal/beans/stats/MBeanStatsMonitor.java index d682ea4..db67cd4 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/beans/stats/MBeanStatsMonitor.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/beans/stats/MBeanStatsMonitor.java @@ -18,6 +18,8 @@ package org.apache.geode.management.internal.beans.stats; import java.util.HashMap; import java.util.Map; +import org.apache.logging.log4j.Logger; + import org.apache.geode.internal.logging.LogService; import org.apache.geode.internal.statistics.StatisticId; import org.apache.geode.internal.statistics.StatisticNotFoundException; @@ -27,108 +29,105 @@ import org.apache.geode.internal.statistics.ValueMonitor; import org.apache.geode.stats.common.statistics.StatisticDescriptor; import org.apache.geode.stats.common.statistics.Statistics; import org.apache.geode.stats.common.statistics.StatisticsType; -import org.apache.logging.log4j.Logger; /** * Class to get mappings of stats name to their values */ public class MBeanStatsMonitor implements StatisticsListener { - private static final Logger logger = LogService.getLogger(); - - protected ValueMonitor monitor; - - /** - * Map which contains statistics with their name and value - */ - protected DefaultHashMap statsMap; - - protected String monitorName; - - public MBeanStatsMonitor(final String name) { - this(name, new ValueMonitor()); - } - - MBeanStatsMonitor(final String name, final ValueMonitor monitor) { - this.monitorName = name; - this.monitor = monitor; - this.statsMap = new DefaultHashMap(); - } - - public void addStatisticsToMonitor(final Statistics stats) { - monitor.addListener(this);// if already listener is added this will be a no-op - // Initialize the stats with the current values. - if (stats != null) { - StatisticsType type = stats.getType(); - StatisticDescriptor[] descriptors = type.getStatistics(); - for (StatisticDescriptor d : descriptors) { - statsMap.put(d.getName(), stats.get(d)); - } - monitor.addStatistics(stats); - } - } - - public void removeStatisticsFromMonitor(final Statistics stats) { - statsMap.clear(); - } - - public void stopListener() { - monitor.removeListener(this); - } - - public Number getStatistic(final String statName) { - Number value = statsMap.get(statName); - return value != null ? value : 0; - } - - @Override - public void handleNotification(final StatisticsNotification notification) { - for (StatisticId statId : notification) { - StatisticDescriptor descriptor = statId.getStatisticDescriptor(); - String name = descriptor.getName(); - Number value; - try { - value = notification.getValue(statId); - } - catch (StatisticNotFoundException e) { - value = 0; - } - log(name, value); - statsMap.put(name, value); - } - } - - protected void log(final String name, final Number value) { - if (logger.isTraceEnabled()) { - logger.trace("Monitor = {} descriptor = {} And value = {}", monitorName, name, value); - } - } - - public static class DefaultHashMap { // TODO: delete this class - - private Map<String, Number> internalMap = new HashMap<>(); - - public DefaultHashMap() { - } - - public Number get(final String key) { - return internalMap.get(key) != null ? internalMap.get(key) : 0; - } - - public void put(final String key, final Number value) { - internalMap.put(key, value); - } - - public void clear() { - internalMap.clear(); - } - - /** - * For testing only - */ - Map<String, Number> getInternalMap() { - return this.internalMap; - } - } + private static final Logger logger = LogService.getLogger(); + + protected ValueMonitor monitor; + + /** + * Map which contains statistics with their name and value + */ + protected DefaultHashMap statsMap; + + protected String monitorName; + + public MBeanStatsMonitor(final String name) { + this(name, new ValueMonitor()); + } + + MBeanStatsMonitor(final String name, final ValueMonitor monitor) { + this.monitorName = name; + this.monitor = monitor; + this.statsMap = new DefaultHashMap(); + } + + public void addStatisticsToMonitor(final Statistics stats) { + monitor.addListener(this);// if already listener is added this will be a no-op + // Initialize the stats with the current values. + if (stats != null) { + StatisticsType type = stats.getType(); + StatisticDescriptor[] descriptors = type.getStatistics(); + for (StatisticDescriptor d : descriptors) { + statsMap.put(d.getName(), stats.get(d)); + } + monitor.addStatistics(stats); + } + } + + public void removeStatisticsFromMonitor(final Statistics stats) { + statsMap.clear(); + } + + public void stopListener() { + monitor.removeListener(this); + } + + public Number getStatistic(final String statName) { + Number value = statsMap.get(statName); + return value != null ? value : 0; + } + + @Override + public void handleNotification(final StatisticsNotification notification) { + for (StatisticId statId : notification) { + StatisticDescriptor descriptor = statId.getStatisticDescriptor(); + String name = descriptor.getName(); + Number value; + try { + value = notification.getValue(statId); + } catch (StatisticNotFoundException e) { + value = 0; + } + log(name, value); + statsMap.put(name, value); + } + } + + protected void log(final String name, final Number value) { + if (logger.isTraceEnabled()) { + logger.trace("Monitor = {} descriptor = {} And value = {}", monitorName, name, value); + } + } + + public static class DefaultHashMap { // TODO: delete this class + + private Map<String, Number> internalMap = new HashMap<>(); + + public DefaultHashMap() {} + + public Number get(final String key) { + return internalMap.get(key) != null ? internalMap.get(key) : 0; + } + + public void put(final String key, final Number value) { + internalMap.put(key, value); + } + + public void clear() { + internalMap.clear(); + } + + /** + * For testing only + */ + Map<String, Number> getInternalMap() { + return this.internalMap; + } + } } diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/beans/stats/AggregateRegionStatsMonitorTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/beans/stats/AggregateRegionStatsMonitorTest.java index 302f243..82eb699 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/beans/stats/AggregateRegionStatsMonitorTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/beans/stats/AggregateRegionStatsMonitorTest.java @@ -29,7 +29,6 @@ import org.junit.Test; import org.junit.experimental.categories.Category; import org.junit.rules.TestName; -import org.apache.geode.Statistics; import org.apache.geode.internal.NanoTimer; import org.apache.geode.internal.io.MainWithChildrenRollingFileHandler; import org.apache.geode.internal.statistics.SampleCollector; @@ -38,6 +37,7 @@ import org.apache.geode.internal.statistics.StatisticsSampler; import org.apache.geode.internal.statistics.TestStatisticsManager; import org.apache.geode.internal.statistics.TestStatisticsSampler; import org.apache.geode.internal.statistics.ValueMonitor; +import org.apache.geode.stats.common.statistics.Statistics; import org.apache.geode.test.junit.categories.StatisticsTest; @Category(StatisticsTest.class) diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/beans/stats/GatewaySenderOverflowMonitorTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/beans/stats/GatewaySenderOverflowMonitorTest.java index fe9b116..ba6fd6d 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/beans/stats/GatewaySenderOverflowMonitorTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/beans/stats/GatewaySenderOverflowMonitorTest.java @@ -29,7 +29,6 @@ import org.junit.Test; import org.junit.experimental.categories.Category; import org.junit.rules.TestName; -import org.apache.geode.Statistics; import org.apache.geode.internal.NanoTimer; import org.apache.geode.internal.io.MainWithChildrenRollingFileHandler; import org.apache.geode.internal.statistics.SampleCollector; @@ -38,6 +37,7 @@ import org.apache.geode.internal.statistics.StatisticsSampler; import org.apache.geode.internal.statistics.TestStatisticsManager; import org.apache.geode.internal.statistics.TestStatisticsSampler; import org.apache.geode.internal.statistics.ValueMonitor; +import org.apache.geode.stats.common.statistics.Statistics; import org.apache.geode.test.junit.categories.StatisticsTest; @Category(StatisticsTest.class) diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/beans/stats/MemberLevelDiskMonitorTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/beans/stats/MemberLevelDiskMonitorTest.java index e319d3a..8679419 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/beans/stats/MemberLevelDiskMonitorTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/beans/stats/MemberLevelDiskMonitorTest.java @@ -29,7 +29,6 @@ import org.junit.Test; import org.junit.experimental.categories.Category; import org.junit.rules.TestName; -import org.apache.geode.Statistics; import org.apache.geode.internal.NanoTimer; import org.apache.geode.internal.io.MainWithChildrenRollingFileHandler; import org.apache.geode.internal.statistics.SampleCollector; @@ -38,6 +37,7 @@ import org.apache.geode.internal.statistics.StatisticsSampler; import org.apache.geode.internal.statistics.TestStatisticsManager; import org.apache.geode.internal.statistics.TestStatisticsSampler; import org.apache.geode.internal.statistics.ValueMonitor; +import org.apache.geode.stats.common.statistics.Statistics; import org.apache.geode.test.junit.categories.StatisticsTest; @Category(StatisticsTest.class) diff --git a/geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DurableClientCQDUnitTest.java b/geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DurableClientCQDUnitTest.java index ff6e620..12fa119 100644 --- a/geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DurableClientCQDUnitTest.java +++ b/geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DurableClientCQDUnitTest.java @@ -35,7 +35,6 @@ import org.apache.geode.cache.InterestResultPolicy; import org.apache.geode.cache.Region; import org.apache.geode.cache.client.Pool; import org.apache.geode.cache.client.PoolManager; -import org.apache.geode.cache.client.internal.ConnectionStats; import org.apache.geode.cache.client.internal.PoolImpl; import org.apache.geode.cache.query.CqAttributes; import org.apache.geode.cache.query.CqAttributesFactory; @@ -51,6 +50,7 @@ import org.apache.geode.distributed.internal.ServerLocation; import org.apache.geode.internal.cache.ClientServerObserverAdapter; import org.apache.geode.internal.cache.ClientServerObserverHolder; import org.apache.geode.internal.i18n.LocalizedStrings; +import org.apache.geode.stats.common.cache.client.internal.ConnectionStats; import org.apache.geode.test.dunit.AsyncInvocation; import org.apache.geode.test.dunit.IgnoredException; import org.apache.geode.test.dunit.SerializableRunnableIF; diff --git a/geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java b/geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java index 6c95f6d..5bf15f7 100644 --- a/geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java +++ b/geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java @@ -51,12 +51,7 @@ import org.apache.geode.cache30.CacheSerializableRunnable; import org.apache.geode.distributed.internal.DistributionConfig; import org.apache.geode.internal.cache.PoolFactoryImpl; import org.apache.geode.internal.cache.ha.HARegionQueue; -import org.apache.geode.internal.i18n.LocalizedStrings; -import org.apache.geode.stats.common.cache.client.internal.ConnectionStats; import org.apache.geode.stats.common.internal.cache.ha.HARegionQueueStats; -import org.apache.geode.test.dunit.AsyncInvocation; -import org.apache.geode.test.dunit.IgnoredException; -import org.apache.geode.test.dunit.LogWriterUtils; import org.apache.geode.test.dunit.SerializableRunnableIF; import org.apache.geode.test.dunit.VM; import org.apache.geode.test.junit.categories.ClientSubscriptionTest; diff --git a/geode-micrometer-stats/build.gradle.kts b/geode-micrometer-stats/build.gradle.kts index be9d744..c1f93c7 100644 --- a/geode-micrometer-stats/build.gradle.kts +++ b/geode-micrometer-stats/build.gradle.kts @@ -23,7 +23,7 @@ version = "1.8.0-SNAPSHOT" repositories { maven { setUrl("http://dl.bintray.com/kotlin/kotlin-eap") } - maven { setUrl("file:///home/ukohlmeyer/.m2/repository") } + maven { setUrl("file:///Users/ukohlmeyer/.m2/repository") } mavenCentral() mavenLocal() }
