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 ¶ added in v1.7.12
type MockTargeter ¶ added in v1.7.11
type MockTargeter struct {
// contains filtered or unexported fields
}
MockTargeter is a mock of Targeter interface.
func NewMockTargeter ¶ added in v1.7.11
func NewMockTargeter(ctrl *gomock.Controller) *MockTargeter
NewMockTargeter creates a new mock instance.
func (*MockTargeter) EXPECT ¶ added in v1.7.11
func (m *MockTargeter) EXPECT() *MockTargeterMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockTargeter) TargetUsage ¶ added in v1.7.11
func (m *MockTargeter) TargetUsage(arg0 ids.NodeID) float64
TargetUsage mocks base method.
type MockTargeterMockRecorder ¶ added in v1.7.11
type MockTargeterMockRecorder struct {
// contains filtered or unexported fields
}
MockTargeterMockRecorder is the mock recorder for MockTargeter.
func (*MockTargeterMockRecorder) TargetUsage ¶ added in v1.7.11
func (mr *MockTargeterMockRecorder) TargetUsage(arg0 any) *gomock.Call
TargetUsage indicates an expected call of TargetUsage.
type MockTracker ¶ added in v1.7.11
type MockTracker struct {
// contains filtered or unexported fields
}
MockTracker is a mock of Tracker interface.
func NewMockTracker ¶ added in v1.7.11
func NewMockTracker(ctrl *gomock.Controller) *MockTracker
NewMockTracker creates a new mock instance.
func (*MockTracker) EXPECT ¶ added in v1.7.11
func (m *MockTracker) EXPECT() *MockTrackerMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockTracker) TimeUntilUsage ¶ added in v1.7.11
TimeUntilUsage mocks base method.
func (*MockTracker) TotalUsage ¶ added in v1.7.11
func (m *MockTracker) TotalUsage() float64
TotalUsage mocks base method.
type MockTrackerMockRecorder ¶ added in v1.7.11
type MockTrackerMockRecorder struct {
// contains filtered or unexported fields
}
MockTrackerMockRecorder is the mock recorder for MockTracker.
func (*MockTrackerMockRecorder) TimeUntilUsage ¶ added in v1.7.11
func (mr *MockTrackerMockRecorder) TimeUntilUsage(arg0, arg1, arg2 any) *gomock.Call
TimeUntilUsage indicates an expected call of TimeUntilUsage.
func (*MockTrackerMockRecorder) TotalUsage ¶ added in v1.7.11
func (mr *MockTrackerMockRecorder) TotalUsage() *gomock.Call
TotalUsage indicates an expected call of TotalUsage.
type ResourceTracker ¶ added in v1.7.11
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 ¶ added in v1.7.11
func NewResourceTracker( reg prometheus.Registerer, resources resource.User, factory meter.Factory, halflife time.Duration, ) (ResourceTracker, error)
type Targeter ¶ added in v1.7.11
type Targeter interface {
// Returns the target usage of the given node.
TargetUsage(nodeID ids.NodeID) float64
}
func NewTargeter ¶ added in v1.7.11
func NewTargeter( logger logging.Logger, config *TargeterConfig, vdrs validators.Manager, tracker Tracker, ) Targeter
type TargeterConfig ¶ added in v1.7.11
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 ¶ added in v1.7.11
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
}