From bbda49f696ea73a229a75f23e024037dab94dfed Mon Sep 17 00:00:00 2001
From: Garet Halliday <me@garet.holiday>
Date: Sat, 16 Sep 2023 00:41:44 -0500
Subject: [PATCH] log stats

---
 lib/gat/pool/pools/transaction/apply.go  |  2 +-
 lib/gat/pool/pools/transaction/pooler.go |  6 ++++++
 lib/rob/schedulers/v2/scheduler.go       | 21 +++++++++++++++++++--
 3 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/lib/gat/pool/pools/transaction/apply.go b/lib/gat/pool/pools/transaction/apply.go
index 637585b0..47bfebf9 100644
--- a/lib/gat/pool/pools/transaction/apply.go
+++ b/lib/gat/pool/pools/transaction/apply.go
@@ -3,7 +3,7 @@ package transaction
 import "pggat/lib/gat/pool"
 
 func Apply(options pool.Options) pool.Options {
-	options.Pooler = new(Pooler)
+	options.Pooler = NewPooler()
 	options.ParameterStatusSync = pool.ParameterStatusSyncDynamic
 	options.ExtendedQuerySync = true
 	options.ReleaseAfterTransaction = true
diff --git a/lib/gat/pool/pools/transaction/pooler.go b/lib/gat/pool/pools/transaction/pooler.go
index c5c0f1ae..432687cc 100644
--- a/lib/gat/pool/pools/transaction/pooler.go
+++ b/lib/gat/pool/pools/transaction/pooler.go
@@ -12,6 +12,12 @@ type Pooler struct {
 	s schedulers.Scheduler
 }
 
+func NewPooler() *Pooler {
+	p := new(Pooler)
+	schedulers.Test(&p.s)
+	return p
+}
+
 func (T *Pooler) NewClient() uuid.UUID {
 	return T.s.NewUser()
 }
diff --git a/lib/rob/schedulers/v2/scheduler.go b/lib/rob/schedulers/v2/scheduler.go
index 08ca6d74..c49b3fdd 100644
--- a/lib/rob/schedulers/v2/scheduler.go
+++ b/lib/rob/schedulers/v2/scheduler.go
@@ -1,9 +1,10 @@
 package schedulers
 
 import (
-	"sync"
-
 	"github.com/google/uuid"
+	"sync"
+	"time"
+	"tuxpa.in/a/zlog/log"
 
 	"pggat/lib/rob"
 	"pggat/lib/rob/schedulers/v2/job"
@@ -25,6 +26,22 @@ type Scheduler struct {
 	mu      sync.RWMutex
 }
 
+func Test(s *Scheduler) {
+	go func() {
+		for {
+			time.Sleep(1 * time.Second)
+			func() {
+				s.mu.RLock()
+				defer s.mu.RUnlock()
+
+				s.bmu.Lock()
+				defer s.bmu.Unlock()
+				log.Printf("%d sinks | %d backlogged jobs", len(s.sinks), len(s.backlog))
+			}()
+		}
+	}()
+}
+
 func (T *Scheduler) NewWorker() uuid.UUID {
 	worker := uuid.New()
 
-- 
GitLab