From fb9fdf6741604811f70b2e16b092f2536f5bd467 Mon Sep 17 00:00:00 2001
From: a <a@tuxpa.in>
Date: Mon, 17 Jun 2024 23:04:48 -0500
Subject: [PATCH] noot

---
 lib/gat/handlers/pool/pools/basic/pool.go  | 6 ++++--
 lib/gat/handlers/pool/pools/hybrid/pool.go | 6 +++---
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/lib/gat/handlers/pool/pools/basic/pool.go b/lib/gat/handlers/pool/pools/basic/pool.go
index fb60015d..d3674185 100644
--- a/lib/gat/handlers/pool/pools/basic/pool.go
+++ b/lib/gat/handlers/pool/pools/basic/pool.go
@@ -262,8 +262,10 @@ func (T *Pool) Serve(conn *fed.Conn) error {
 			{
 				start := time.Now()
 				err, serverErr = bouncers.Bounce(client.Conn, server.Conn, packet)
-				dur := time.Since(start)
-				prom.OperationSimple.Execution(opLabels).Observe(float64(dur) / float64(time.Millisecond))
+				if serverErr == nil {
+					dur := time.Since(start)
+					prom.OperationSimple.Execution(opLabels).Observe(float64(dur) / float64(time.Millisecond))
+				}
 			}
 		}
 
diff --git a/lib/gat/handlers/pool/pools/hybrid/pool.go b/lib/gat/handlers/pool/pools/hybrid/pool.go
index 8a017dab..c7827cf8 100644
--- a/lib/gat/handlers/pool/pools/hybrid/pool.go
+++ b/lib/gat/handlers/pool/pools/hybrid/pool.go
@@ -240,7 +240,7 @@ func (T *Pool) serveRW(l prom.PoolHybridLabels, conn *fed.Conn) error {
 				prom.OperationHybrid.Acquire(l.ToOperation("replica")).Observe(float64(dur) / float64(time.Millisecond))
 				start := time.Now()
 				err, serverErr = bouncers.Bounce(conn, replica.Conn, packet)
-				if serverErr != nil {
+				if serverErr == nil {
 					dur := time.Since(start)
 					prom.OperationHybrid.Execution(l.ToOperation("replica")).Observe(float64(dur) / float64(time.Millisecond))
 				}
@@ -317,7 +317,7 @@ func (T *Pool) serveRW(l prom.PoolHybridLabels, conn *fed.Conn) error {
 				prom.OperationHybrid.Acquire(l.ToOperation("primary")).Observe(float64(dur) / float64(time.Millisecond))
 				start := time.Now()
 				err, serverErr = bouncers.Bounce(conn, primary.Conn, packet)
-				if serverErr != nil {
+				if serverErr == nil {
 					dur := time.Since(start)
 					prom.OperationHybrid.Execution(l.ToOperation("primary")).Observe(float64(dur) / float64(time.Millisecond))
 				}
@@ -432,7 +432,7 @@ func (T *Pool) serveOnly(l prom.PoolHybridLabels, conn *fed.Conn, write bool) er
 			prom.OperationHybrid.Acquire(opL).Observe(float64(dur) / float64(time.Millisecond))
 			start := time.Now()
 			err, serverErr = bouncers.Bounce(conn, server.Conn, packet)
-			if serverErr != nil {
+			if serverErr == nil {
 				dur := time.Since(start)
 				prom.OperationHybrid.Execution(opL).Observe(float64(dur) / float64(time.Millisecond))
 			}
-- 
GitLab