diff --git a/lib/gat/pool/pools/transaction/apply.go b/lib/gat/pool/pools/transaction/apply.go
index 637585b0cce814b50b61dcb30e32520921e4032c..47bfebf9b13700e1caac443bae92ae2556ebd0bd 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 c5c0f1aefbfce8c9af3e80978771717c60007c44..432687ccda09d88767e7a1614600d4fd36265917 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 08ca6d741e6cd5fd6f737e0541447c46ee2a2212..c49b3fddfdeb063d2aead2e42df1f0b6b4809280 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()