tracker

package
v1.14.2 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2025 License: BSD-3-Clause Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ResourceTracker

type ResourceTracker interface {
	Tracker

	// GetTracker returns a tracker for a specific resource type
	GetTracker(resourceType string) Tracker

	// CPUTracker returns the CPU resource tracker
	CPUTracker() Tracker

	// DiskTracker returns the disk resource tracker
	DiskTracker() Tracker
}

ResourceTracker tracks resources by type

func NewResourceTracker

func NewResourceTracker() ResourceTracker

NewResourceTracker creates a new resource tracker

type Targeter

type Targeter interface {
	// TargetUsage returns the target resource usage for a node
	TargetUsage(nodeID ids.NodeID) uint64
}

Targeter defines resource targets

func NewTargeter

func NewTargeter(targetUsage uint64) Targeter

NewTargeter creates a new targeter

type Tracker

type Tracker interface {
	// TotalUsage returns the total resource usage
	TotalUsage() uint64

	// Usage returns the resource usage for a specific node at a specific time
	Usage(nodeID ids.NodeID, at time.Time) uint64

	// Add adds resource usage
	Add(nodeID ids.NodeID, usage uint64)

	// Remove removes resource usage
	Remove(nodeID ids.NodeID, usage uint64)

	// Len returns the number of tracked nodes
	Len() int

	// TimeUntilUsage returns the time until the usage threshold is reached
	TimeUntilUsage(nodeID ids.NodeID, targetUsage uint64) time.Duration
}

Tracker tracks resource usage

func NewTracker

func NewTracker() Tracker

NewTracker creates a new tracker

Jump to

Keyboard shortcuts

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