In workgen.cxx, read/insert/update operation latencies are compared to thresholds defined by max_latency. However, only the read latencies are retrieved. Finally, the unit of max_latency is in ms while the read/insert/update are in us.
Suggested fix:
diff --git a/bench/workgen/workgen.cxx b/bench/workgen/workgen.cxx
index cc2c93d3f..118cc1902 100644
--- a/bench/workgen/workgen.cxx
+++ b/bench/workgen/workgen.cxx
@@ -415,7 +415,7 @@ int Monitor::run() {
char time_buf[64], version[100];
Stats prev_totals;
WorkloadOptions *options = &_wrunner._workload->options;
- uint64_t latency_max = (uint64_t)options->max_latency;
+ uint64_t latency_max = (uint64_t)options->max_latency * THOUSAND;
size_t buf_size;
bool first;
@@ -548,8 +548,8 @@ int Monitor::run() {
}
uint64_t read_max = interval.read.max_latency;
- uint64_t insert_max = interval.read.max_latency;
- uint64_t update_max = interval.read.max_latency;
+ uint64_t insert_max = interval.insert.max_latency;
+ uint64_t update_max = interval.update.max_latency;