Summary
It would be useful to have a tool for helping engineers to visualize and understand I/O traces from WiredTiger, at both file level and at the device level, so that we can better understand and optimize its I/O patterns.
Capturing traces
We can already capture I/O traces both at the file level and at the device level as follows.
At the file level, we can enable DEBUG_2 level logging for WT_VERB_READ and WT_VERB_WRITE, e.g., by running the following before the workload:
export WIREDTIGER_CONFIG="verbose=[read:2,write:2]"
To capture traces at the device level, we can use utility such as blktrace.
Using the traces
The generated traces are very large, so we need a program that can efficiently process and visualize them.