logic

package
v0.0.0-...-e87aea4 Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2019 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PodResourceRecommender

type PodResourceRecommender interface {
	GetRecommendedPodResources(containerNameToAggregateStateMap model.ContainerNameToAggregateStateMap) RecommendedPodResources
}

PodResourceRecommender computes resource recommendation for a Vpa object.

func CreatePodResourceRecommender

func CreatePodResourceRecommender() PodResourceRecommender

CreatePodResourceRecommender returns the primary recommender.

type RecommendedContainerResources

type RecommendedContainerResources struct {
	// Recommended optimal amount of resources.
	Target model.Resources
	// Recommended minimum amount of resources.
	LowerBound model.Resources
	// Recommended maximum amount of resources.
	UpperBound model.Resources
}

RecommendedContainerResources is the recommendation of resources for a container.

type RecommendedPodResources

type RecommendedPodResources map[string]RecommendedContainerResources

RecommendedPodResources is a Map from container name to recommended resources.

type ResourceEstimator

type ResourceEstimator interface {
	GetResourceEstimation(s *model.AggregateContainerState) model.Resources
}

ResourceEstimator is a function from AggregateContainerState to model.Resources, e.g. a prediction of resources needed by a group of containers.

func NewConstEstimator

func NewConstEstimator(resources model.Resources) ResourceEstimator

NewConstEstimator returns a new constEstimator with given resources.

func NewPercentileEstimator

func NewPercentileEstimator(cpuPercentile float64, memoryPercentile float64) ResourceEstimator

NewPercentileEstimator returns a new percentileEstimator that uses provided percentiles.

func WithConfidenceMultiplier

func WithConfidenceMultiplier(multiplier, exponent float64, baseEstimator ResourceEstimator) ResourceEstimator

WithConfidenceMultiplier returns a given ResourceEstimator with confidenceMultiplier applied.

func WithMargin

func WithMargin(marginFraction float64, baseEstimator ResourceEstimator) ResourceEstimator

WithMargin returns a given ResourceEstimator with margin applied. The returned resources are equal to the original resources plus (originalResource * marginFraction)

func WithMinResources

func WithMinResources(minResources model.Resources, baseEstimator ResourceEstimator) ResourceEstimator

WithMinResources returns a given ResourceEstimator with minResources applied. The returned resources are equal to the max(original resources, minResources)

Jump to

Keyboard shortcuts

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