clockeventsstate

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Dec 3, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package clockeventsstate provides the persistent storage layer for the nvidia query results.

Index

Constants

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

	// either "nvml" or "dmesg"
	ColumnDataSource = "data_source"

	// either "xid" or "sxid"
	ColumnEventType = "event_type"

	// gpu uuid
	ColumnGPUUUID = "gpu_uuid"

	// reasons for clock events
	ColumnReasons = "reasons"
)
View Source
const DefaultRetentionPeriod = 3 * time.Hour
View Source
const TableNameClockEvents = "components_accelerator_nvidia_query_clock_events"

Variables

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

Functions

func CreateTable

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

func FindEvent

func FindEvent(ctx context.Context, db *sql.DB, event Event) (bool, 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
	DataSource  string
	EventType   string
	GPUUUID     string
	Reasons     []string
}

func ReadEvents

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

Returns nil if no event is found.

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