state

package
v0.3.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 8, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// unix timestamp in seconds when the event was observed
	ColumnUnixSeconds = "unix_seconds"

	ColumnDeviceName                           = "device_name"
	ColumnCongestedPercentAgainstThreshold     = "congested_percent_against_threshold"
	ColumnMaxBackgroundPercentAgainstThreshold = "max_background_percent_against_threshold"
)
View Source
const DefaultRetentionPeriod = 3 * time.Hour
View Source
const TableNameFUSEConnectionsEventHistory = "components_fuse_connections_event_history"

Variables

View Source
var ErrInvalidLimit = errors.New("limit must be greater than or equal to 0")

Functions

func CreateTableFUSEConnectionsEventHistory

func CreateTableFUSEConnectionsEventHistory(ctx context.Context, db *sql.DB) error

func InsertEvent

func InsertEvent(ctx context.Context, db *sql.DB, event Event) error

func Purge

func Purge(ctx context.Context, db *sql.DB, opts ...OpOption) (int, error)

Types

type Event

type Event struct {
	UnixSeconds                          int64   `json:"unix_seconds"`
	DeviceName                           string  `json:"device_name"`
	CongestedPercentAgainstThreshold     float64 `json:"congested_percent_against_threshold"`
	MaxBackgroundPercentAgainstThreshold float64 `json:"max_background_percent_against_threshold"`
}

func FindEvent

func FindEvent(ctx context.Context, db *sql.DB, unixSeconds int64, devName string) (*Event, error)

func ReadEvents

func ReadEvents(ctx context.Context, db *sql.DB, opts ...OpOption) ([]Event, error)

Returns nil if no event is found.

func (Event) JSON

func (ev Event) JSON() ([]byte, error)

type Op

type Op struct {
	// contains filtered or unexported fields
}

type OpOption

type OpOption func(*Op)

func WithBefore

func WithBefore(t time.Time) OpOption

WithBefore sets the before timestamp for the delete queries. If not specified, it deletes all events.

func WithLimit

func WithLimit(limit int) OpOption

func WithSince

func WithSince(t time.Time) OpOption

WithSince sets the since timestamp for the select queries. If not specified, it returns all events.

func WithSortUnixSecondsAscendingOrder

func WithSortUnixSecondsAscendingOrder() OpOption

WithSortUnixSecondsAscendingOrder sorts the events by unix_seconds in ascending order, meaning its read query returns the oldest events first.

func WithSortUnixSecondsDescendingOrder

func WithSortUnixSecondsDescendingOrder() OpOption

WithSortUnixSecondsDescendingOrder sorts the events by unix_seconds in descending order, meaning its read query returns the newest events first.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL