Recording filesystem activity?

The more disk benchmarking I try to do, the more I want to more accurately simulate the actual workloads running in my system. I’m looking for a way that I can collect data about ZFS filesystem usage over a period of time to then craft fio benchmarks closer to what actually happens in the system.

I don’t need to get overly scientific - for the output I’m looking for something like:

  • % mix of reads vs writes
  • block size the application tried to write
  • average queue depth (how ‘busy’ the system is)

Ideally I’d let this run for a few days to collect a sufficient sample.

Does something like this exist?