Skip to contentSkip to conversation

new developments

DISCUSSION Jens Axboe 3 participants 8 messages Oct 3, 2011 – Oct 14, 2011

lore
Share & tools
lore

Jens Axboe

author
#0 lore raw

Hi,

Those of you tracking git developments may have noticed that I created a client-server branch and did a bit of hacking in there. It's not complete yet, but it's the start of splitting fio into a frontend/backend setup, with the two communicating over via simple protocol over tcp/ip. This enables you to run fio servers on test machines, with the frontend being run on your desktop etc.

I suspect not that many people will be interested in that particular feature, but it does open up the door for fairly easily writing new and simple frontends since you can know control fio by sending commands over even just localhost.

One thing that I think would be very cool is a gtk2 frontend. Something that allows you to simply click and select options and then run the job, with graphical representation of the ETA and final output.

If you have gtk development experience, or simply the desire to start this project for fio, then please do get in touch. Otherwise I'll start this myself, once I'm done with the basic frontend/backend funtionality.

Signature · 1 line
Jens Axboe
#1 lore raw

Am Montag, 3. Oktober 2011 schrieben Sie:

Quoted 1 line

Hi,

Hi Jens!

Quoted 7 lines

Those of you tracking git developments may have noticed that I created a client-server branch and did a bit of hacking in there. It's not complete yet, but it's the start of splitting fio into a frontend/backend setup, with the two communicating over via simple protocol over tcp/ip. This enables you to run fio servers on test machines, with the frontend being run on your desktop etc.

Nice.

Can it run with a unix socket for localhost?

Quoted 9 lines

One thing that I think would be very cool is a gtk2 frontend. Something that allows you to simply click and select options and then run the job, with graphical representation of the ETA and final output.

If you have gtk development experience, or simply the desire to start this project for fio, then please do get in touch. Otherwise I'll start this myself, once I'm done with the basic frontend/backend funtionality.

And/Or Qt ;)

Thanks,

Signature · 2 lines
Martin Steigerwald - teamix GmbH - http://www.teamix.de
gpg: 19E3 8D42 896F D004 08AC A0CA 1E10 C593 0399 AE90
author
#2 lore raw
Quoted 13 lines · Martin Steigerwald

Am Montag, 3. Oktober 2011 schrieben Sie:

Quoted 1 line

Hi,

Hi Jens!

Quoted 7 lines

Those of you tracking git developments may have noticed that I created a client-server branch and did a bit of hacking in there. It's not complete yet, but it's the start of splitting fio into a frontend/backend setup, with the two communicating over via simple protocol over tcp/ip. This enables you to run fio servers on test machines, with the frontend being run on your desktop etc.

Quoted 3 lines

Nice.

Can it run with a unix socket for localhost?

Yes it runs locally too, it doesn't really matter whether the server is remote or on the same machine.

Example, one xterm:

axboe@nelson:/home/axboe/git/fio $ ./fio -S

Another:

axboe@nelson:/home/axboe/git/fio $ ./fio --client localhost null
Probe: hostname=nelson, be=0, fio ver 1.99.0
<localhost> job: (g=0): rw=randwrite, bs=4K-32K/4K-32K, ioengine=null, iodepth=32
<localhost> Starting 1 thread
^C<localhost> [w] [25.0% done] [0K/17096M /s] [0 /1508K iops] [eta 00m:03s]
job: (groupid=0, jobs=1): err= 0: pid=24834
Description : []
write: io=139628MB, bw=18662MB/s, iops=1379.9K, runt= 7482msec

    clat (usec): min=6 , max=126 , avg=10.79, stdev= 1.85
     lat (usec): min=6 , max=127 , avg=10.86, stdev= 1.85
     bw (KB/s) : min=16609168, max=21529712, per=101.08%, avg=19316400.57, stdev=1728099.09
  cpu          : usr=99.89%, sys=0.03%, ctx=1528, majf=0, minf=3
  IO depths    : 1=0.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=100.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=0.0%, 8=0.0%, 16=100.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=0.0%, 8=0.0%, 16=100.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued r/w/d: total=0/10324399/0, short=0/0/0
     lat (usec): 10=1.51%, 20=4.73%, 50=0.01%, 100=0.01%, 250=0.01%

Run status group 0 (all jobs):
WRITE: io=139628MB, aggrb=18662MB/s, minb=19110MB/s, maxb=19110MB/s,
mint=7482msec, maxt=7482msec

Quoted 11 lines
Quoted 9 lines

One thing that I think would be very cool is a gtk2 frontend. Something that allows you to simply click and select options and then run the job, with graphical representation of the ETA and final output.

If you have gtk development experience, or simply the desire to start this project for fio, then please do get in touch. Otherwise I'll start this myself, once I'm done with the basic frontend/backend funtionality.

And/Or Qt ;)

For sure, or Qt. I think it'd be really cool for various reasons, some people find it a lot easier to visually see all the options and drop down menus as opposed to a CLI tool. Also great for demo purposes. Like iometer - it's a crap tool, but the spedometer thing really works for demo/show purposes.

Signature · 1 line
Jens Axboe
author
#3 lore raw
Quoted 10 lines · Jens Axboe
Quoted 10 lines
Quoted 9 lines

One thing that I think would be very cool is a gtk2 frontend. Something that allows you to simply click and select options and then run the job, with graphical representation of the ETA and final output.

If you have gtk development experience, or simply the desire to start this project for fio, then please do get in touch. Otherwise I'll start this myself, once I'm done with the basic frontend/backend funtionality.

Quoted 7 lines
Quoted 1 line

And/Or Qt ;)

For sure, or Qt. I think it'd be really cool for various reasons, some people find it a lot easier to visually see all the options and drop down menus as opposed to a CLI tool. Also great for demo purposes. Like iometer - it's a crap tool, but the spedometer thing really works for demo/show purposes.

Looking over the available options, pygtk looks like the best alternative. It's a local application, should run on Linux/Win/OSX and the BSDs too.

Signature · 1 line
Jens Axboe
#4 lore raw
Quoted 3 lines · Jens Axboe

Looking over the available options, pygtk looks like the best alternative. It's a local application, should run on Linux/Win/OSX and the BSDs too.

I've had bad experiences running GUI python applications on Windows, due to dependencies being wrong and/or missing, resulting in various problems, from the application hanging to randomly crashing.

Signature · 1 line
Bruce Cran
author
#5 lore raw
Quoted 10 lines · Bruce Cran
Quoted 3 lines · Jens Axboe

Looking over the available options, pygtk looks like the best alternative. It's a local application, should run on Linux/Win/OSX and the BSDs too.

I've had bad experiences running GUI python applications on Windows, due to dependencies being wrong and/or missing, resulting in various problems, from the application hanging to randomly crashing.

Any other suggestions?

Signature · 1 line
Jens Axboe
#6 lore raw
Quoted 8 lines · Jens Axboe
Quoted 7 lines · Bruce Cran
Quoted 3 lines · Jens Axboe

Looking over the available options, pygtk looks like the best alternative. It's a local application, should run on Linux/Win/OSX and the BSDs too.

Quoted 5 lines
Quoted 3 lines

I've had bad experiences running GUI python applications on Windows, due to dependencies being wrong and/or missing, resulting in various problems, from the application hanging to randomly crashing.

Any other suggestions?

I'd suggest C/C++ and Qt or Gtk.

Signature · 1 line
Bruce
author
#7 lore raw
Quoted 11 lines · Bruce Cran
Quoted 8 lines · Jens Axboe
Quoted 7 lines · Bruce Cran
Quoted 3 lines · Jens Axboe

Looking over the available options, pygtk looks like the best alternative. It's a local application, should run on Linux/Win/OSX and the BSDs too.

Quoted 7 lines
Quoted 5 lines
Quoted 3 lines

I've had bad experiences running GUI python applications on Windows, due to dependencies being wrong and/or missing, resulting in various problems, from the application hanging to randomly crashing.

Any other suggestions?

I'd suggest C/C++ and Qt or Gtk.

OK, it's probably not a bad idea to stick to a native gtk/qt thing. I'm mostly a C person, so gtk looks like the obvious choice if I'm going to be doing this.

Signature · 1 line
Jens Axboe