[
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.