Help us shape the future of Go! Take the 2026 Go Developer Survey

tracker

package
v1.20.0 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2025 License: BSD-3-Clause Imports: 15 Imported by: 0

Documentation

Overview

Package tracker is a generated GoMock package.

Package tracker is a generated GoMock package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DiskTracker

type DiskTracker interface {
	Tracker
	AvailableDiskBytes() uint64
}

type MockTargeter

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

MockTargeter is a mock of Targeter interface.

func NewMockTargeter

func NewMockTargeter(ctrl *gomock.Controller) *MockTargeter

NewMockTargeter creates a new mock instance.

func (*MockTargeter) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockTargeter) TargetUsage

func (m *MockTargeter) TargetUsage(arg0 ids.NodeID) float64

TargetUsage mocks base method.

type MockTargeterMockRecorder

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

MockTargeterMockRecorder is the mock recorder for MockTargeter.

func (*MockTargeterMockRecorder) TargetUsage

func (mr *MockTargeterMockRecorder) TargetUsage(arg0 any) *gomock.Call

TargetUsage indicates an expected call of TargetUsage.

type MockTracker

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

MockTracker is a mock of Tracker interface.

func NewMockTracker

func NewMockTracker(ctrl *gomock.Controller) *MockTracker

NewMockTracker creates a new mock instance.

func (*MockTracker) EXPECT

func (m *MockTracker) EXPECT() *MockTrackerMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockTracker) TimeUntilUsage

func (m *MockTracker) TimeUntilUsage(arg0 ids.NodeID, arg1 time.Time, arg2 float64) time.Duration

TimeUntilUsage mocks base method.

func (*MockTracker) TotalUsage

func (m *MockTracker) TotalUsage() float64

TotalUsage mocks base method.

func (*MockTracker) Usage

func (m *MockTracker) Usage(arg0 ids.NodeID, arg1 time.Time) float64

Usage mocks base method.

type MockTrackerMockRecorder

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

MockTrackerMockRecorder is the mock recorder for MockTracker.

func (*MockTrackerMockRecorder) TimeUntilUsage

func (mr *MockTrackerMockRecorder) TimeUntilUsage(arg0, arg1, arg2 any) *gomock.Call

TimeUntilUsage indicates an expected call of TimeUntilUsage.

func (*MockTrackerMockRecorder) TotalUsage

func (mr *MockTrackerMockRecorder) TotalUsage() *gomock.Call

TotalUsage indicates an expected call of TotalUsage.

func (*MockTrackerMockRecorder) Usage

func (mr *MockTrackerMockRecorder) Usage(arg0, arg1 any) *gomock.Call

Usage indicates an expected call of Usage.

type ResourceTracker

type ResourceTracker interface {
	CPUTracker() Tracker
	DiskTracker() DiskTracker
	// Registers that the given node started processing at the given time.
	StartProcessing(ids.NodeID, time.Time)
	// Registers that the given node stopped processing at the given time.
	StopProcessing(ids.NodeID, time.Time)
}

ResourceTracker is an interface for tracking peers' usage of resources

func NewResourceTracker

func NewResourceTracker(
	reg prometheus.Registerer,
	resources resource.User,
	factory meter.Factory,
	halflife time.Duration,
) (ResourceTracker, error)

type Targeter

type Targeter interface {
	// Returns the target usage of the given node.
	TargetUsage(nodeID ids.NodeID) float64
}

func NewTargeter

func NewTargeter(
	logger logging.Logger,
	config *TargeterConfig,
	vdrs validators.Manager,
	tracker Tracker,
) Targeter

type TargeterConfig

type TargeterConfig struct {
	// VdrAlloc is the amount of the resource to split over validators, weighted
	// by stake.
	VdrAlloc float64 `json:"vdrAlloc"`

	// MaxNonVdrUsage is the amount of the resource which, if utilized, will
	// result in allocations being based only on the stake weighted allocation.
	MaxNonVdrUsage float64 `json:"maxNonVdrUsage"`

	// MaxNonVdrNodeUsage is the amount of the resource to allocate to a node
	// before adding the stake weighted allocation.
	MaxNonVdrNodeUsage float64 `json:"maxNonVdrNodeUsage"`
}

type Tracker

type Tracker interface {
	// Returns the current usage for the given node.
	Usage(nodeID ids.NodeID, now time.Time) float64
	// Returns the current usage by all nodes.
	TotalUsage() float64
	// Returns the duration between [now] and when the usage of [nodeID] reaches
	// [value], assuming that the node uses no more resources.
	// If the node's usage isn't known, or is already <= [value], returns the
	// zero duration.
	TimeUntilUsage(nodeID ids.NodeID, now time.Time, value float64) time.Duration
}

Directories

Path Synopsis
Package trackermock is a generated GoMock package.
Package trackermock is a generated GoMock package.

Jump to

Keyboard shortcuts

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