You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by dh...@apache.org on 2019/07/22 22:09:27 UTC
[geode] 14/18: Remove CachePerfStats.getEntries()
This is an automated email from the ASF dual-hosted git repository.
dhemery pushed a commit to branch GEODE-7001-region-entry-count
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 0e2fa6f9abb569cfc958c603f48516da2e17632c
Author: Dale Emery <de...@pivotal.io>
AuthorDate: Fri Jul 19 10:47:30 2019 -0700
Remove CachePerfStats.getEntries()
Co-Authored-By: Mark Hanson <mh...@pivotal.io>
---
.../cache/PartitionedRegionStatsDUnitTest.java | 3 +-
.../geode/internal/cache/CachePerfStats.java | 4 ---
.../geode/internal/cache/DummyCachePerfStats.java | 5 ----
.../internal/cache/PartitionedRegionStatus.java | 12 --------
.../geode/internal/cache/RegionPerfStats.java | 6 ++--
.../geode/internal/cache/CachePerfStatsTest.java | 35 +++-------------------
.../geode/internal/cache/RegionPerfStatsTest.java | 27 +++++++++++------
7 files changed, 27 insertions(+), 65 deletions(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionStatsDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionStatsDUnitTest.java
index d05ca9c..2ac97cf 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionStatsDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionStatsDUnitTest.java
@@ -264,7 +264,8 @@ public class PartitionedRegionStatsDUnitTest extends CacheTestCase {
CachePerfStats cachePerfStats = region.getCachePerfStats();
assertThat(stats.getDataStoreEntryCount()).isEqualTo(expectedCount);
- assertThat(cachePerfStats.getEntries()).isEqualTo(expectedCount);
+ long actualCount = cachePerfStats.stats.getLong(CachePerfStats.entryGaugeId);
+ assertThat(actualCount).isEqualTo(expectedCount);
}
private void validateTotalNumBucketsCount(final String regionName, final int expectedCount) {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/CachePerfStats.java b/geode-core/src/main/java/org/apache/geode/internal/cache/CachePerfStats.java
index 41dfe2b..b597ec9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/CachePerfStats.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/CachePerfStats.java
@@ -1323,10 +1323,6 @@ public class CachePerfStats {
stats.incLong(entryGaugeId, delta);
}
- public long getEntries() {
- return stats.getLong(entryGaugeId);
- }
-
public void incRetries() {
stats.incInt(retriesId, 1);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DummyCachePerfStats.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DummyCachePerfStats.java
index fa704c2..c4aadfc 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DummyCachePerfStats.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DummyCachePerfStats.java
@@ -354,11 +354,6 @@ public class DummyCachePerfStats extends CachePerfStats {
public void incEntryCount(int delta) {}
@Override
- public long getEntries() {
- return 0;
- }
-
- @Override
public void incRetries() {}
@Override
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionStatus.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionStatus.java
index 902662a..d6f2d0a 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionStatus.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionStatus.java
@@ -31,14 +31,6 @@ public class PartitionedRegionStatus extends RegionStatus {
initialize(region);
}
- public int getNumberOfLocalEntries() {
- return this.numberOfLocalEntries;
- }
-
- protected void setNumberOfLocalEntries(int numberOfLocalEntries) {
- this.numberOfLocalEntries = numberOfLocalEntries;
- }
-
@Override
public long getHeapSize() {
return this.heapSize;
@@ -55,14 +47,10 @@ public class PartitionedRegionStatus extends RegionStatus {
// in this VM), get the number of entries and heap size. Else,
// set these to 0.
PartitionedRegionDataStore ds = region.getDataStore();
- int numLocalEntries = 0;
long heapSize = 0;
if (ds != null) {
- CachePerfStats cpStats = ds.getCachePerfStats();
- numLocalEntries = (int) cpStats.getEntries();
heapSize = ds.currentAllocatedMemory();
}
- setNumberOfLocalEntries(numLocalEntries);
setHeapSize(heapSize);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionPerfStats.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionPerfStats.java
index 016ee77..2973ac3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionPerfStats.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionPerfStats.java
@@ -45,11 +45,12 @@ class RegionPerfStats extends CachePerfStats {
this.cachePerfStats = cachePerfStats;
this.meterRegistry = meterRegistry;
entryCount = new AtomicLong();
- entriesGauge = Gauge.builder("member.region.entries", entryCount, AtomicLong::get)
+ entriesGauge = Gauge.builder("member.region.entries", entryCount::get)
.description("Current number of entries in the region.")
- .baseUnit("entries")
.tag("region.name", regionName)
+ .baseUnit("entries")
.register(meterRegistry);
+ stats.setLongSupplier(entryGaugeId, entryCount::get);
}
private static LongSupplier createClock() {
@@ -488,7 +489,6 @@ class RegionPerfStats extends CachePerfStats {
@Override
public void incEntryCount(int delta) {
- super.incEntryCount(delta);
entryCount.addAndGet(delta);
cachePerfStats.incEntryCount(delta);
}
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/CachePerfStatsTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/CachePerfStatsTest.java
index f1c7800..6a3de24 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/CachePerfStatsTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/CachePerfStatsTest.java
@@ -1127,43 +1127,16 @@ public class CachePerfStatsTest {
}
@Test
- public void incEntryCount_whenDeltaIsPositive_increasesTheEntryCount() {
+ public void incEntryCount_whenDeltaIsPositive_increasesTheEntryCountStat() {
cachePerfStats.incEntryCount(2);
- assertThat(cachePerfStats.getEntries()).isEqualTo(2);
+ assertThat(statistics.getLong(entryGaugeId)).isEqualTo(2);
}
@Test
- public void incEntryCount_whenDeltaIsNegative_decreasesTheEntryCount() {
+ public void incEntryCount_whenDeltaIsNegative_decreasesTheEntryCountStat() {
cachePerfStats.incEntryCount(-2);
- assertThat(cachePerfStats.getEntries()).isEqualTo(-2);
- }
-
- @Test
- public void getEntriesReturnsZeroByDefault() {
- long defaultValue = cachePerfStats.getEntries();
-
- assertThat(defaultValue).isZero();
- }
-
- @Test
- public void entryGaugeIdStatIsSuppliedByIncEntryCount() {
- int delta = 2;
-
- cachePerfStats.incEntryCount(delta);
-
- statistics.updateSuppliedValues();
-
- assertThat(statistics.getLong(entryGaugeId)).isEqualTo(delta);
- }
-
- @Test
- public void entryGaugeIdStatIsSuppliedZeroByDefault() {
- statistics.updateSuppliedValues();
-
- long defaultValue = statistics.getLong(entryGaugeId);
-
- assertThat(defaultValue).isZero();
+ assertThat(statistics.getLong(entryGaugeId)).isEqualTo(-2);
}
}
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/RegionPerfStatsTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/RegionPerfStatsTest.java
index 0067b5c..e7fc0f9 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/RegionPerfStatsTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/RegionPerfStatsTest.java
@@ -22,6 +22,8 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.mockito.quality.Strictness.STRICT_STUBS;
+import java.util.function.LongSupplier;
+
import io.micrometer.core.instrument.Gauge;
import io.micrometer.core.instrument.Meter;
import io.micrometer.core.instrument.MeterRegistry;
@@ -31,6 +33,7 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
+import org.mockito.ArgumentCaptor;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
@@ -95,7 +98,7 @@ public class RegionPerfStatsTest {
}
@Test
- public void regionPerfStatsConstruction_createsEntriesGauge_taggedWithRegionName() {
+ public void constructor_createsEntriesGauge_taggedWithRegionName() {
Gauge entriesGauge = meterRegistry
.find("member.region.entries")
.tag("region.name", REGION_NAME)
@@ -104,17 +107,23 @@ public class RegionPerfStatsTest {
}
@Test
- public void incEntryCount_updatesEntryGaugeStatistic() {
- regionPerfStats.incEntryCount(3);
+ public void suppliesEntryCountStatWithAccumulatedEntryCount() {
+ ArgumentCaptor<LongSupplier> supplierCaptor = ArgumentCaptor.forClass(LongSupplier.class);
- verify(statistics).incLong(RegionPerfStats.entryGaugeId, 3);
- }
+ verify(statistics).setLongSupplier(eq(RegionPerfStats.entryGaugeId), supplierCaptor.capture());
- @Test
- public void getEntryCount_updatesEntryGaugeStatistic() {
- when(statistics.getLong(RegionPerfStats.entryGaugeId)).thenReturn(431L);
+ LongSupplier capturedSupplier = supplierCaptor.getValue();
+ assertThat(capturedSupplier.getAsLong())
+ .as("Initial value of supplier")
+ .isEqualTo(0);
+
+ regionPerfStats.incEntryCount(3);
+ regionPerfStats.incEntryCount(7);
+ regionPerfStats.incEntryCount(-4);
- assertThat(regionPerfStats.getEntries()).isEqualTo(431);
+ assertThat(capturedSupplier.getAsLong())
+ .as("Accumulated value of supplier")
+ .isEqualTo(6);
}
@Test