Versions in this module Expand all Collapse all v1 v1.0.6 Mar 2, 2021 v1.0.5 Mar 2, 2021 Changes in this version + const CaseRecentDuration + func SetLog(w io.Writer) + func Timer() func() (start, end time.Time, duration time.Duration) + type Counter struct + func NewCounter() *Counter + func (c *Counter) Dec() int64 + func (c *Counter) Get() int64 + func (c *Counter) GetMax() int64 + func (c *Counter) Inc() int64 + type DynamicPoolMonitor struct + func NewDynamicPoolMonitor(o *Options) *DynamicPoolMonitor + func (m *DynamicPoolMonitor) Construct() GoroutineUID + func (m *DynamicPoolMonitor) Destroy(gid GoroutineUID) + func (m *DynamicPoolMonitor) GetCurrentActiveCount() int + func (m *DynamicPoolMonitor) GetGoroutineCount() int + func (m *DynamicPoolMonitor) GetGoroutinePeak() int + func (m *DynamicPoolMonitor) GetStatusSettle() map[GoroutineStatus]time.Duration + func (m *DynamicPoolMonitor) SwitchGoRoutineStatus(gid GoroutineUID) + func (m *DynamicPoolMonitor) TryConstruct(want bool) (GoroutineUID, bool) + func (m *DynamicPoolMonitor) TryDestroy(gid GoroutineUID) bool + type Generator struct + func NewGenerator() *Generator + func (i *Generator) Collect(gid GoroutineUID) + func (i *Generator) Generate() GoroutineUID + type GoroutinePool struct + func NewGoroutinePool(options *Options) *GoroutinePool + func (g *GoroutinePool) GetCurrentActiveCount() int + func (g *GoroutinePool) GetGoroutineCount() int + func (g *GoroutinePool) GetGoroutinePeak() int + func (g *GoroutinePool) GetStatusSettle() map[GoroutineStatus]time.Duration + func (g *GoroutinePool) GetWorkCount() int + func (g *GoroutinePool) Put(obj TaskObj) + func (g *GoroutinePool) Stop() + type GoroutineSettle struct + func NewGoroutineSettle(d time.Duration) *GoroutineSettle + func (g *GoroutineSettle) AutoSwitchGoRoutineStatus() GoroutineStatus + func (g *GoroutineSettle) GetRecentActiveRatio() float64 + func (g *GoroutineSettle) GetRecentStatusSettle() map[GoroutineStatus]time.Duration + func (g *GoroutineSettle) GetStatus() GoroutineStatus + func (g *GoroutineSettle) GetStatusSettle() map[GoroutineStatus]time.Duration + func (g *GoroutineSettle) GetSurvivalDuration() time.Duration + type GoroutineSettleMap struct + func NewGoroutineSettleMap() *GoroutineSettleMap + func (m *GoroutineSettleMap) AutoSwitchGoRoutineStatus(gid GoroutineUID) GoroutineStatus + func (m *GoroutineSettleMap) DeleteGoroutineSettle(gid GoroutineUID) + func (m *GoroutineSettleMap) GetActiveGoroutineCount() int + func (m *GoroutineSettleMap) GetAllGoroutineStatusDuration() map[GoroutineStatus]time.Duration + func (m *GoroutineSettleMap) GetAllGoroutineUID() []GoroutineUID + func (m *GoroutineSettleMap) GetCurrentStatus(gid GoroutineUID) GoroutineStatus + func (m *GoroutineSettleMap) GetRecentActiveRatio(gid GoroutineUID) float64 + func (m *GoroutineSettleMap) GetRecentStatusSettle(gid GoroutineUID) map[GoroutineStatus]time.Duration + func (m *GoroutineSettleMap) GetStatusSettle(gid GoroutineUID) map[GoroutineStatus]time.Duration + func (m *GoroutineSettleMap) GetSurvivalDuration(gid GoroutineUID) time.Duration + func (m *GoroutineSettleMap) NewGoroutineSettle(gid GoroutineUID, gs *GoroutineSettle) GoroutineUID + type GoroutineStatus int + const GoroutineStatusActive + const GoroutineStatusNone + const GoroutineStatusSleep + func SwitchStatus(p GoroutineStatus) (s GoroutineStatus) + func (s GoroutineStatus) IsValid() bool + func (s GoroutineStatus) ToString() string + type GoroutineUID int + type IGenerator interface + Collect func(gid GoroutineUID) + Generate func() GoroutineUID + type Latency struct + func NewLatency(status GoroutineStatus) *Latency + func (l *Latency) AmountDurationOfNow() *Latency + func (l *Latency) AmountDurationOfTime(t time.Time) *Latency + func (l *Latency) Clone() *Latency + func (l *Latency) IsStart() bool + func (l *Latency) Start() + func (l *Latency) Stop() + type LatencyMap struct + func NewLatencyMap() *LatencyMap + func (g *LatencyMap) Clone() *LatencyMap + func (g *LatencyMap) GetAll() map[GoroutineStatus]time.Duration + func (g *LatencyMap) IsStart(status GoroutineStatus) bool + func (g *LatencyMap) Set(status GoroutineStatus, l *Latency) + func (g *LatencyMap) Start(status GoroutineStatus) + func (g *LatencyMap) Stop(status GoroutineStatus) + type Options struct + AutoMonitorDuration time.Duration + CloseLessThanF float64 + GoroutineLimit int + NewGreaterThanF float64 + TaskChannelSize int + func NewDefaultOptions() *Options + func (o *Options) Clone() *Options + type RecentRecord struct + func NewRecentRecord(d time.Duration) *RecentRecord + func (l *RecentRecord) AddSwitchRecord(preStatus, status GoroutineStatus) + func (l *RecentRecord) Clone() *RecentRecord + func (l *RecentRecord) GetRecentSettle() map[GoroutineStatus]time.Duration + type StatusSettle struct + func NewStatusSettle(status GoroutineStatus, duration time.Duration) *StatusSettle + func (s *StatusSettle) AddDuration(duration time.Duration) + func (s *StatusSettle) GetDuration() time.Duration + type StatusSettleMap struct + func NewStatusSettleMap() *StatusSettleMap + func (m *StatusSettleMap) AddMultiStatusDuration(multiStatusDuration map[GoroutineStatus]time.Duration) + func (m *StatusSettleMap) AddStatusDuration(status GoroutineStatus, duration time.Duration) + func (m *StatusSettleMap) GetAllStatusDuration() map[GoroutineStatus]time.Duration + func (m *StatusSettleMap) GetOrCreate(status GoroutineStatus, duration time.Duration) *StatusSettle + type StatusSwitch struct + PreStatus GoroutineStatus + Status GoroutineStatus + Time time.Time + func NewStatusSwitch(preStatus, status GoroutineStatus) *StatusSwitch + func (s *StatusSwitch) Clone() *StatusSwitch + func (s *StatusSwitch) Equal(t time.Time) bool + func (s *StatusSwitch) Gte(t time.Time) bool + func (s *StatusSwitch) Lt(t time.Time) bool + type TaskObj func(gid GoroutineUID)