mongo-drivergo.mongodb.org/mongo-driver/event Index | Files

package event

import "go.mongodb.org/mongo-driver/event"

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

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

Source Files

monitoring.go

Version
v1.4.1
Published
Sep 1, 2020
Platform
linux/amd64
Imports
2 packages
Last checked
1 minute ago

Tools for package owners.