diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c index 6f5bd994a09df8922bcbf3b45d9bb3c34eba426d..2e55c906b620ca6021ea350ca151a555bb0156fd 100644 --- a/src/bin/pgbench/pgbench.c +++ b/src/bin/pgbench/pgbench.c @@ -3447,8 +3447,8 @@ main(int argc, char **argv) /* thread level stats */ throttle_lag += thread->throttle_lag; - throttle_latency_skipped = threads->throttle_latency_skipped; - latency_late = thread->latency_late; + throttle_latency_skipped += threads->throttle_latency_skipped; + latency_late += thread->latency_late; if (throttle_lag_max > thread->throttle_lag_max) throttle_lag_max = thread->throttle_lag_max; INSTR_TIME_ADD(conn_total_time, thread->conn_time); @@ -3759,7 +3759,10 @@ threadRun(void *arg) } for (i = 0; i < progress_nthreads; i++) + { + skipped += thread[i].throttle_latency_skipped; lags += thread[i].throttle_lag; + } total_run = (now - thread_start) / 1000000.0; tps = 1000000.0 * (count - last_count) / run; @@ -3767,7 +3770,6 @@ threadRun(void *arg) sqlat = 1.0 * (sqlats - last_sqlats) / (count - last_count); stdev = 0.001 * sqrt(sqlat - 1000000.0 * latency * latency); lag = 0.001 * (lags - last_lags) / (count - last_count); - skipped = thread->throttle_latency_skipped - last_skipped; fprintf(stderr, "progress: %.1f s, %.1f tps, " @@ -3777,7 +3779,8 @@ threadRun(void *arg) { fprintf(stderr, ", lag %.3f ms", lag); if (latency_limit) - fprintf(stderr, ", " INT64_FORMAT " skipped", skipped); + fprintf(stderr, ", " INT64_FORMAT " skipped", + skipped - last_skipped); } fprintf(stderr, "\n"); @@ -3786,7 +3789,7 @@ threadRun(void *arg) last_sqlats = sqlats; last_lags = lags; last_report = now; - last_skipped = thread->throttle_latency_skipped; + last_skipped = skipped; /* * Ensure that the next report is in the future, in case