scalefactor

package
v0.0.0-...-76698d7 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2022 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultDesiredValue = "50"
	DefaultCooldown     = "30s"
	DefaultMinScope     = 20
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Checker

type Checker interface {
	CheckAndSetDefault(*autoscalev1alpha1.RecommendationScaleFactor) error
}

type ModelResult

type ModelResult struct {
	Value        float64
	ErrorMessage error
}

type RecommendationScaleFactorChecker

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

func (*RecommendationScaleFactorChecker) CheckAndSetDefault

type Recommender

type Recommender interface {
	RunOnce()
	GetRecommendedResourceValue()
	Update()
	Checkpoints()
}

type ScaleAlgorithm

type ScaleAlgorithm interface {
	PredictNextStage(metricValue metric.HistoryMetric, stageTime time.Duration) ModelResult
}

type SimpleRecommender

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

func NewSimpleRecommender

func NewSimpleRecommender() (*SimpleRecommender, error)

func (*SimpleRecommender) EvaluateScaleRate

func (r *SimpleRecommender) EvaluateScaleRate(ctx context.Context, scaleFactor *autoscalev1alpha1.RecommendationScaleFactor, result ModelResult) (scaleRate float64, err error)

get rate of scale

func (*SimpleRecommender) GetRecommendResourceValue

func (r *SimpleRecommender) GetRecommendResourceValue(ctx context.Context, scaleFactor autoscalev1alpha1.RecommendationScaleFactor) (queryResult metric.HistoryMetric, err error)

func (*SimpleRecommender) GetRecommendedResult

func (r *SimpleRecommender) GetRecommendedResult(ctx context.Context, queryResult metric.HistoryMetric) (result ModelResult)

get the recommended resource value

func (*SimpleRecommender) RegisterAlgorithm

func (r *SimpleRecommender) RegisterAlgorithm(algorithm ScaleAlgorithm)

func (*SimpleRecommender) RegisterCollector

func (r *SimpleRecommender) RegisterCollector(collector history.HistoryProvider)

func (*SimpleRecommender) RunOnce

func (r *SimpleRecommender) RunOnce(ctx context.Context)

run once

func (*SimpleRecommender) Update

update the recommended value

func (*SimpleRecommender) UpdateRecommendationScaleFactorStatus

func (r *SimpleRecommender) UpdateRecommendationScaleFactorStatus(ctx context.Context, scaleFactor autoscalev1alpha1.RecommendationScaleFactor)

update the recommendscalefactors status

type SimpleScaleModel

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

recommend model and algorithm

func NewSimpleScaleModel

func NewSimpleScaleModel() *SimpleScaleModel

func (*SimpleScaleModel) PredictNextStage

func (m *SimpleScaleModel) PredictNextStage(metricValue metric.HistoryMetric, stageTime time.Duration) (result ModelResult)

the function predict next stage value use Periodic laws

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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