Documentation ¶
Index ¶
Constants ¶
const ( ReasonIdle = "idle" ReasonPoolClosed = "poolClosed" ReasonStale = "stale" ReasonConnectionErrored = "connectionError" ReasonTimedOut = "timeout" )
strings for pool command monitoring reasons
const ( ConnectionClosed = "ConnectionClosed" PoolCreated = "ConnectionPoolCreated" ConnectionCreated = "ConnectionCreated" GetFailed = "ConnectionCheckOutFailed" GetSucceeded = "ConnectionCheckedOut" ConnectionReturned = "ConnectionCheckedIn" PoolCleared = "ConnectionPoolCleared" PoolClosedEvent = "ConnectionPoolClosed" )
strings for pool command monitoring types
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CommandFailedEvent ¶
type CommandFailedEvent struct { CommandFinishedEvent Failure string }
CommandFailedEvent represents an event generated when a command's execution fails.
type CommandFinishedEvent ¶
type CommandFinishedEvent struct { DurationNanos int64 CommandName string RequestID int64 ConnectionID string }
CommandFinishedEvent represents a generic command finishing.
type CommandMonitor ¶
type CommandMonitor struct { Started func(context.Context, *CommandStartedEvent) Succeeded func(context.Context, *CommandSucceededEvent) Failed func(context.Context, *CommandFailedEvent) }
CommandMonitor represents a monitor that is triggered for different events.
type CommandStartedEvent ¶
type CommandStartedEvent struct { Command bson.Raw DatabaseName string CommandName string RequestID int64 ConnectionID string }
CommandStartedEvent represents an event generated when a command is sent to a server.
type CommandSucceededEvent ¶
type CommandSucceededEvent struct { CommandFinishedEvent Reply bson.Raw }
CommandSucceededEvent represents an event generated when a command's execution succeeds.
type MonitorPoolOptions ¶
type MonitorPoolOptions struct { MaxPoolSize uint64 `json:"maxPoolSize"` MinPoolSize uint64 `json:"minPoolSize"` WaitQueueTimeoutMS uint64 `json:"maxIdleTimeMS"` }
MonitorPoolOptions contains pool options as formatted in pool events
type PoolEvent ¶
type PoolEvent struct { Type string `json:"type"` Address string `json:"address"` ConnectionID uint64 `json:"connectionId"` PoolOptions *MonitorPoolOptions `json:"options"` Reason string `json:"reason"` }
PoolEvent contains all information summarizing a pool event
type PoolMonitor ¶
type PoolMonitor struct {
Event func(*PoolEvent)
}
PoolMonitor is a function that allows the user to gain access to events occurring in the pool