path: root/thread_options.h
diff options
authorDennis Zhou <>2018-09-20 14:08:08 -0400
committerJens Axboe <>2018-09-20 13:07:37 -0600
commitb9921d1a56d9a6576dcf6c276b380a2a29a112be (patch)
tree7984dfb84f958e941175965a392df3a49b7f656f /thread_options.h
parent532eda7ed384fff8ebfde90fc50f94618d6a5fb6 (diff)
blktrace: add support to interleave blktrace files
Running concurrent workloads via multiple jobs can lead to nondeterministic results as we are at the scheduler's mercy. While the actual performance of the workload may vary regardless, this makes the order of events consistent. This patch introduces two flags: --merge_blktrace_file=<file> and --merge-blktrace-only. When the first is specified, files that are ':' separated in --read_iolog are passed to a merge function wich then produces a single sorted trace file. This file is then passed on in place of the sorted list or fio exists if --merge-blktrace-only is specified. During merging, events are filtered based on what fio cares about and the pdu is discarded as well. Signed-off-by: Dennis Zhou <> Signed-off-by: Jens Axboe <>
Diffstat (limited to 'thread_options.h')
1 files changed, 2 insertions, 0 deletions
diff --git a/thread_options.h b/thread_options.h
index 39315834..8b06f55a 100644
--- a/thread_options.h
+++ b/thread_options.h
@@ -258,6 +258,7 @@ struct thread_options {
char *read_iolog_file;
bool read_iolog_chunked;
char *write_iolog_file;
+ char *merge_blktrace_file;
unsigned int write_bw_log;
unsigned int write_lat_log;
@@ -540,6 +541,7 @@ struct thread_options_pack {
uint8_t read_iolog_file[FIO_TOP_STR_MAX];
uint8_t write_iolog_file[FIO_TOP_STR_MAX];
+ uint8_t merge_blktrace_file[FIO_TOP_STR_MAX];
uint32_t write_bw_log;
uint32_t write_lat_log;