From 000e12f6fa114dfa45377df23acf552e66410838 Mon Sep 17 00:00:00 2001 From: Haohui Mai Date: Sun, 22 Nov 2015 16:18:07 -0800 Subject: [PATCH] HDFS-9153. Pretty-format the output for DFSIO. Contributed by Kai Zheng. --- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 2 ++ .../java/org/apache/hadoop/fs/TestDFSIO.java | 23 +++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 41f5e7c5d6..d37aba7d65 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -1668,6 +1668,8 @@ Release 2.8.0 - UNRELEASED HDFS-9402. Switch DataNode.LOG to use slf4j. (Walter Su via wheat9) + HDFS-9153. Pretty-format the output for DFSIO. (Kai Zheng via wheat9) + OPTIMIZATIONS HDFS-8026. Trace FSOutputSummer#writeChecksumChunks rather than diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/TestDFSIO.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/TestDFSIO.java index aff117e4c0..b1595e8146 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/TestDFSIO.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/fs/TestDFSIO.java @@ -28,6 +28,7 @@ import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintStream; +import java.text.DecimalFormat; import java.util.Date; import java.util.Random; import java.util.StringTokenizer; @@ -901,19 +902,21 @@ else if (attr.endsWith(":sqrate")) if(in != null) in.close(); if(lines != null) lines.close(); } - + double med = rate / 1000 / tasks; double stdDev = Math.sqrt(Math.abs(sqrate / 1000 / tasks - med*med)); + DecimalFormat df = new DecimalFormat("#.##"); String resultLines[] = { - "----- TestDFSIO ----- : " + testType, - " Date & time: " + new Date(System.currentTimeMillis()), - " Number of files: " + tasks, - "Total MBytes processed: " + toMB(size), - " Throughput mb/sec: " + size * 1000.0 / (time * MEGA), - "Average IO rate mb/sec: " + med, - " IO rate std deviation: " + stdDev, - " Test exec time sec: " + (float)execTime / 1000, - "" }; + "----- TestDFSIO ----- : " + testType, + " Date & time: " + new Date(System.currentTimeMillis()), + " Number of files: " + tasks, + " Total MBytes processed: " + df.format(toMB(size)), + " Throughput mb/sec: " + df.format(size * 1000.0 / (time * MEGA)), + "Total Throughput mb/sec: " + df.format(toMB(size) / ((float)execTime)), + " Average IO rate mb/sec: " + df.format(med), + " IO rate std deviation: " + df.format(stdDev), + " Test exec time sec: " + df.format((float)execTime / 1000), + "" }; PrintStream res = null; try {