[
https://issues.apache.org/jira/browse/HDFS-16959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17705060#comment-17705060
]
ASF GitHub Bot commented on HDFS-16959:
---------------------------------------
ayushtkn commented on code in PR #5497:
URL: https://github.com/apache/hadoop/pull/5497#discussion_r1148534243
##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/store/driver/TestStateStoreDriverBase.java:
##########
@@ -574,6 +580,36 @@ private static Map<String, Class<?>> getFields(BaseRecord
record) {
return getters;
}
+ public long getMountTableCacheLoadSamples(StateStoreDriver driver) throws
IOException {
+ final MutableRate mountTableCache = getMountTableCache(driver);
+ return mountTableCache.lastStat().numSamples();
+ }
+
+ private static MutableRate getMountTableCache(StateStoreDriver driver)
throws IOException {
+ StateStoreMetrics metrics = stateStore.getMetrics();
+ final Query<MountTable> query = new Query<>(MountTable.newInstance());
+ driver.getMultiple(MountTable.class, query);
+ final Map<String, MutableRate> cacheLoadMetrics =
metrics.getCacheLoadMetrics();
+ final MutableRate mountTableCache =
cacheLoadMetrics.get("CacheMountTableLoad");
+ assertNotNull("CacheMountTableLoad should be present in the state store
metrics",
+ mountTableCache);
+ return mountTableCache;
+ }
+
+ public void testCacheLoadMetrics(StateStoreDriver driver, long numRefresh,
+ double expectedHigherThan) throws IOException, IllegalArgumentException {
+ final MutableRate mountTableCache = getMountTableCache(driver);
+ // CacheMountTableLoadNumOps
+ final long mountTableCacheLoadNumOps =
getMountTableCacheLoadSamples(driver);
+ assertEquals("Num of samples collected should match", numRefresh,
mountTableCacheLoadNumOps);
+ // CacheMountTableLoadAvgTime ms
+ final double mountTableCacheLoadAvgTimeMs =
mountTableCache.lastStat().mean();
+ assertTrue(
+ "Mean time duration for cache load is expected to be higher than " +
expectedHigherThan
+ + " ms." + " Actual value: " + mountTableCacheLoadAvgTimeMs,
+ mountTableCacheLoadAvgTimeMs > expectedHigherThan);
+ }
Review Comment:
assertNotEquals could have also worked, but ok
> RBF: State store cache loading metrics
> --------------------------------------
>
> Key: HDFS-16959
> URL: https://issues.apache.org/jira/browse/HDFS-16959
> Project: Hadoop HDFS
> Issue Type: Improvement
> Reporter: Viraj Jasani
> Assignee: Viraj Jasani
> Priority: Major
> Labels: pull-request-available
>
> With increasing num of state store records (like mount points), it would be
> good to be able to get the cache loading metrics like avg time for cache load
> during refresh, num of times cache is loaded etc.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]