In the sgml, second should be plural in 'intead of the number of second
since the'. And 'intead' should be 'instead'.
Ok.
--progress-timestamp use a Unix-like epoch timestamp for progress
reporting
but that is getting pretty long.
Indeed. I've done:
--progress-timestamp use Unix epoch timestamps in ms for progress
Here is a v2.
--
Fabien.
diff --git a/doc/src/sgml/ref/pgbench.sgml b/doc/src/sgml/ref/pgbench.sgml
index 2517a3a..dabb1ae 100644
--- a/doc/src/sgml/ref/pgbench.sgml
+++ b/doc/src/sgml/ref/pgbench.sgml
@@ -429,6 +429,18 @@ pgbench <optional> <replaceable>options</> </optional> <replaceable>dbname</>
</varlistentry>
<varlistentry>
+ <term><option>--progress-timestamp</option></term>
+ <listitem>
+ <para>
+ When showing progress (option <option>-P</>), use a millisecond
+ timestamp (Unix epoch) instead of the number of seconds since the
+ beginning of the run.
+ This helps compare logs generated by various tools.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>-r</option></term>
<term><option>--report-latencies</option></term>
<listitem>
diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c
index 30e8d2a..f750f62 100644
--- a/src/bin/pgbench/pgbench.c
+++ b/src/bin/pgbench/pgbench.c
@@ -165,6 +165,7 @@ bool use_quiet; /* quiet logging onto stderr */
int agg_interval; /* log aggregates instead of individual
* transactions */
int progress = 0; /* thread progress report every this seconds */
+bool progress_timestamp = false;
int progress_nclients = 0; /* number of clients for progress
* report */
int progress_nthreads = 0; /* number of threads for progress
@@ -389,6 +390,7 @@ usage(void)
" -v, --vacuum-all vacuum all four standard tables before tests\n"
" --aggregate-interval=NUM aggregate data over NUM seconds\n"
" --sampling-rate=NUM fraction of transactions to log (e.g. 0.01 for 1%%)\n"
+ " --progress-timestamp use Unix epoch timestamps in ms for progress\n"
"\nCommon options:\n"
" -d, --debug print debugging output\n"
" -h, --host=HOSTNAME database server host or socket directory\n"
@@ -2774,6 +2776,7 @@ main(int argc, char **argv)
{"aggregate-interval", required_argument, NULL, 5},
{"rate", required_argument, NULL, 'R'},
{"latency-limit", required_argument, NULL, 'L'},
+ {"progress-timestamp", no_argument, NULL, 6},
{NULL, 0, NULL, 0}
};
@@ -3110,6 +3113,10 @@ main(int argc, char **argv)
}
#endif
break;
+ case 6:
+ progress_timestamp = true;
+ benchmarking_option_set = true;
+ break;
default:
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);
exit(1);
@@ -3748,6 +3755,7 @@ threadRun(void *arg)
sqlat,
lag,
stdev;
+ char tbuf[64];
/*
* Add up the statistics of all threads.
@@ -3780,10 +3788,16 @@ threadRun(void *arg)
stdev = 0.001 * sqrt(sqlat - 1000000.0 * latency * latency);
lag = 0.001 * (lags - last_lags) / (count - last_count);
+ if (progress_timestamp)
+ sprintf(tbuf, "%.03f s",
+ INSTR_TIME_GET_MILLISEC(now_time) / 1000.0);
+ else
+ sprintf(tbuf, "%.1f s", total_run);
+
fprintf(stderr,
- "progress: %.1f s, %.1f tps, "
- "lat %.3f ms stddev %.3f",
- total_run, tps, latency, stdev);
+ "progress: %s, %.1f tps, lat %.3f ms stddev %.3f",
+ tbuf, tps, latency, stdev);
+
if (throttle_delay)
{
fprintf(stderr, ", lag %.3f ms", lag);
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers