From 07bb8bb4d5138b6e92ffd454f8d4915cef708cc9 Mon Sep 17 00:00:00 2001
From: Tyler Coleman <tyler@planetscale.com>
Date: Mon, 29 Jan 2024 15:25:09 -0800
Subject: [PATCH] Record `WaitingForConnection` stat for `StreamConn`

Apply the same logic as `getConn`, i.e., record the stat even in error
paths (for `getStreamConn`).

Signed-off-by: Tyler Coleman <tyler@planetscale.com>
---
 go/vt/vttablet/tabletserver/query_executor.go | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/go/vt/vttablet/tabletserver/query_executor.go b/go/vt/vttablet/tabletserver/query_executor.go
index 820df00e26c..c6a52ba300b 100644
--- a/go/vt/vttablet/tabletserver/query_executor.go
+++ b/go/vt/vttablet/tabletserver/query_executor.go
@@ -795,9 +795,11 @@ func (qre *QueryExecutor) getStreamConn() (*connpool.PooledConn, error) {
 
 	start := time.Now()
 	conn, err := qre.tsv.qe.streamConns.Get(ctx, qre.setting)
+
+	qre.logStats.WaitingForConnection += time.Since(start)
+
 	switch err {
 	case nil:
-		qre.logStats.WaitingForConnection += time.Since(start)
 		return conn, nil
 	case connpool.ErrConnPoolClosed:
 		return nil, err