mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-12-22 21:55:20 +00:00
test_infra: Support 'rw' and 'randrw' as FIO operations
Signed-off-by: Bo Chen <chen.bo@intel.com>
This commit is contained in:
parent
a15b641c61
commit
652aa39934
@ -1367,6 +1367,8 @@ pub enum FioOps {
|
|||||||
RandomRead,
|
RandomRead,
|
||||||
Write,
|
Write,
|
||||||
RandomWrite,
|
RandomWrite,
|
||||||
|
ReadWrite,
|
||||||
|
RandRW,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::Display for FioOps {
|
impl fmt::Display for FioOps {
|
||||||
@ -1376,6 +1378,8 @@ impl fmt::Display for FioOps {
|
|||||||
FioOps::RandomRead => write!(f, "randread"),
|
FioOps::RandomRead => write!(f, "randread"),
|
||||||
FioOps::Write => write!(f, "write"),
|
FioOps::Write => write!(f, "write"),
|
||||||
FioOps::RandomWrite => write!(f, "randwrite"),
|
FioOps::RandomWrite => write!(f, "randwrite"),
|
||||||
|
FioOps::ReadWrite => write!(f, "rw"),
|
||||||
|
FioOps::RandRW => write!(f, "randrw"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1393,9 +1397,10 @@ pub fn parse_fio_output(output: &str, fio_ops: &FioOps, num_jobs: u32) -> Result
|
|||||||
"'fio' parse error: Unexpected number of 'fio' jobs."
|
"'fio' parse error: Unexpected number of 'fio' jobs."
|
||||||
);
|
);
|
||||||
|
|
||||||
let read = match fio_ops {
|
let (read, write) = match fio_ops {
|
||||||
FioOps::Read | FioOps::RandomRead => true,
|
FioOps::Read | FioOps::RandomRead => (true, false),
|
||||||
FioOps::Write | FioOps::RandomWrite => false,
|
FioOps::Write | FioOps::RandomWrite => (false, true),
|
||||||
|
FioOps::ReadWrite | FioOps::RandRW => (true, true),
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut total_bps = 0_f64;
|
let mut total_bps = 0_f64;
|
||||||
@ -1410,7 +1415,8 @@ pub fn parse_fio_output(output: &str, fio_ops: &FioOps, num_jobs: u32) -> Result
|
|||||||
as f64
|
as f64
|
||||||
/ 1000_f64;
|
/ 1000_f64;
|
||||||
total_bps += bytes as f64 / runtime as f64;
|
total_bps += bytes as f64 / runtime as f64;
|
||||||
} else {
|
}
|
||||||
|
if write {
|
||||||
let bytes = j["write"]["io_bytes"]
|
let bytes = j["write"]["io_bytes"]
|
||||||
.as_u64()
|
.as_u64()
|
||||||
.expect("'fio' parse error: missing entry 'write.io_bytes'");
|
.expect("'fio' parse error: missing entry 'write.io_bytes'");
|
||||||
|
Loading…
Reference in New Issue
Block a user