[ 
https://issues.apache.org/jira/browse/HDFS-16971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17711137#comment-17711137
 ] 

ASF GitHub Bot commented on HDFS-16971:
---------------------------------------

goiri commented on code in PR #5536:
URL: https://github.com/apache/hadoop/pull/5536#discussion_r1163407205


##########
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java:
##########
@@ -4252,6 +4259,14 @@ public void incrementBytesReadByDistance(int distance, 
long newBytes) {
       }
     }
 
+    /**
+     * Increment the time taken to read bytes from remote in the statistics.
+     * @param duration time taken in ms to read bytes from remote
+     */
+    public void increaseRemoteBytesReadTime(long duration) {

Review Comment:
   `final long durationMs`



##########
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java:
##########
@@ -3090,10 +3090,14 @@ public Peer newConnectedPeer(InetSocketAddress addr,
     }
   }
 
-  void updateFileSystemReadStats(int distance, int nRead) {
+  void updateFileSystemReadStats(int distance, int nRead, long readTimeMS) {

Review Comment:
   As we are at it, `readBytes`?



##########
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/StripeReader.java:
##########
@@ -351,9 +351,12 @@ void readStripe() throws IOException {
     // first read failure
     while (!futures.isEmpty()) {
       try {
+        long beginRead = Time.monotonicNow();

Review Comment:
   `beginReadMs`?



##########
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java:
##########
@@ -3942,6 +3942,7 @@ public static class StatisticsData {
       private volatile long bytesReadDistanceOfThreeOrFour;
       private volatile long bytesReadDistanceOfFiveOrLarger;
       private volatile long bytesReadErasureCoded;
+      private volatile long remoteBytesReadTimeMS;

Review Comment:
   I'm not sure "Bytes" makes sense in the name.
   `remoteReadTimeMS`?
   



##########
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileSystemStorageStatistics.java:
##########
@@ -74,6 +75,7 @@ public void setup() {
     statistics.incrementBytesReadByDistance(1, RandomUtils.nextInt(0, 100));
     statistics.incrementBytesReadByDistance(3, RandomUtils.nextInt(0, 100));
     statistics.incrementBytesReadErasureCoded(RandomUtils.nextInt(0, 100));
+    statistics.increaseRemoteBytesReadTime(RandomUtils.nextInt(0, 100));

Review Comment:
   Can we assert something?





> Add read time metrics for remote reads in Statistics
> ----------------------------------------------------
>
>                 Key: HDFS-16971
>                 URL: https://issues.apache.org/jira/browse/HDFS-16971
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: hdfs
>            Reporter: Melissa You
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 3.3.0, 3.4.0
>
>
> In Filesystem.java, currently it only collects bytes read not the 
> corresponding timing of reads.
> In particular, we're interested in time spent on remote reads(not local 
> reads). Adding timing info will help us understand it better and further 
> analyze how locality of DN behaves. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to