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 23:04:31 UTC
[geode] branch GEODE-7001-region-entry-count updated: Add data
policy to region entry count gauge
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
The following commit(s) were added to refs/heads/GEODE-7001-region-entry-count by this push:
new bf7d876 Add data policy to region entry count gauge
bf7d876 is described below
commit bf7d876ec4e686c98e5163ead2fd53d125b7bfce
Author: Dale Emery <de...@pivotal.io>
AuthorDate: Mon Jul 22 15:57:21 2019 -0700
Add data policy to region entry count gauge
Co-Authored-By: Michael Oleske <mo...@pivotal.io>
---
.../apache/geode/internal/cache/LocalRegion.java | 2 +-
.../internal/cache/PartitionedRegionDataStore.java | 1 +
.../geode/internal/cache/RegionPerfStats.java | 8 ++++---
.../geode/internal/cache/RegionPerfStatsTest.java | 27 +++++++++++++++++-----
4 files changed, 28 insertions(+), 10 deletions(-)
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 46db44e..b5f5764 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
@@ -599,7 +599,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
hasOwnStats = true;
cachePerfStats =
new RegionPerfStats(cache.getInternalDistributedSystem().getStatisticsManager(),
- "RegionStats-" + regionName, cache.getCachePerfStats(), regionName,
+ "RegionStats-" + regionName, cache.getCachePerfStats(), regionName, getDataPolicy(),
cache.getMeterRegistry());
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
index 346e4d0..732357e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
@@ -205,6 +205,7 @@ public class PartitionedRegionDataStore implements HasCachePerfStats {
this.bucketStats =
new RegionPerfStats(pr.getCache().getInternalDistributedSystem().getStatisticsManager(),
"RegionStats-partition-" + pr.getName(), pr.getCachePerfStats(), pr.getName(),
+ pr.getDataPolicy(),
pr.getCache().getMeterRegistry());
this.keysOfInterest = new ConcurrentHashMap();
}
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 1e6e66a..59eb422 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
@@ -22,6 +22,7 @@ import io.micrometer.core.instrument.MeterRegistry;
import org.apache.geode.StatisticsFactory;
import org.apache.geode.annotations.VisibleForTesting;
+import org.apache.geode.cache.DataPolicy;
import org.apache.geode.internal.NanoTimer;
class RegionPerfStats extends CachePerfStats {
@@ -32,14 +33,14 @@ class RegionPerfStats extends CachePerfStats {
private final AtomicLong entryCount;
RegionPerfStats(StatisticsFactory statisticsFactory, String textId, CachePerfStats cachePerfStats,
- String regionName, MeterRegistry meterRegistry) {
- this(statisticsFactory, textId, createClock(), cachePerfStats, regionName,
+ String regionName, DataPolicy dataPolicy, MeterRegistry meterRegistry) {
+ this(statisticsFactory, textId, createClock(), cachePerfStats, regionName, dataPolicy,
meterRegistry);
}
@VisibleForTesting
RegionPerfStats(StatisticsFactory statisticsFactory, String textId, LongSupplier clock,
- CachePerfStats cachePerfStats, String regionName,
+ CachePerfStats cachePerfStats, String regionName, DataPolicy dataPolicy,
MeterRegistry meterRegistry) {
super(statisticsFactory, textId, clock);
this.cachePerfStats = cachePerfStats;
@@ -48,6 +49,7 @@ class RegionPerfStats extends CachePerfStats {
entriesGauge = Gauge.builder("member.region.entries", entryCount::get)
.description("Current number of entries in the region.")
.tag("region.name", regionName)
+ .tag("data.policy", dataPolicy.toString())
.baseUnit("entries")
.register(meterRegistry);
stats.setLongSupplier(entryCountId, entryCount::get);
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 0476798..b4ce7e0 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
@@ -39,11 +39,13 @@ import org.mockito.junit.MockitoRule;
import org.apache.geode.Statistics;
import org.apache.geode.StatisticsFactory;
+import org.apache.geode.cache.DataPolicy;
public class RegionPerfStatsTest {
private static final String REGION_NAME = "region1";
private static final String TEXT_ID = "textId";
+ private static final DataPolicy DATA_POLICY = DataPolicy.PERSISTENT_REPLICATE;
private MeterRegistry meterRegistry;
private StatisticsFactory statisticsFactory;
@@ -66,7 +68,8 @@ public class RegionPerfStatsTest {
when(statisticsFactory.createAtomicStatistics(any(), any())).thenReturn(statistics);
regionPerfStats =
- new RegionPerfStats(statisticsFactory, TEXT_ID, cachePerfStats, REGION_NAME, meterRegistry);
+ new RegionPerfStats(statisticsFactory, TEXT_ID, cachePerfStats, REGION_NAME, DATA_POLICY,
+ meterRegistry);
}
@After
@@ -84,8 +87,8 @@ public class RegionPerfStatsTest {
StatisticsFactory statisticsFactory = mock(StatisticsFactory.class);
when(statisticsFactory.createAtomicStatistics(any(), any())).thenReturn(mock(Statistics.class));
- regionPerfStats =
- new RegionPerfStats(statisticsFactory, TEXT_ID, cachePerfStats, REGION_NAME, meterRegistry);
+ new RegionPerfStats(statisticsFactory, TEXT_ID, cachePerfStats, REGION_NAME, DataPolicy.NORMAL,
+ meterRegistry);
verify(statisticsFactory).createAtomicStatistics(any(), eq(TEXT_ID));
}
@@ -94,9 +97,21 @@ public class RegionPerfStatsTest {
public void constructor_createsEntriesGauge_taggedWithRegionName() {
Gauge entriesGauge = meterRegistry
.find("member.region.entries")
- .tag("region.name", REGION_NAME)
.gauge();
- assertThat(entriesGauge).isNotNull();
+
+ assertThat(entriesGauge.getId().getTag("region.name"))
+ .as("region.name tag")
+ .isEqualTo(REGION_NAME);
+ }
+
+ @Test
+ public void constructor_createsEntriesGauge_taggedWithDataPolicy() {
+ Gauge entriesGauge = meterRegistry
+ .find("member.region.entries")
+ .gauge();
+ assertThat(entriesGauge.getId().getTag("data.policy"))
+ .as("data.policy tag")
+ .isEqualTo(DATA_POLICY.toString());
}
@Test
@@ -143,7 +158,7 @@ public class RegionPerfStatsTest {
public void incEntryCount_doesNotUpdateMeterForOtherRegion() {
regionPerfStats2 =
new RegionPerfStats(statisticsFactory, "region2", () -> 0, cachePerfStats, "region2",
- meterRegistry);
+ DataPolicy.NORMAL, meterRegistry);
regionPerfStats.incEntryCount(1);
regionPerfStats.incEntryCount(3);