From d95083b8a49ceced2492a5e5c04a5eaa0cc2c109 Mon Sep 17 00:00:00 2001
From: Tom Guinther <tguinther@gfxlabs.io>
Date: Fri, 26 Jul 2024 11:52:07 -0400
Subject: [PATCH] add my packet tracing middleware to pooled connections

---
 lib/gat/handlers/pool/pools/basic/pool.go  | 5 +++++
 lib/gat/handlers/pool/pools/hybrid/pool.go | 3 +++
 lib/gat/handlers/pool/spool/pool.go        | 5 +++++
 3 files changed, 13 insertions(+)

diff --git a/lib/gat/handlers/pool/pools/basic/pool.go b/lib/gat/handlers/pool/pools/basic/pool.go
index bfbb6c10..978cf8e5 100644
--- a/lib/gat/handlers/pool/pools/basic/pool.go
+++ b/lib/gat/handlers/pool/pools/basic/pool.go
@@ -2,6 +2,7 @@ package basic
 
 import (
 	"fmt"
+	"gfx.cafe/gfx/pggat/lib/fed/middlewares/tracing"
 	"sync"
 
 	"github.com/google/uuid"
@@ -156,6 +157,10 @@ func (T *Pool) removeClient(client *Client) {
 }
 
 func (T *Pool) Serve(conn *fed.Conn) error {
+	conn.Middleware = append(
+		conn.Middleware,
+		tracing.NewPgTrace(conn.Ctx))
+
 	if T.config.ParameterStatusSync == ParameterStatusSyncDynamic {
 		conn.Middleware = append(
 			conn.Middleware,
diff --git a/lib/gat/handlers/pool/pools/hybrid/pool.go b/lib/gat/handlers/pool/pools/hybrid/pool.go
index 6bf3aaf1..072ba12b 100644
--- a/lib/gat/handlers/pool/pools/hybrid/pool.go
+++ b/lib/gat/handlers/pool/pools/hybrid/pool.go
@@ -2,6 +2,7 @@ package hybrid
 
 import (
 	"fmt"
+	"gfx.cafe/gfx/pggat/lib/fed/middlewares/tracing"
 	"sync"
 
 	"github.com/google/uuid"
@@ -122,6 +123,7 @@ func (T *Pool) serveRW(conn *fed.Conn) error {
 
 	conn.Middleware = append(
 		conn.Middleware,
+		tracing.NewPgTrace(conn.Ctx),
 		unterminate.Unterminate,
 		psa,
 		eqpa,
@@ -319,6 +321,7 @@ func (T *Pool) serveOnly(conn *fed.Conn, write bool) error {
 
 	conn.Middleware = append(
 		conn.Middleware,
+		tracing.NewPgTrace(conn.Ctx),
 		unterminate.Unterminate,
 		ps.NewClient(conn.InitialParameters),
 		eqp.NewClient(),
diff --git a/lib/gat/handlers/pool/spool/pool.go b/lib/gat/handlers/pool/spool/pool.go
index 7589ae16..9498a695 100644
--- a/lib/gat/handlers/pool/spool/pool.go
+++ b/lib/gat/handlers/pool/spool/pool.go
@@ -1,6 +1,7 @@
 package spool
 
 import (
+	"gfx.cafe/gfx/pggat/lib/fed/middlewares/tracing"
 	"sync"
 	"time"
 
@@ -53,6 +54,10 @@ func NewPool(config Config) *Pool {
 }
 
 func (T *Pool) addServer(conn *fed.Conn) {
+	conn.Middleware = append(
+		conn.Middleware,
+		tracing.NewPgTrace(conn.Ctx))
+
 	if T.config.UsePS {
 		conn.Middleware = append(
 			conn.Middleware,
-- 
GitLab