Flexible I/O Tester development
 help / color / mirror / Atom feed
From: Erwan Velu <erwan@enovance.com>
To: fio@vger.kernel.org
Subject: Re: [Pull-Request] : Updating genfio & fio2gnuplot
Date: Mon, 22 Jul 2013 09:28:24 +0200	[thread overview]
Message-ID: <51ECDF18.5000607@enovance.com> (raw)
In-Reply-To: <51EBB199.80505@enovance.com>

I'm sorry, the former request was malformed :/
Exactly the same content, but branches are now at the right place.
Sorry for the noise.

Erwan,


The following changes since commit 4a93dec2a85f4a979421638fde2877268c470ab1:

   net: close socket on error (2013-07-20 20:41:23 -0600)

are available in the git repository at:

   git@github.com:enovance/fio.git tools

for you to fetch changes up to be34415aad27dc416fcd9eff076fb97cc78ebd9f:

   fio2gnuplot: Fixing Yaxis rendering for 2D plots (2013-07-21 11:58:49 
+0200)

----------------------------------------------------------------
Erwan Velu (7):
       genfio: Splitting gen_template in 2 parts
       genfio: Adding exec_{pre|post}run support
       genfio: Don't use cat EOF for small prints
       genfio: Use dynamic default values in help
       tools: Adding gitignore
       genfio: Protecting parse_cmdline from spaces
       fio2gnuplot: Fixing Yaxis rendering for 2D plots

  tools/.gitignore       |  1 +
  tools/genfio           | 51 
+++++++++++++++++++++++++++++----------------------
  tools/plot/graph2D.gpm |  2 +-
  3 files changed, 31 insertions(+), 23 deletions(-)
  create mode 100644 tools/.gitignore

diff --git a/tools/.gitignore b/tools/.gitignore
new file mode 100644
index 0000000..b25c15b
--- /dev/null
+++ b/tools/.gitignore
@@ -0,0 +1 @@
+*~
diff --git a/tools/genfio b/tools/genfio
index 6d3220d..bbf8833 100755
--- a/tools/genfio
+++ b/tools/genfio
@@ -50,21 +50,23 @@ show_help() {
                      one test after anoter but all disks at the same time
                      Enabled by default
  -D iodepth            : Run with the specified iodepth
-                    Default is 32
+                    Default is $IODEPTH
  -d disk1[,disk2,disk3,..]    : Run the tests on the selected disks
                      Separated each disk with a comma
                      Disk name shall be "sdxx", /dev/ shall NOT be used 
here
  -r seconds            : Time in seconds per benchmark
                      0 means till the end of the device
-                    Default is 300 seconds
+                    Default is $RUNTIME seconds
  -b blocksize[,blocksize1, ...]  : The blocksizes to test under fio 
format (4k, 1m, ...)
                      Separated each blocksize with a comma
-                    Default is 4k
+                    Default is $BLOCK_SIZE
  -m mode1,[mode2,mode3, ...]     : Define the fio IO profile to use 
like read, write, randread, randwrite
-                    Default is "write,randwrite,read,randread"
+                    Default is "$MODES"
  -x prefix            : Add a prefix to the fio filename
                      Useful to let a context associated with the file
                      If the prefix features a / (slash), prefix will be 
considered as a directory
+-A cmd_to_run            : System command to run after each job 
(exec_postrun in fio)
+-B cmd_to_run            : System command to run before each job 
(exec_prerun in fio)

  Example:

@@ -89,28 +91,26 @@ Estimated Time = 6000 seconds : 1 hour 40 minutes
  EOF
  }

-gen_template() {
-cat >$TEMPLATE << EOF
-[global]
-ioengine=libaio
-iodepth=$IODEPTH
-invalidate=1
-ramp_time=5
-EOF
+finish_template() {
+echo "iodepth=$IODEPTH" >> $TEMPLATE

  if [ "$RUNTIME" != "0" ]; then
-cat >>$TEMPLATE << EOF
-runtime=$RUNTIME
-time_based
-EOF
+    echo "runtime=$RUNTIME" >> $TEMPLATE
+    echo "time_based" >> $TEMPLATE
  fi

  if [ "$CACHED_IO" = "FALSE" ]; then
-cat >>$TEMPLATE << EOF
-direct=1
-EOF
+    echo "direct=1" >> $TEMPLATE
  fi
+}

+gen_template() {
+cat >$TEMPLATE << EOF
+[global]
+ioengine=libaio
+invalidate=1
+ramp_time=5
+EOF
  }

  gen_seq_suite() {
@@ -185,7 +185,7 @@ esac
  }

  parse_cmdline() {
-while getopts "hacpsd:b:r:m:x:D:" opt; do
+while getopts "hacpsd:b:r:m:x:D:A:B:" opt; do
    case $opt in
      h)
      show_help
@@ -235,6 +235,12 @@ while getopts "hacpsd:b:r:m:x:D:" opt; do
      a)
      SEQ=2
        ;;
+    B)
+    echo "exec_prerun=$OPTARG" >> $TEMPLATE
+      ;;
+    A)
+    echo "exec_postrun=$OPTARG" >> $TEMPLATE
+      ;;
      \?)
        echo "Invalid option: -$OPTARG" >&2
        ;;
@@ -303,9 +309,10 @@ done


  ########## MAIN
-parse_cmdline $@
-check_mode_order
  gen_template
+parse_cmdline "$@"
+finish_template
+check_mode_order

  echo "Generating $OUTFILE"
  cp -f $TEMPLATE $OUTFILE
diff --git a/tools/plot/graph2D.gpm b/tools/plot/graph2D.gpm
index 2d0d30a..efc7ac2 100644
--- a/tools/plot/graph2D.gpm
+++ b/tools/plot/graph2D.gpm
@@ -8,7 +8,7 @@ set output '$3.png'

  #Preparing Axes
  #set logscale x
-set ytics axis out
+set ytics axis out auto
  #set data style lines
  set key top left reverse
  set xlabel "Time (Seconds)"

      reply	other threads:[~2013-07-22  7:28 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-21 10:02 [Pull-Request] : Updating genfio & fio2gnuplot Erwan Velu
2013-07-22  7:28 ` Erwan Velu [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51ECDF18.5000607@enovance.com \
    --to=erwan@enovance.com \
    --cc=fio@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox