[ 
https://issues.apache.org/jira/browse/HADOOP-5625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12695949#action_12695949
 ] 

Chris Douglas commented on HADOOP-5625:
---------------------------------------

This will be useful. A couple nits:
* {{System.currentTimeMillis}} can be fairly expensive; would it make sense to 
guard the call with {{ClientTraceLog.isInfoEnabled}}? It should also be final, 
as in {code}final long starttime = ClientTraceLog.isInfoEnabled() ? 
System.currentTimeMillis() : 0;{code}
* Similarly, endtime should be final and assigned right after the operation 
completes. In BlockReceiver, it's not obvious to me whether it should follow 
the set of synchronized calls into the datanode that precede it (as in the 
current patch) or if the time of the transfer is more accurately recorded 
before those calls. If this will be used to calculate network metrics, then the 
latter should be preferred.
* This should also add an entry for duration to the shuffle metrics in the TT 
clientrace log, in TaskTracker.MapOutputServlet

> Add I/O duration time in client trace 
> --------------------------------------
>
>                 Key: HADOOP-5625
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5625
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: dfs
>    Affects Versions: 0.19.1
>            Reporter: Lei Xu
>            Assignee: Lei Xu
>            Priority: Minor
>             Fix For: 0.21.0
>
>         Attachments: duration.patch
>
>
> Add I/O duration information into client trace log for analyzing performance.
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to