New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DO NOT REVIEW] GEODE-7001: region size experiment #3846
[DO NOT REVIEW] GEODE-7001: region size experiment #3846
Conversation
b534477
to
bfb7a80
Compare
@dhemery I think the place to focus is |
@dhemery I made a small modification to the JMH I already had for comparing performance of |
@@ -8257,6 +8258,11 @@ public int size() { | |||
} | |||
} | |||
|
|||
@Override | |||
public int getLocalSize() { | |||
return getRegionMap().size() - tombstoneCount.get(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
Add 'member.region.entries' gauge in RegionPerfStats - Add region.name and data.policy tags - Add an AtomicLong to track the entry count - Configure the member.region.entries gauge to fetch from the AtomicLong - Configure the 'entryCount' stat to be supplied by the AtomicLong Also refactored the following: - Reorganize CachePerfStats/RegionPerfStats constructors - Remove CachePerfStats.getEntries() - Remove use of CachePerfStats.getEntries() from PartitionedRegionStatus. - Add @OverRide to ValidatingStatisticsType methods in StatisticsTypeImpl - Extracted invokeSuppliers() to new SuppliableStatistics interface and rename as updateSuppliedValues() - Move responsibility to prepend 'RegionStats-' onto region statistics textID into the classes that create RegionPerfStats and CachePerfStats. Co-authored-by: Michael Oleske <moleske@pivotal.io> Co-authored-by: Kirk Lund <klund@apache.org> Co-Authored-By: Mark Hanson <mhanson@pivotal.io>
Co-authored-by: Michael Oleske <moleske@pivotal.io> Co-authored-by: Dale Emery <demery@pivotal.io>
Added getLocalSize() method to InternalRegion. Configured the "region entry count" stat and meter to fetch their values from that method. Co-Authored-By: Kirk Lund <klund@apache.org>
Co-Authored-By: Kirk Lund <klund@apache.org> Co-Authored-By: Aaron Lindsey <alindsey@pivotal.io>
Co-Authored-By: Kirk Lund <klund@apache.org> Co-Authored-By: Aaron Lindsey <alindsey@pivotal.io>
Co-Authored-By: Kirk Lund <klund@apache.org> Co-Authored-By: Aaron Lindsey <alindsey@pivotal.io>
Migrated all uses to the more general ServiceJarRule. Also changed ServiceJarRule.createJarFor(…) to return a Path instead of a String.
15c9e56
to
c158339
Compare
Co-Authored-By: Kirk Lund <klund@apache.org> Co-Authored-By: Aaron Lindsey <alindsey@pivotal.io>
Co-Authored-By: Kirk Lund <klund@apache.org> Co-Authored-By: Aaron Lindsey <alindsey@pivotal.io>
Re-submitted as #3850 |
Region entry gauge stat and meter get their values from a new
getLocalSize()
method added toInternalRegion
.We will want to run some performance tests on this before committing. The
getLocalSize()
method onLocalRegion
iterates over the segments in the abstract region map. ThegetLocalSize()
method inPartitionedRegion
iterates over the local buckets, each of which iterates over its abstract region map. This computation may or may not be expensive. We want to find out.For all changes:
Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?
Has your PR been rebased against the latest commit within the target branch (typically
develop
)?Is your initial contribution a single, squashed commit?
Does
gradlew build
run cleanly?Have you written or updated unit tests to verify your changes?