No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Latest commit e7bd593 Aug 13, 2018


This tool is a realtime data visualisation tool for FIO written using PyQtGraph.


This application is written in Python, using PyQtGraph to graph FIO data in realtime. Running as root is required because this application accesses block devices.

Package Content

    • This readme file
  • LICENSE.txt
    • License file
    • The frontend for this application
    • The backend for this application
  • mainwindow.ui
    • GUI definition part of the script
  • Workloads:
    • Device
      • Block device workloads covering typical specifications, separated in SATA and NVMe sections
    • Precondition
      • instruction and script files to prepare SSD for the testing.
    • Simulation
      • Workloads to simulate real applications.
    • MultiDevice
      • Workloads to test two or more drives at a time. Currently has limitted support due to improper handling of total performance in the script.



  • FIO 2.15 or newer (2.1.x is no longer supported) found here
  • PyQtGraph found here
  • Python 2.7 or 3+ here
  • PyQt 4.8+ or PySide
  • numpy
  • scipy

CentOS 7 steps

  1. You should have python and PyQt installed with this distro

  2. Install pyqtgraph-develop (0.9.9 required) from here

    • $ python install
  3. Install Cyphon from here Version 0.21 or higher is required.

    • $ python install
  4. Install Numpy from here

    • $ python build
    • $ python install
  5. Install FIO from here

    • # ./configure
    • # make
    • # make install
  6. Run Visualizer as root.

    • # ./

Ubuntu steps

  1. Add the following repository deb dev/ into your /etc/apt/sources.list and then run $ sudo apt-get install fio python-pyqtgraph

  2. Install FIO from here

    • # ./configure
    • # make
    • # make install
  3. Run Visualizer as root.

    • # ./


  1. Increased CPU load with numjobs > 4 and all threads plotting. Avoid plotting all threads with numjobs > 4 or disable unneccessary ones to save CPU resources.
  2. Multi-jobs configurations files (i.e. [job1]... [job2]) are not supported at the moment. The total amount of jobs if every workload has "numjobs" specified too are not correctly parsed. This can still be implemented manually specifing it in the code.


Continue working on workload profiles for new Intel SSDs.