mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-11-30 15:42:46 +00:00
85 lines
2.3 KiB
Go
85 lines
2.3 KiB
Go
|
package pgxpool
|
||
|
|
||
|
import (
|
||
|
"time"
|
||
|
|
||
|
"github.com/jackc/puddle/v2"
|
||
|
)
|
||
|
|
||
|
// Stat is a snapshot of Pool statistics.
|
||
|
type Stat struct {
|
||
|
s *puddle.Stat
|
||
|
newConnsCount int64
|
||
|
lifetimeDestroyCount int64
|
||
|
idleDestroyCount int64
|
||
|
}
|
||
|
|
||
|
// AcquireCount returns the cumulative count of successful acquires from the pool.
|
||
|
func (s *Stat) AcquireCount() int64 {
|
||
|
return s.s.AcquireCount()
|
||
|
}
|
||
|
|
||
|
// AcquireDuration returns the total duration of all successful acquires from
|
||
|
// the pool.
|
||
|
func (s *Stat) AcquireDuration() time.Duration {
|
||
|
return s.s.AcquireDuration()
|
||
|
}
|
||
|
|
||
|
// AcquiredConns returns the number of currently acquired connections in the pool.
|
||
|
func (s *Stat) AcquiredConns() int32 {
|
||
|
return s.s.AcquiredResources()
|
||
|
}
|
||
|
|
||
|
// CanceledAcquireCount returns the cumulative count of acquires from the pool
|
||
|
// that were canceled by a context.
|
||
|
func (s *Stat) CanceledAcquireCount() int64 {
|
||
|
return s.s.CanceledAcquireCount()
|
||
|
}
|
||
|
|
||
|
// ConstructingConns returns the number of conns with construction in progress in
|
||
|
// the pool.
|
||
|
func (s *Stat) ConstructingConns() int32 {
|
||
|
return s.s.ConstructingResources()
|
||
|
}
|
||
|
|
||
|
// EmptyAcquireCount returns the cumulative count of successful acquires from the pool
|
||
|
// that waited for a resource to be released or constructed because the pool was
|
||
|
// empty.
|
||
|
func (s *Stat) EmptyAcquireCount() int64 {
|
||
|
return s.s.EmptyAcquireCount()
|
||
|
}
|
||
|
|
||
|
// IdleConns returns the number of currently idle conns in the pool.
|
||
|
func (s *Stat) IdleConns() int32 {
|
||
|
return s.s.IdleResources()
|
||
|
}
|
||
|
|
||
|
// MaxConns returns the maximum size of the pool.
|
||
|
func (s *Stat) MaxConns() int32 {
|
||
|
return s.s.MaxResources()
|
||
|
}
|
||
|
|
||
|
// TotalConns returns the total number of resources currently in the pool.
|
||
|
// The value is the sum of ConstructingConns, AcquiredConns, and
|
||
|
// IdleConns.
|
||
|
func (s *Stat) TotalConns() int32 {
|
||
|
return s.s.TotalResources()
|
||
|
}
|
||
|
|
||
|
// NewConnsCount returns the cumulative count of new connections opened.
|
||
|
func (s *Stat) NewConnsCount() int64 {
|
||
|
return s.newConnsCount
|
||
|
}
|
||
|
|
||
|
// MaxLifetimeDestroyCount returns the cumulative count of connections destroyed
|
||
|
// because they exceeded MaxConnLifetime.
|
||
|
func (s *Stat) MaxLifetimeDestroyCount() int64 {
|
||
|
return s.lifetimeDestroyCount
|
||
|
}
|
||
|
|
||
|
// MaxIdleDestroyCount returns the cumulative count of connections destroyed because
|
||
|
// they exceeded MaxConnIdleTime.
|
||
|
func (s *Stat) MaxIdleDestroyCount() int64 {
|
||
|
return s.idleDestroyCount
|
||
|
}
|