fio-plot icon indicating copy to clipboard operation
fio-plot copied to clipboard

Fio-plot only allows specific metrics to be plotted - users can't select the metrics they want to plot

Open louwrentius opened this issue 3 years ago • 6 comments

Fio-plot can deal with:

  • Bandwidth
  • IOPs
  • Latency
  • Histogram

If you want to plot any other data found inside the JSON file, that's currently not possible.

Why is this?

  • Fio-plot is maybe my second Python application ever written and also by far the largest one
  • Only the above data/fields are statically mapped from the JSON file into a flat dictionary for further graphing
  • The graphs are all hard-coded and are only aware of (some of) the above metrics.

The desired state would be that the user selects the metrics they want from the JSON to be graphed and fio-plot just 'deals with it'.

There are a few challenges:

  1. This does mean that the application should be able to understand the unit type of the metric.
  2. Some metrics consists of lists or internal dictionaries that needs to be understood/parsed.

Please note that I'm not a professional developer by any means and this would be a significant undertaking. It would probably mean very significant rework of a lot of components. It must be understood that there is therefore no timeline for this improvement.

louwrentius avatar Feb 06 '22 19:02 louwrentius

This issue is related to issue #67 where this limitation is mentioned.

louwrentius avatar Feb 06 '22 19:02 louwrentius

feedback or ideas on how to deal with this are much appreciated

louwrentius avatar Feb 09 '22 22:02 louwrentius

I believe there should be a significant investment in changing the way graphs are specified. IMO the current CLI-based way to interact with fio-plot is cumbersome as it is, and it would become even more unwieldy if users were to be able to specify their own graphs. Should #34 be reconsidered for both bench_fio and fio_plot?

jsrolon avatar Feb 20 '22 19:02 jsrolon

@jsrolon yes I can see that. I would not remove the CLI option (personal preference) but a configuration file makes sense. In that case I think the same format as FIO uses (ini) is good enough, but other ideas are welcome.

louwrentius avatar Feb 20 '22 22:02 louwrentius

I believe there should be a significant investment in changing the way graphs are specified. IMO the current CLI-based way to interact with fio-plot is cumbersome as it is, and it would become even more unwieldy if users were to be able to specify their own graphs. Should #34 be reconsidered for both bench_fio and fio_plot?

@jsrolon

In the latest release I've added support for INI configuration file for bench-fio only. I hope to re-use some of this for fio-plot at some point. So #34 is not addressed yet but it's one step closer.

louwrentius avatar Jul 18 '22 21:07 louwrentius

@jsrolon In the latest release I've also added support for INI configuration for fio-plot so #34 is now addressed.

louwrentius avatar Jul 22 '22 23:07 louwrentius