wenlong88 commented on a change in pull request #11564: [FLINK-16864][metrics] 
Add IdleTime metric for task.
URL: https://github.com/apache/flink/pull/11564#discussion_r401327542
 
 

 ##########
 File path: 
flink-runtime/src/main/java/org/apache/flink/runtime/io/network/api/writer/RecordWriter.java
 ##########
 @@ -276,6 +281,21 @@ protected void checkErroneous() throws IOException {
                }
        }
 
+       protected void addBufferConsumer(BufferConsumer consumer, int 
targetChannel) throws IOException {
+               targetPartition.addBufferConsumer(consumer, targetChannel);
+       }
+
+       protected BufferBuilder getBufferBuilder() throws IOException, 
InterruptedException {
+               BufferBuilder builder;
+               if (!targetPartition.isApproximatelyAvailable()) {
+                       long start = System.currentTimeMillis();
+                       builder = targetPartition.getBufferBuilder();
+                       
idleTimeMsPerSecond.markEvent(System.currentTimeMillis() - start);
+               } else {
+                       builder = targetPartition.getBufferBuilder();
+               }
+               return builder;
+       }
 
 Review comment:
   `NetworkBufferPool#redistributeBuffers` reduce the buffer available only 
when new task deployed right? I think it can be ignored, because we use meter 
to measure average idle time which use a time window by default 60s and 
redistributeBuffers happens in very low frequence.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to