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
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
Click to show internal directories.
Click to hide internal directories.