fio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Erwan Velu <e.velu@criteo.com>
To: fio@vger.kernel.org
Subject: Adding a tool generates graphviz graphs of any fio job file.
Date: Mon, 28 Jun 2021 12:07:31 +0200	[thread overview]
Message-ID: <d1c50776-3c20-eae3-6f91-d82aed793d67@criteo.com> (raw)

Hi folks,

I've been pushing a PR to introduce a tool that is able to render a fio 
script file as a graphviz graph.

That's  first release, it works pretty well, feedback welcome.

If you want to see a sample output : 
https://raw.githubusercontent.com/axboe/fio/d61215e076fe3b51c0ed92dd985101b84bbcd757/examples/e4defrag2.png

https://github.com/axboe/fio/pull/1240

|----- Reading a fio file can be sometimes tricky when : - you have lots 
of jobs - jobs override some options - jobs have dependencies 
Understanding which jobs are running at the same time, which one waits 
for which is sometimes difficult and could easily lead to mistakes. It's 
pretty common to find jobs where people think jobs are sequential while 
some run in parallel. For ease the understanding of the scheduling and 
what's the configuration status (local + global variables), this tool 
will use some graphical helpers to enlighten things. The configuration 
file can be used to adjust the rendering but by default : - jobs are 
defined in a blue rounded box - jobs running at the same time are inside 
the same gray background - time & size variables are shown as a self 
arrow - dependencies between jobs are shown by up->down black arrows - 
specific engines options are written in blue (top of the job box) - 
standard options are printed in green (bottom of the job box) - pre/post 
actions are printed in red (head/tail of the job box) - numjobs is 
replaced by a 'x' multiplicator on the job name Several output formats 
can be defined via --format : list can be found here 
https://graphviz.org/docs/outputs/ if --view option is used, the 
rendered file will be immediately shown. if --keep is used, the grapvhiz 
file will be kept. This commit also adds the rendering of the examples 
jobs. If a newcomer gets into the repository, they can immediately 
better understand what the jobs do.|


Erwan,



                 reply	other threads:[~2021-06-28 10:10 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=d1c50776-3c20-eae3-6f91-d82aed793d67@criteo.com \
    --to=e.velu@criteo.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;
as well as URLs for NNTP newsgroup(s).