regulator

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: May 10, 2024 License: Apache-2.0 Imports: 4 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CPURegulator

type CPURegulator struct {
	types.ResourceEssentials
	// contains filtered or unexported fields
}

CPURegulator gets raw cpu requirement data from policy and generates real cpu requirement for a certain region with fine-grained strategies to be robust

func (*CPURegulator) GetRequirement added in v0.4.0

func (c *CPURegulator) GetRequirement() int

GetRequirement returns the latest regulated cpu requirement

func (*CPURegulator) Regulate

func (c *CPURegulator) Regulate(cpuRequirement float64)

Regulate runs an episode of cpu regulation to restrict raw cpu requirement and store the result as the latest cpu requirement value

func (*CPURegulator) SetEssentials

func (c *CPURegulator) SetEssentials(essentials types.ResourceEssentials)

SetEssentials updates some essential parameters to restrict cpu requirement

func (*CPURegulator) SetLatestRequirement added in v0.4.0

func (c *CPURegulator) SetLatestRequirement(latestCPURequirement int)

SetLatestRequirement overwrites the latest regulated cpu requirement

type DummyRegulator added in v0.4.0

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

DummyRegulator always get requirement without regulate

func (*DummyRegulator) GetRequirement added in v0.4.0

func (d *DummyRegulator) GetRequirement() int

func (*DummyRegulator) Regulate added in v0.4.0

func (d *DummyRegulator) Regulate(requirement float64)

func (*DummyRegulator) SetEssentials added in v0.4.0

func (d *DummyRegulator) SetEssentials(_ types.ResourceEssentials)

func (*DummyRegulator) SetLatestRequirement added in v0.4.0

func (d *DummyRegulator) SetLatestRequirement(latestRequirement int)

type Regulator added in v0.4.0

type Regulator interface {
	// SetEssentials updates some essential parameters to restrict requirement
	SetEssentials(essentials types.ResourceEssentials)

	// SetLatestRequirement overwrites the latest regulated requirement
	SetLatestRequirement(latestRequirement int)

	// Regulate runs an episode of regulation to restrict raw requirement and store the result
	// as the latest requirement value
	Regulate(requirement float64)

	// GetRequirement returns the latest regulated requirement
	GetRequirement() int
}

Regulator gets raw requirement data from policy and generates real requirement for a certain region with fine-grained strategies to be robust

func NewCPURegulator

func NewCPURegulator() Regulator

NewCPURegulator returns a cpu regulator instance with immutable parameters

func NewDummyRegulator added in v0.4.0

func NewDummyRegulator() Regulator

Jump to

Keyboard shortcuts

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