On Wed, 30 Jun 2021 14:35:37 +0900
Yugo NAGATA <nag...@sraoss.co.jp> wrote:

> Hello Asif,
> 
> On Tue, 29 Jun 2021 13:21:54 +0000
> Asif Rehman <asifr.reh...@gmail.com> wrote:
> 
> > The following review has been posted through the commitfest application:
> > make installcheck-world:  tested, passed
> > Implements feature:       tested, passed
> > Spec compliant:           tested, passed
> > Documentation:            not tested
> > 
> > This patch looks fine to me. master 48cb244fb9
> > 
> > The new status of this patch is: Ready for Committer
> 
> Thank you for reviewing this patch!
> 
> The previous patch included fixes about connection failures, but this part
> was moved to another patch discussed in [1].
> 
> [1] 
> https://www.postgresql.org/message-id/alpine.DEB.2.22.394.2106181535400.3146194%40pseudo
> 
> I attached the updated patach.

I am sorry but I attached the other patch. Attached in this post
is the latest patch.

Regards,
Yugo Nagata


> 
> Regards,
> Yugo Nagata
> 
> -- 
> Yugo NAGATA <nag...@sraoss.co.jp>


-- 
Yugo NAGATA <nag...@sraoss.co.jp>
diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c
index 4aeccd93af..ad81cf1101 100644
--- a/src/bin/pgbench/pgbench.c
+++ b/src/bin/pgbench/pgbench.c
@@ -3539,8 +3539,12 @@ advanceConnectionState(TState *thread, CState *st, StatsData *agg)
 
 				if (is_connect)
 				{
+					pg_time_usec_t start = now;
+
+					pg_time_now_lazy(&start);
 					finishCon(st);
-					now = 0;
+					now = pg_time_now();
+					thread->conn_duration += now - start;
 				}
 
 				if ((st->cnt >= nxacts && duration <= 0) || timer_exceeded)
@@ -3564,6 +3568,7 @@ advanceConnectionState(TState *thread, CState *st, StatsData *agg)
 				 */
 			case CSTATE_ABORTED:
 			case CSTATE_FINISHED:
+				/* per-thread last disconnection time is not measured */
 				finishCon(st);
 				return;
 		}
@@ -6597,6 +6602,7 @@ threadRun(void *arg)
 
 	thread_start = pg_time_now();
 	thread->started_time = thread_start;
+	thread->conn_duration = 0;
 	last_report = thread_start;
 	next_report = last_report + (int64) 1000000 * progress;
 
@@ -6620,14 +6626,7 @@ threadRun(void *arg)
 				goto done;
 			}
 		}
-
-		/* compute connection delay */
-		thread->conn_duration = pg_time_now() - thread->started_time;
-	}
-	else
-	{
-		/* no connection delay to record */
-		thread->conn_duration = 0;
+		/* connection delay is measured globally between the barriers */
 	}
 
 	/* GO */

Reply via email to