All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dennis Jacobfeuerborn <dennisml@conversis.de>
To: Erwan Velu <erwan@enovance.com>
Cc: "fio@vger.kernel.org" <fio@vger.kernel.org>,
	Jens Axboe <axboe@kernel.dk>
Subject: Re: 2.1.2 released
Date: Wed, 07 Aug 2013 13:14:03 +0200	[thread overview]
Message-ID: <52022BFB.2070100@conversis.de> (raw)
In-Reply-To: <52020BFD.3080504@enovance.com>

[-- Attachment #1: Type: text/plain, Size: 4243 bytes --]

On 07.08.2013 10:57, Erwan Velu wrote:
> On 06/08/2013 23:59, Dennis Jacobfeuerborn wrote:
>> [..]
>> How does the fio2gnuplot tool work? There is no man page or example
>> invocation that explains how to generate the plots. I tried
>> "fio2gnuplot --iops" but that only dumps the usage options without any
>> hint of what is wrong with that call.
> Dear Dennis,
>
> I'm sorry the inline help of fio2gnuplot isn't sufficient yet to get
> understood easily, I'll work on fixing this.
>
> Anyway, here come how it works :
>
> While running fio jobs, you are producing a set of log files located in
> a directory. When considering a good amount of logs, logs file are
> usually having different filename to remember what log match a
> particular run. i.e genfio does works this way ;o)
>
> Then, when you want to plot some fio's output, you have to call
> fio2gnuplot with a 'pattern' (-p) option.
> The pattern is a kind of regexp that allow you to choose what file you
> want to plot. Mostly, I do use the '*' for this purpose.
>
> Let's say you have four files named like :
> host1-read-4k_iops.log
> host2-read-4k_iops.log
> host3-read-4k_iops.log
> host1-write-4k_iops.log
>
> If you want to plot all the traces related to the reading you'll do :
> fio2gnuplot -p 'host*-read-4k_iops.log'
>
> Note the single quote to avoid the shell interpreting the star (*), it's
> up to fio2gnuplot to handle this.
>
> Then, if you want to generate the rendering, you can use the '-g' flag
> to request the plotting (maybe this could be a default option).
>
> Then, you can choose in which dir you want plot all this stuff, let's
> use the '-d' option. fio2gnuplot generates a _lot_ of traces, so that's
> a recommanded option.
>
> So a typical cmdline would be :
>
> fio2gnuplot -p 'host*-read-4k_iops.log' -g -d read-4k
>
> About the --iops output you choose, it's just a predefined pattern that
> match all the "iops" files from the current directory. In fact, I didn't
> used them a lot .... a you spotted two nice bugs I shoudn't have commit.
>
> First, it does print the help while the cmdline wasn't correct. It
> should have told you something was wrong on the cmdline.
>
> Then, the --iops wasn't properly managed and as a result didn't got
> supported... .What a shame... Please make a try with '-i' on this
> version of the tool.
>
> To fix this two bugs, I've been pushing two fixes in my dev tree that
> I'll ask to merge a little bit later.
> If you want to test them, that's available here :
> https://github.com/enovance/fio/commits/erwan/next
>
> I do agree that I should had a man page and much more example.
> Thanks for testing my work & reporting.

Thanks for providing the script. I'm currently looking at using fio to 
create a few baseline test to get a quick glimpse of how fast a given 
system can do certain I/O patterns and being able to graph this would 
make it easier to compare the results.

I tested the version from the erwan/next branch and the --iops option 
works now and if I don't provide it I get a proper error. Although when 
I provide a nonsense option like "--fnsofno" I get the error "Error: One 
of the option passed to the cmdline was supported". That is probably 
supposed to say "was not supported".

The graphing seems to have issues too. I attached a job file and the 
graphs generated using "./fio2gnuplot.py -d t -g -i". As you can see in 
the compare-2Draw graph I get multiple lines for the test4k and test8k 
jobs but not for the test16k job and in the compare-2Dtrend graph I get 
strange loops for the same two out of three jobs. The 3D graph looks 
strange too and shows "disks" which doesn't really apply in this 
particular case.

Lastly the tool does output a lot of things by default which are 
probably not useful to 99.9% of the people out there. I think the 
default should be to only output the 2Draw and the 3D graph and delete 
the data files (mygraph, mymath, etc.) and allow the user to keep these 
files and create the additional graphs using command line options.
In fact in the case of multiple input files it would probably be best to 
only end up with the compate-2Draw graph as the graphs for the 
individual jobs are pretty much redundant in that case.

Regards,
   Dennis




[-- Attachment #2: compare-result-2Draw.png --]
[-- Type: image/png, Size: 13898 bytes --]

[-- Attachment #3: compare-result-2Dtrend.png --]
[-- Type: image/png, Size: 11147 bytes --]

[-- Attachment #4: result-3D.png --]
[-- Type: image/png, Size: 14446 bytes --]

[-- Attachment #5: randread.fio --]
[-- Type: text/plain, Size: 291 bytes --]

[global]
rw=randread
direct=1
filename=/dev/sda
numjobs=1
group_reporting=1
runtime=5

[randread]
bs=4k
write_iops_log=test4k
log_avg_msec=200
stonewall

[randread2]
bs=8k
write_iops_log=test8k
log_avg_msec=200
stonewall

[randread3]
bs=16k
write_iops_log=test16k
log_avg_msec=200
stonewall

  reply	other threads:[~2013-08-07 11:14 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-06 15:58 2.1.2 released Jens Axboe
2013-08-06 16:24 ` Erwan Velu
2013-08-06 16:25   ` Jens Axboe
2013-08-06 21:59   ` Dennis Jacobfeuerborn
2013-08-07  1:06     ` Jens Axboe
2013-08-07  8:57       ` Erwan Velu
2013-08-07  9:46         ` Martin Steigerwald
2013-08-07  9:51           ` Erwan Velu
2013-08-07 14:09       ` Erwan Velu
2013-08-07  8:57     ` Erwan Velu
2013-08-07 11:14       ` Dennis Jacobfeuerborn [this message]
2013-08-07 12:26         ` Erwan Velu
2013-08-07 16:44           ` Dennis Jacobfeuerborn
2013-08-07 18:27             ` Erwan Velu

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=52022BFB.2070100@conversis.de \
    --to=dennisml@conversis.de \
    --cc=axboe@kernel.dk \
    --cc=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.