headroompolicy

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2024 License: Apache-2.0 Imports: 21 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetRegisteredInitializers

func GetRegisteredInitializers() map[types.MemoryHeadroomPolicyName]InitFunc

func RegisterInitializer

func RegisterInitializer(name types.MemoryHeadroomPolicyName, initFunc InitFunc)

Types

type HeadroomPolicy

type HeadroomPolicy interface {
	Name() types.MemoryHeadroomPolicyName
	// SetPodSet overwrites policy's pod/container record
	SetPodSet(types.PodSet)

	// SetEssentials updates necessary region settings for policy update
	// Available resource value = total - reservedForAllocate
	// todo: subtract reserve pool size
	SetEssentials(essentials types.ResourceEssentials)

	// Update triggers an epoch of algorithm update
	Update() error

	// GetHeadroom returns the latest headroom estimation
	GetHeadroom() (resource.Quantity, error)
}

HeadroomPolicy generates resource headroom estimation based on configured algorithm

func NewPolicyCanonical

func NewPolicyCanonical(conf *config.Configuration, _ interface{}, metaReader metacache.MetaReader,
	metaServer *metaserver.MetaServer, _ metrics.MetricEmitter) HeadroomPolicy

func NewPolicyNUMAAware added in v0.4.0

func NewPolicyNUMAAware(conf *config.Configuration, _ interface{}, metaReader metacache.MetaReader,
	metaServer *metaserver.MetaServer, _ metrics.MetricEmitter) HeadroomPolicy

type InitFunc

type InitFunc func(conf *config.Configuration, extraConfig interface{}, metaReader metacache.MetaReader,
	metaServer *metaserver.MetaServer, emitter metrics.MetricEmitter) HeadroomPolicy

type PolicyBase

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

func NewPolicyBase

func NewPolicyBase(metaReader metacache.MetaReader, metaServer *metaserver.MetaServer) *PolicyBase

func (*PolicyBase) SetEssentials

func (p *PolicyBase) SetEssentials(essentials types.ResourceEssentials)

func (*PolicyBase) SetPodSet

func (p *PolicyBase) SetPodSet(podSet types.PodSet)

type PolicyCanonical

type PolicyCanonical struct {
	*PolicyBase
	// contains filtered or unexported fields
}

func (*PolicyCanonical) GetHeadroom

func (p *PolicyCanonical) GetHeadroom() (resource.Quantity, error)

func (*PolicyCanonical) Name added in v0.4.0

func (*PolicyCanonical) Update

func (p *PolicyCanonical) Update() (err error)

type PolicyNUMAAware added in v0.4.0

type PolicyNUMAAware struct {
	*PolicyBase
	// contains filtered or unexported fields
}

func (*PolicyNUMAAware) GetHeadroom added in v0.4.0

func (p *PolicyNUMAAware) GetHeadroom() (resource.Quantity, error)

func (*PolicyNUMAAware) Name added in v0.4.0

func (*PolicyNUMAAware) Update added in v0.4.0

func (p *PolicyNUMAAware) Update() (err error)

Jump to

Keyboard shortcuts

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