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